Nội dung
Trong khi sử dụng Linux, chắc hẳn bạn đã từng gặp qua thông báo lỗi “Name or service not know” khi tiến hành ping hoặc kết nối tới địa chỉ nào đó. Vậy thì nguyên nhân của lỗi này là gì và cách khắc phục như thế nào, sẽ được AZDIGI giải đap trong bài viết này.
I. Nguyên nhân
Nguyên nhân dẫn đến lỗi này thường là do DNS trên máy chủ của bạn chưa được cấu hình hoặc là các máy chủ DNS được cấu hình đang gặp sự cố.
II. Cách xử lý lỗi: Name or service not know trên Linux
Để xử lý lỗi: Name or service not know trên Linux chúng ta thực hiện 2 bước sau.
Bước 1: SSH vào máy chủ của bạn
Để xử lý lỗi: Name or service not know trên Linux, đầu tiên chúng ta cần làm là SSH hoặc truy cập VPS hoặc máy chủ của bạn với quyền root trước. Nếu bạn chưa biết cách SSH vào VPS hoặc Server của bạn thì bạn có thể tham khảo bài viết hướng dẫn sau:
Sau khi đã SSH thành công chúng ta tiếp tục với bước 2 để bắt đầu quá trình xử lý lỗi: Name or service not know trên Linux.
Bước 2: Các lệnh xử lý lỗi: Name or service not know trên Linux
Cách xử lý cực kỳ đơn giản nhưng ở đây mình sẽ có nhiều phương án xử lý cho bạn lựa chọn:
Phương án 1: Chỉnh sang sử dụng DNS của nhà mạng
Trước khi chỉnh sang sử dụng DNS của nhà mạng chúng ta cần biết danh sách IP các máy chủ của nhà mạng trước. Dưới đây là danh sách toàn bộ máy chủ DNS của nhà mạng:
Nhà mạng | Server DNS 1 | Server DNS 2 |
DNS VNPT Hà Nội | 203.162.0.181 | 203.162.0.182 |
DNS VNPT HCM | 203.162.4.190 | 203.162.4.191 |
DNS FPT | 210.245.24.20 | 210.245.24.22 |
DNS Viettel | 203.113.131.1 | 203.113.131.2 |
Sau khi đã có được các danh sách IP nhà mạng thì bạn chỉ cần chạy lệnh sau để thêm các DNS này vào máy chủ:
sudo sh -c "echo nameserver DIA_CHI_IP_1 > /etc/resolv.conf" sudo sh -c "echo nameserver DIA_CHI_IP_2 >> /etc/resolv.conf"
Ví dụ mình làm với DNS của DNS Viettel thì lệnh sẽ như sau:
sudo sh -c "echo nameserver 203.113.131.1 > /etc/resolv.conf" sudo sh -c "echo nameserver 203.113.131.2 >> /etc/resolv.conf"
Phương án 2: Chỉnh sang sử dụng DNS của Google
Tương tự để chỉnh sang sử dụng DNS của Google chúng ta sử dụng các lệnh sau:
sudo sh -c "echo nameserver 8.8.8.8 > /etc/resolv.conf" sudo sh -c "echo nameserver 8.8.4.4 >> /etc/resolv.conf"
Phương án 3: Chỉnh sang sử dụng DNS của OpenDNS
Tương tự để chỉnh sang sử dụng DNS của OpenDNS chúng ta sử dụng các lệnh sau:
sudo sh -c "echo nameserver 208.67.222.222 > /etc/resolv.conf" sudo sh -c "echo nameserver 208.67.220.220 >> /etc/resolv.conf"
Phương án 4: Chỉnh sang sử dụng DNS của Cloudflare (Nên sử dụng)
Tương tự để chỉnh sang sử dụng DNS của Cloudflare chúng ta sử dụng lệnh sau:
sudo sh -c "echo nameserver 1.1.1.1 > /etc/resolv.conf"
Trong cả 4 phương án này thì mình khuyên sử dụng phương án 4 vì mình đánh giá máy chủ DNS của Cloudflare hoạt động tốt nhất và cập nhật nhanh nhất.
Chúng ta thử lại lệnh ping sẽ thấy mọi thứ đã hoạt động bình thường.
III. Tổng kết
Qua bài này bạn đã nắm được cách xử lý lỗi “Name or service not know” bằng cách chỉnh DNS trên máy chủ Linux của bạn. Và cách thay đổi nhanh chóng máy chủ DNS phù hợp nếu bạn muốn. Hy vọng bài viết hữu ích với các bạn.
Chúc các bạn thực hiện thành công