- 1 1. Giới thiệu: Tại sao Cấu hình DNS lại quan trọng trong Ubuntu
- 2 2. Ubuntu Cung cấp Hai Phương Pháp Chính để Cấu hình DNS
- 3 3. Cấu hình DNS với Netplan (cho Server)
- 4 4. Sử dụng NetworkManager (GUI) để cấu hình DNS trên Ubuntu Desktop
- 5 5. Cách xác nhận rằng cài đặt DNS đã được áp dụng
- 6 6. Các tùy chọn DNS phổ biến (Hữu ích cho người mới bắt đầu)
1. Giới thiệu: Tại sao Cấu hình DNS lại quan trọng trong Ubuntu
DNS (Hệ thống Tên Miền) là cơ chế chuyển đổi tên miền thành địa chỉ IP.
Mỗi khi chúng ta mở một trang web, hệ điều hành luôn truy vấn một máy chủ DNS ở nền.
Khi sử dụng Ubuntu, bạn có thể gặp:
- Các trang web cảm giác “hơi chậm”
- Hiệu năng chậm hơn các thiết bị khác cùng mạng
- Thỉnh thoảng không thể truy cập các trang web nội bộ LAN
Những triệu chứng này thường không phải do “chất lượng mạng,” mà do việc phân giải DNS chậm.
Trong Ubuntu, ngay cả ở phiên bản 22.04 trở lên, có nhiều cách để cấu hình DNS. Điều này thường gây bối rối cho người mới. Hai phương pháp chính là:
- Netplan (thường dùng cho môi trường server không có GUI)
- NetworkManager (hỗ trợ các thao tác GUI trên desktop)
Vì cấu hình khác nhau tùy thuộc vào công cụ đang hoạt động, các bài viết về DNS cho Ubuntu phải bắt đầu bằng “phát hiện môi trường,” sau đó “hướng dẫn người dùng tới phương pháp đúng.”
DNS không chỉ là một “phần nhỏ của cài đặt,” mà là điểm vào cho toàn bộ hệ thống mạng trên Ubuntu.
Ví dụ, chỉ cần chuyển sang Google Public DNS (8.8.8.8) hoặc Cloudflare (1.1.1.1) đã có thể làm tăng tốc độ duyệt web đáng kể.
Điều này đặc biệt đúng trong môi trường VPS, cloud, hoặc mạng ở nước ngoài.
Trong các phần sau, chúng ta sẽ tách rõ ràng:
- Cách cấu hình DNS bằng GUI
- Cách cấu hình DNS qua Netplan
- Cách kiểm tra cài đặt DNS
Đầu tiên, hãy xác định môi trường hệ thống của bạn đang sử dụng.
2. Ubuntu Cung cấp Hai Phương Pháp Chính để Cấu hình DNS
Trong Ubuntu, phương pháp cấu hình DNS thay đổi tùy vào hệ thống quản lý mạng đang được dùng.
Nếu bỏ qua sự khác biệt này, các thay đổi DNS có thể không được áp dụng hoặc sẽ bị khôi phục sau khi khởi động lại.
Ở đây chúng tôi tóm tắt thực tế rằng Ubuntu có hai hệ thống cấu hình DNS độc lập.
Netplan (Cấu hình dựa trên YAML)
- Thường dùng trong môi trường server
- Được chuẩn hoá từ Ubuntu 18.04 trở lên (các phiên bản LTS)
- Các file cấu hình nằm dưới
/etc/netplan/*.yaml - Hoạt động cùng với systemd-resolved
Trong môi trường VPS hoặc server vật lý không có GUI, Netplan hầu như luôn được sử dụng.
Các môi trường cloud như AWS, Vultr, ConoHa, hoặc Oracle Cloud cũng thường dùng phương pháp này.
NetworkManager (GUI)
- Thường gặp trong môi trường máy tính để bàn (Ubuntu Desktop)
- Cho phép cấu hình DNS qua các thiết lập IPv4 / IPv6
- Dễ hiểu nhờ giao diện đồ họa
Nếu bạn đang dùng Ubuntu Desktop, đây là phương pháp có khả năng cao nhất.
Phù hợp khi bạn chỉ muốn “đổi DNS vì trình duyệt cảm thấy chậm.”
Cách Kiểm Tra Bạn Đang Dùng Phương Pháp Nào
Cách đơn giản nhất là kiểm tra xem có file nào trong /etc/netplan/ hay không.
ls /etc/netplan/
Nếu có các file YAML, rất có thể Netplan đang được sử dụng.
Nếu thư mục trống hoặc bạn đang dùng GUI, hãy kiểm tra cài đặt của NetworkManager.
3. Cấu hình DNS với Netplan (cho Server)
Netplan sử dụng các file YAML để định nghĩa các thiết lập mạng.
Trong môi trường Ubuntu Server hoặc VPS không có GUI, đây hầu như luôn là phương pháp cấu hình.
Phần này tập trung vào các bước thực tế tối thiểu để đặt DNS thành một giá trị cụ thể.
Mở File Cấu hình Netplan
Các file cấu hình Netplan được lưu trong /etc/netplan/.
Tên file thực tế sẽ khác nhau tùy môi trường (ví dụ: 00-installer-config.yaml).
Đầu tiên, liệt kê các file:
ls /etc/netplan/
Sau khi xác định được tên file, mở nó bằng một trình soạn thảo như nano. Ví dụ:
sudo nano /etc/netplan/00-installer-config.yaml
Cách Thêm Mục DNS vào YAML (Ví dụ)
Dưới đây là một ví dụ chỉ định cả Google DNS và Cloudflare DNS.
network:
version: 2
ethernets:
ens33:
dhcp4: true
nameservers:
addresses: [8.8.8.8, 1.1.1.1]
Lưu ý: ens33 sẽ khác tùy vào card mạng của bạn.
Kiểm tra bằng lệnh ip a hoặc ip link.
Áp dụng Cấu hình
Áp dụng các thay đổi ngay lập tức bằng cách:
sudo netplan apply
Nếu xuất hiện lỗi, nguyên nhân thường gặp nhất là thụt lề YAML.
Kiểm tra khoảng cách và cấu trúc—không được sử dụng tab.
DHCP và DNS thủ công có thể cùng tồn tại không?
Có, bạn có thể nhận địa chỉ IP qua DHCP trong khi chỉ định DNS một cách thủ công.
Ví dụ:
dhcp4: true
nameservers:
addresses: [9.9.9.9]
Cấu hình này đặt “IP = tự động, DNS = thủ công.”
4. Sử dụng NetworkManager (GUI) để cấu hình DNS trên Ubuntu Desktop
Nếu bạn đang sử dụng Ubuntu cho mục đích máy tính để bàn, bạn có thể thay đổi DNS mà không cần dùng terminal.
Phương pháp dựa trên GUI này là nhanh nhất khi bạn chỉ muốn “tăng tốc trình duyệt” hoặc “chuyển sang DNS công cộng.”
Cách mở cửa sổ Cài đặt
- Nhấp vào biểu tượng mạng ở góc trên bên phải
- Mở “Settings” hoặc “Network Settings”
- Chọn kết nối đang hoạt động (Wired / Wi‑Fi)
- Chuyển đến tab “IPv4”
Bạn sẽ thấy trường nhập DNS ở đây.
Tùy thuộc vào phiên bản Ubuntu, cách viết có thể hơi khác nhau, nhưng bạn có thể nhập các địa chỉ DNS cách nhau bằng dấu phẩy.
Ví dụ nhập (Chỉ định DNS qua IPv4)
Ví dụ: Sử dụng Google DNS và Cloudflare DNS
8.8.8.8, 1.1.1.1
Sau khi nhập các giá trị, nhấp “Apply” hoặc “Save”. Đề nghị ngắt kết nối và kết nối lại mạng để đảm bảo cài đặt được áp dụng.
Nếu bạn đang sử dụng IPv6
Tab “IPv6” có trường nhập DNS tương tự.
Trong các mạng dual‑stack, việc thiết lập DNS cho cả IPv4 và IPv6 có thể quan trọng để duy trì độ ổn định.
Kết hợp DHCP và DNS thủ công
Bạn cũng có thể cấu hình GUI để sử dụng cấp phát IP tự động trong khi chỉ định DNS một cách thủ công.
Điều này hữu ích khi bạn không muốn gán IP tĩnh thủ công cho mỗi mạng Wi‑Fi mà bạn sử dụng, như ở nhà hay ở văn phòng.
5. Cách xác nhận rằng cài đặt DNS đã được áp dụng
Cấu hình DNS chưa hoàn thiện cho đến khi bạn xác minh rằng các cài đặt mới thực sự đã được áp dụng.
Ubuntu cung cấp ba phương pháp đáng tin cậy để kiểm tra trạng thái DNS.
Sử dụng lệnh dig
dig google.com
Trong kết quả, tìm dòng có nhãn “SERVER: 〜”.
Dòng này cho biết máy chủ DNS mà hệ thống của bạn đang sử dụng.
Ví dụ (trích đoạn):
;; SERVER: 8.8.8.8#53(8.8.8.8)
Xác nhận rằng nó hiển thị 8.8.8.8 (Google) hoặc 1.1.1.1 (Cloudflare), v.v.
resolvectl status
Phương pháp này chính xác khi sử dụng systemd-resolved.
resolvectl status
Điều này hiển thị máy chủ tên hiện đang được mỗi NIC sử dụng.
Trên các máy chủ có nhiều NIC, cách này đáng tin cậy hơn so với dig.
Tại sao bạn không nên chỉnh sửa /etc/resolv.conf trực tiếp
cat /etc/resolv.conf
Tệp này hiển thị các giá trị DNS cuối cùng hiện đang được sử dụng.
Tuy nhiên, tệp này được systemd-resolved tự động tạo ra, có nghĩa là:
Nó sẽ bị ghi đè, vì vậy việc chỉnh sửa tệp này là không đúng.
6. Các tùy chọn DNS phổ biến (Hữu ích cho người mới bắt đầu)
Bạn không “tạo” địa chỉ máy chủ DNS của riêng mình.
Trong hầu hết các trường hợp, bạn chọn từ các dịch vụ DNS công cộng có sẵn rộng rãi.
Nếu bạn muốn các tùy chọn an toàn, ổn định, hãy chọn từ danh sách dưới đây:
| Provider | DNS Address |
|---|---|
| Google Public DNS | 8.8.8.8 / 8.8.4.4 |
| Cloudflare | 1.1.1.1 |
| Quad9 | 9.9.9.9 |
| OpenDNS | 208.67.222.222 / 208.67.220.220 |
Khuyến nghị chỉ định hai máy chủ DNS để dự phòng.
Nếu một máy chủ không khả dụng, hệ thống sẽ tự động truy vấn máy chủ còn lại.
Nếu bạn sử dụng DNS nội bộ (như AD doanh nghiệp), bạn phải chỉ định máy chủ DNS nội bộ thay vì DNS công cộng.
Việc phân giải tên nội bộ thường có ưu tiên hơn hiệu năng DNS bên ngoài.
7. DNS thường trở thành nút thắt cổ chai của mạng
Mặc dù DNS trông như một mục cấu hình đơn giản, nhưng nó có ảnh hưởng đáng kể đến hiệu năng mạng được cảm nhận.
Các vấn đề DNS đặc biệt rõ rệt trong các tình huống như:
- Bước đầu tiên khi tải một trang web cảm thấy bất thường chậm
- Ping nhanh nhưng duyệt web lại chậm chạp
- Các framework SPA (React / Vue) có thời gian tải ban đầu chậm
These cases often behave like this: “After loading the same URL several times, it becomes fast, but the very first access is oddly slow.”
This happens because DNS is the initial entry point.
Những trường hợp này thường diễn ra như sau: “Sau khi tải cùng một URL nhiều lần, nó trở nên nhanh, nhưng lần truy cập đầu tiên lại chậm một cách lạ lùng.”
Điều này xảy ra vì DNS là điểm vào ban đầu.
Especially on VPS or international regions (e.g., us-east / eu-west), public DNS can outperform your ISP’s default DNS.
Đặc biệt trên VPS hoặc các khu vực quốc tế (ví dụ, us-east / eu-west), DNS công cộng có thể vượt trội hơn DNS mặc định của ISP của bạn.
DNS is a point that is highly sensitive to network latency.
Regardless of OS, DNS tuning is one of the first optimizations web engineers should perform.
DNS là một điểm rất nhạy cảm với độ trễ mạng.
Bất kể hệ điều hành nào, việc tinh chỉnh DNS là một trong những tối ưu đầu tiên mà các kỹ sư web nên thực hiện.
Câu hỏi thường gặp
Câu hỏi 1: Tôi đã chỉnh sửa /etc/resolv.conf nhưng nó lại được đặt lại sau khi khởi động lại. Tại sao?
→ systemd-resolved của Ubuntu tự động tạo /etc/resolv.conf.
Tệp này không nên được chỉnh sửa thủ công.
Hãy sử dụng Netplan hoặc NetworkManager thay thế.
Câu hỏi 2: Tôi không chắc mình đang dùng Netplan hay NetworkManager. Làm sao để kiểm tra?
→ Đầu tiên kiểm tra:
ls /etc/netplan/
Nếu có các tệp YAML, rất có thể Netplan đang được sử dụng.
Nếu bạn đang dùng giao diện GUI, NetworkManager có khả năng cao hơn.
Câu hỏi 3: Tôi có thể tự động lấy IP qua DHCP và vẫn thiết lập DNS thủ công không?
→ Có.
Cả Netplan và NetworkManager đều cho phép “IP = AUTO, DNS = manual.”
Câu hỏi 4: Thay đổi DNS có luôn làm tăng tốc duyệt web không?
→ Không phải lúc nào cũng vậy.
DNS chỉ ảnh hưởng đến việc tra cứu tên ban đầu.
Nó thường làm nhanh tải lần đầu, nhưng các hình ảnh/CDN/API chậm ở các phần khác vẫn có thể gây hiệu năng chậm.
Câu hỏi 5: Các bước tương tự có áp dụng cho Ubuntu trên WSL2 không?
→ Không hoàn toàn.
WSL2 tự động tạo lại resolv.conf, đòi hỏi các cài đặt bổ sung như:
generateResolvConf=false
WSL có các phương pháp cấu hình DNS riêng.


