Thay đổi DNS trên Linux: Hướng dẫn đầy đủ cho Ubuntu, CentOS, RHEL
Thay đổi DNS trên Linux là một trong những bước quan trọng giúp tối ưu hóa tốc độ truy cập internet, cải thiện khả năng phân giải tên miền và nâng cao bảo mật cho hệ thống. Trong bài viết này, chúng ta sẽ đi sâu vào cách thay đổi DNS trên Linux, cũng như xử lý các vấn đề thường gặp khi thực hiện thao tác này.
DNS trên Linux hoạt động như thế nào
Khi bạn kết nối internet qua một hệ điều hành Linux, quá trình phân giải tên miền thành địa chỉ IP diễn ra qua hệ thống DNS (Domain Name System). Hệ thống này giúp các thiết bị hiểu được tên miền như www.google.com hoặc www.facebook.com tương ứng với địa chỉ IP của server chứa nội dung đó.
Hệ thống DNS hoạt động theo cơ chế phân phối gồm nhiều server khác nhau, và dựa vào cài đặt của người dùng để xác định server DNS phù hợp nhất để tiến hành phân giải. Khi bạn thay đổi DNS trên Linux, chính là đang chỉnh lại danh sách các server DNS mà hệ thống sẽ sử dụng để tra cứu tên miền, nhằm mục đích tối ưu tốc độ hoặc tăng bảo mật. Hiểu rõ cơ chế hoạt động này giúp bạn dễ dàng hơn trong việc tùy biến và xử lý các lỗi liên quan.
Cách kiểm tra DNS hiện tại của Server
Trước khi thực hiện bất kỳ thay đổi nào, bạn cần biết được DNS hiện tại của hệ thống đang sử dụng là gì. Việc này giúp bạn có cơ sở để so sánh, kiểm tra hiệu quả sau khi thay đổi cũng như xác định nguyên nhân các lỗi xảy ra.
Một số lệnh phổ biến dùng để kiểm tra DNS hiện tại bao gồm:
- cat /etc/resolv.conf: Đây là file cấu hình chính của hệ thống DNS trên nhiều hệ điều hành Linux. Trong đó sẽ hiển thị danh sách các DNS server mà hệ thống đang sử dụng.
- systemd-resolve --status (trên hệ thống dùng systemd): cung cấp thông tin chi tiết về trạng thái dịch vụ phân giải tên.
- nmcli dev show | grep DNS (trên hệ thống sử dụng NetworkManager): giúp lấy danh sách các DNS server đã cấu hình qua NetworkManager.
Việc kiểm tra này rất quan trọng, vì nó cho phép bạn biết được điểm xuất phát trước khi bắt đầu các thao tác thay đổi. Đồng thời, giúp xác định xem các thiết lập trước đó có gây ra lỗi hay không.
Hướng dẫn thay đổi DNS trên máy chủ Linux và Windows
Cách thay đổi DNS trên Ubuntu
Từ phiên bản 18.04 trở đi, Ubuntu sử dụng Netplan.
Truy cập thư mục cấu hình: cd /etc/netplan/
Chỉnh sửa file .yaml (ví dụ: 01-netcfg.yaml):
network:
version: 2
ethernets:
eth0:
nameservers:
addresses: [8.8.8.8, 8.8.4.4]
Áp dụng thay đổi: sudo netplan apply
Cách thay đổi DNS trên Debian
Debian thường quản lý DNS qua file /etc/network/interfaces.
Mở file: sudo nano /etc/network/interfaces
Thêm dòng sau vào dưới cấu hình interface:
dns-nameservers 1.1.1.1 1.0.0.1
Khởi động lại dịch vụ: sudo systemctl restart networking
Cách thay đổi DNS trên CentOS
Đối với CentOS (7, 8 hoặc Stream), cách tốt nhất là dùng nmcli:
Liệt kê các kết nối: nmcli connection show
Thay đổi DNS (thay eth0 bằng tên card mạng của bạn):
nmcli con mod eth0 ipv4.dns "8.8.8.8 8.8.4.4"
nmcli con up eth0
Cách thay đổi DNS tạm thời bằng Terminal
Ấn tổ hợp phím: Ctrl Alt T để mở cửa sổ Terminal (giống cửa sổ CMD trên Windows), rồi gõ lệnh sau:
$ sudo sh -c "echo nameserver 208.67.222.222 > /etc/resolv.conf"
$ sudo sh -c "echo nameserver 208.67.222.220 >> /etc/resolv.conf"
Kiểm tra lại xem lệnh đã ok chưa bằng lệnh:
$ cat /etc/resolv.conf
nameserver 208.67.222.222
nameserver 208.67.222.220
Ấn tổ hợp phím: Ctrl Alt T để mở cửa sổ Terminal (giống cửa sổ CMD trên Windows), rồi gõ lệnh sau:
$ sudo sh -c "echo nameserver 208.67.222.222 > /etc/resolv.conf"
$ sudo sh -c "echo nameserver 208.67.222.220 >> /etc/resolv.conf"
Kiểm tra lại xem lệnh đã ok chưa bằng lệnh:
$ cat /etc/resolv.conf
nameserver 208.67.222.222
nameserver 208.67.222.220

Cách thay đổi DNS trên Red Hat Enterprise Linux (RHEL)
Bước 1:
Bạn nháy vào biểu tượng wifi hay mạng ở thanh taskbar sau đó chọn Edit Connections
Chương trình Network Connections sẽ khởi động và hiển thị như bên dưới. Chọn Loại hình kết nối trong bảng bên trái và click vào Edit

Bước 2:
Sau dó sẽ hiển thị hộp thoại, bạn click vào phần bôi đỏ và điền địa chỉ vào 2 ô trống.

Ấn Save để lưu lại.
Cách khôi phục DNS mặc định trên Linux
Để quay lại DNS của nhà cung cấp dịch vụ (ISP) hoặc DNS mặc định của hệ thống:
Xóa các dòng cấu hình thủ công trong Netplan hoặc NetworkManager.
Thiết lập chế độ nhận DNS tự động qua DHCP:
nmcli con mod eth0 ipv4.ignore-auto-dns no
nmcli con up eth0
Các lỗi thường gặp khi đổi DNS trên Linux và cách xử lý
resolv.conf bị ghi đè sau khi reboot
Đây là lỗi phổ biến nhất do NetworkManager hoặc systemd-resolved tự động cập nhật lại file.
- Cách xử lý: Khóa file bằng lệnh chattr: sudo chattr +i /etc/resolv.conf
Không phân giải được domain
- Cách xử lý: Kiểm tra cú pháp trong /etc/resolv.conf. Đảm bảo không có khoảng trắng thừa và đúng từ khóa nameserver.
Lỗi xung đột NetworkManager
Khi bạn cấu hình DNS ở nhiều nơi (vừa file config vừa CLI).
- Cách xử lý: Chỉ nên sử dụng một phương thức duy nhất. Ưu tiên sử dụng công cụ quản lý mạng của bản phân phối đó (như nmcli cho RHEL/CentOS).
Không restart được dịch vụ mạng
Xảy ra khi file cấu hình (như Netplan YAML) bị sai định dạng (thụt lề không đúng).
- Cách xử lý: Sử dụng lệnh kiểm tra lỗi trước khi apply: netplan try hoặc kiểm tra log bằng journalctl -u NetworkManager.
Các câu hỏi thường gặp
Việc thay đổi DNS có giúp tăng tốc độ mạng không?
Có thể. Việc chọn các DNS server nhanh và gần địa lý của bạn sẽ giúp giảm thời gian phân giải tên miền, từ đó tăng tốc độ truy cập trang web. Tuy nhiên, nếu đổi sang DNS chậm hoặc không ổn định, hiệu quả sẽ không rõ rệt hoặc thậm chí gây giảm tốc.
Vì sao đổi DNS nhưng không có hiệu lực?
Nguyên nhân phổ biến là các cấu hình DNS chưa thực sự thay đổi hoặc bị ghi đè tự động bởi các dịch vụ quản lý mạng. Ngoài ra, trình duyệt hoặc hệ điều hành có thể cache kết quả DNS cũ. Cần kiểm tra kỹ các bước cấu hình, xóa cache DNS và khởi động lại dịch vụ mạng.
DNS nào tốt nhất cho server Linux?
Tùy thuộc vào mục đích và vị trí địa lý, nhưng các DNS công cộng phổ biến và đáng tin cậy như Google DNS (8.8.8.8, 8.8.4.4), Cloudflare (1.1.1.1) hoặc OpenDNS đều là lựa chọn tốt. Nên chọn DNS có độ trễ thấp, độ tin cậy cao và hỗ trợ tính năng bảo mật.
Có nên dùng DNS ISP hay DNS công cộng?
DNS ISP thường phù hợp vì gần nhất nhưng có thể chậm hoặc không ổn định bằng các dịch vụ DNS công cộng như Google hoặc Cloudflare. Nếu ưu tiên tốc độ, độ bảo mật cao thì DNS công cộng là lựa chọn tối ưu hơn.
Kết luận
Việc thay đổi DNS trên Linux tuy không quá phức tạp nhưng đòi hỏi người dùng hiểu rõ cấu hình hệ thống, cũng như biết cách xử lý các lỗi phát sinh. Hy vọng qua bài viết này, bạn đã có thể tự tin thực hiện các thao tác cần thiết để tối ưu hệ thống mạng của mình, đồng thời biết cách khắc phục các vấn đề phổ biến một cách hiệu quả. Việc chọn đúng DNS phù hợp sẽ giúp cải thiện tốc độ truy cập, đảm bảo an toàn và nâng cao trải nghiệm khi làm việc trên Linux.
>>> Tham khảo thêm: https://bizflycloud.vn/tin-tuc/he-dieu-hanh-la-gi-muc-tieu-va-chuc-nang-cua-he-dieu-hanh-20181018151637002.htm





















