Hướng dẫn kiểm tra DNS trên VPS Linux

Hướng dẫn kiểm tra DNS trên VPS Linux

Kiểm tra DNS trên VPS Linux là thao tác cần thiết khi VPS gặp lỗi không truy cập được website, không phân giải được tên miền, không kết nối được ra ngoài hoặc các dịch vụ như website, mail, API hoạt động không ổn định.

DNS có nhiệm vụ phân giải tên miền thành địa chỉ IP. Nếu DNS trên VPS cấu hình sai hoặc máy chủ DNS phản hồi chậm, hệ thống có thể gặp lỗi khi truy cập tên miền, cập nhật package, gọi API bên ngoài hoặc gửi nhận mail. Vì vậy, việc kiểm tra DNS trên VPS Linux sẽ giúp bạn xác định nhanh nguyên nhân sự cố và có hướng xử lý phù hợp.

Khi nào cần kiểm tra DNS trên VPS Linux?

Bạn nên kiểm tra DNS trên VPS Linux trong các trường hợp sau:

  • VPS không truy cập được website bằng tên miền.
  • Lệnh ping, curl, wget bị lỗi khi dùng domain.
  • Website hoặc ứng dụng báo lỗi không phân giải được host.
  • Không thể update package bằng apt, yum hoặc dnf.
  • Dịch vụ mail, API hoặc webhook không kết nối được ra ngoài.

Kiểm tra file cấu hình DNS

Trước tiên, bạn cần kiểm tra VPS đang sử dụng DNS nào bằng cách xem file /etc/resolv.conf:

Zhost Tutorial
cat /etc/resolv.conf

Nếu file này có các dòng nameserver, nghĩa là VPS đang sử dụng các DNS server được khai báo trong file.

Ví dụ:

Zhost Tutorial
nameserver 1.1.1.1
nameserver 8.8.8.8

Trong đó, 1.1.1.1 là DNS của Cloudflare và 8.8.8.8 là DNS của Google. Đây là các DNS phổ biến thường được dùng để kiểm tra và xử lý lỗi phân giải tên miền.

Kiểm tra phân giải tên miền bằng nslookup

Lệnh nslookup giúp kiểm tra VPS có phân giải được tên miền sang địa chỉ IP hay không.

Zhost Tutorial
nslookup google.com

Nếu VPS phân giải DNS bình thường, kết quả sẽ trả về địa chỉ IP của tên miền. Nếu gặp lỗi timeout hoặc không có kết quả, có thể DNS trên VPS đang gặp vấn đề.

Bạn cũng có thể chỉ định DNS server để kiểm tra trực tiếp:

Zhost Tutorial
nslookup google.com 8.8.8.8

Nếu truy vấn qua DNS chỉ định hoạt động bình thường, nhưng truy vấn mặc định bị lỗi, khả năng cao cấu hình DNS mặc định trên VPS đang có vấn đề.

Kiểm tra phân giải tên miền bằng dig

Ngoài nslookup, bạn có thể dùng lệnh dig để kiểm tra DNS chi tiết hơn.

Zhost Tutorial
dig google.com

Nếu VPS chưa có lệnh dig, bạn có thể cài bằng gói dnsutils trên Ubuntu/Debian hoặc bind-utils trên CentOS/AlmaLinux/Rocky Linux.

Cài trên Ubuntu/Debian:

Zhost Tutorial
apt update
apt install dnsutils -y

Cài trên CentOS/AlmaLinux/Rocky Linux:

Zhost Tutorial
yum install bind-utils -y

Kiểm tra kết nối bằng tên miền

Sau khi kiểm tra DNS trên VPS Linux, bạn nên thử kết nối thực tế bằng tên miền để xác định VPS có truy cập ra ngoài bình thường hay không.

Zhost Tutorial
ping -c 4 google.com

Nếu ping bằng tên miền không được nhưng ping bằng IP vẫn được, lỗi thường nằm ở DNS. Bạn có thể thử ping trực tiếp IP như sau:

Zhost Tutorial
ping -c 4 8.8.8.8

Trường hợp VPS không ping được cả domain lẫn IP, cần kiểm tra thêm network, firewall, routing hoặc kết nối từ nhà cung cấp VPS.

Đổi DNS tạm thời trên VPS Linux

Nếu DNS hiện tại bị lỗi, bạn có thể đổi DNS tạm thời bằng cách chỉnh file /etc/resolv.conf:

Zhost Tutorial
nano /etc/resolv.conf

Thêm hoặc thay bằng các dòng sau:

Zhost Tutorial
nameserver 1.1.1.1
nameserver 8.8.8.8

Sau đó lưu file và kiểm tra lại phân giải DNS:

Zhost Tutorial
nslookup google.com

Lưu ý khi kiểm tra DNS trên VPS Linux

Trên một số hệ điều hành Linux, file /etc/resolv.conf có thể được quản lý tự động bởi NetworkManager, systemd-resolved, netplan hoặc cloud-init. Vì vậy, nếu bạn chỉnh file này nhưng sau khi reboot cấu hình bị mất, cần kiểm tra thêm dịch vụ quản lý mạng của hệ thống.

Nếu VPS đang dùng Ubuntu mới, bạn có thể kiểm tra trạng thái DNS bằng lệnh:

Zhost Tutorial
resolvectl status

Ngoài ra, nếu VPS vừa đổi DNS nhưng vẫn lỗi, bạn có thể thử khởi động lại dịch vụ network hoặc reboot VPS để áp dụng lại cấu hình. Nếu cần xử lý thêm lỗi mạng, bạn có thể tham khảo bài viết hướng dẫn tắt IPv6 trên VPS Linux để kiểm tra trường hợp hệ thống ưu tiên IPv6 gây lỗi kết nối.

Liên kết tham khảo

Bạn có thể tham khảo thêm tài liệu về file resolv.conf tại trang hướng dẫn của Linux manual:

https://man7.org/linux/man-pages/man5/resolv.conf.5.html

Kết luận

Kiểm tra DNS trên VPS Linux giúp xác định nhanh nguyên nhân các lỗi liên quan đến phân giải tên miền, kết nối ra ngoài, update package, gọi API hoặc gửi nhận mail. Các lệnh thường dùng gồm cat /etc/resolv.conf, nslookup, dig, pingcurl.

Nếu VPS phân giải DNS lỗi, bạn có thể thử đổi sang DNS phổ biến như 1.1.1.1 hoặc 8.8.8.8, sau đó kiểm tra lại kết nối để đảm bảo hệ thống hoạt động ổn định.

Chúc các bạn thành công!