Danh mục sản phẩm
Bài 38: DNS Cơ Bản Dưới Góc Nhìn Network Engineer
💡 Liên hệ thực tế
Bạn muốn gọi điện cho anh Nam, nhưng không nhớ nổi dãy 10 số điện thoại của anh ấy — chỉ nhớ tên. Bạn mở danh bạ điện thoại, gõ "Nam", danh bạ tự động tra ra đúng số cần gọi. Bạn hoàn toàn không cần nhớ con số khô khan đó, chỉ cần nhớ cái tên dễ nhớ hơn nhiều.
📖 DNS (Domain Name System) đóng đúng vai trò "danh bạ điện thoại" đó cho Internet — bạn gõ vnexperts.vn (tên dễ nhớ), DNS sẽ tự động "tra cứu" ra địa chỉ IP thật (dãy số khó nhớ) của server chứa website đó, để trình duyệt biết đường kết nối tới.
📘 Kiến thức cốt lõi
DNS (Domain Name System) là hệ thống phân giải qua lại giữa tên miền (dễ nhớ với con người) và địa chỉ IP (thứ máy tính thực sự dùng để định tuyến, đã học từ Bài 7).
⚙️ Quy trình phân giải tên miền (DNS Resolution) — các bước cơ bản:
- Máy bạn gõ
vnexperts.vnvào trình duyệt. - Máy kiểm tra bộ nhớ đệm (cache) cục bộ trước — nếu đã tra cứu gần đây, dùng luôn kết quả cũ, không cần hỏi lại.
- Nếu chưa có trong cache, máy gửi truy vấn tới DNS Resolver (thường là DNS server do ISP cung cấp, hoặc DNS công cộng như Google DNS
8.8.8.8). - DNS Resolver tra cứu (có thể phải hỏi qua nhiều máy chủ DNS trung gian khác) và trả về địa chỉ IP tương ứng.
- Máy bạn dùng địa chỉ IP đó để thực sự kết nối tới server chứa website.
💡 Toàn bộ quy trình này thường chỉ mất vài mili-giây, và với những tên miền đã được cache trước đó (bởi máy bạn hoặc bởi DNS Resolver của ISP), tốc độ còn nhanh hơn nữa vì bỏ qua được các bước tra cứu trung gian.
📋 Các loại bản ghi DNS (DNS Record) phổ biến nhất mà network engineer cần biết:
| Loại bản ghi | Chức năng | Ví dụ (tên miền) | Ví dụ (giá trị trỏ tới) |
|---|---|---|---|
| A | Ánh xạ tên miền sang địa chỉ IPv4 | vnexperts.vn |
203.0.113.10 |
| AAAA | Ánh xạ tên miền sang địa chỉ IPv6 | vnexperts.vn |
2001:db8::1 |
| CNAME | Bí danh (alias) — trỏ 1 tên miền sang 1 tên miền khác | www.vnexperts.vn |
vnexperts.vn |
| NS | Chỉ định máy chủ DNS có thẩm quyền (authoritative) cho tên miền đó | vnexperts.vn |
ns1.dns-provider.com |
| MX | Chỉ định máy chủ xử lý email cho tên miền đó | vnexperts.vn |
mail.vnexperts.vn (priority 10) |
| PTR | Tra cứu ngược — từ địa chỉ IP suy ra tên miền (Reverse DNS) | 203.0.113.10 |
vnexperts.vn |
🎯 Ví dụ dễ hình dung về CNAME:
www.vnexperts.vncó thể được cấu hình dưới dạng CNAME trỏ sangvnexperts.vn— nghĩa là "www" chỉ là 1 bí danh, thực chất vẫn cùng trỏ tới 1 địa chỉ IP như tên miền gốc.Lưu ý: "www" không phải là phần bắt buộc của tên miền — nó chỉ là 1 subdomain (hostname) theo quy ước lịch sử từ thời Internet sơ khai, giống hệt
mail.vnexperts.vnhayblog.vnexperts.vn. Với DNS thìvnexperts.vnvàwww.vnexperts.vnlà 2 tên hoàn toàn độc lập — nếu chỉ cấu hình bản ghi chovnexperts.vnmà quênwww.vnexperts.vn, người dùng gõwww.vnexperts.vnsẽ không truy cập được. Đây là lỗi rất hay gặp khi setup website mới.CNAME cũng không bắt buộc phải trỏ trong cùng 1 domain — nó có thể trỏ sang bất kỳ domain nào khác, kể cả khác TLD (Top-Level Domain — tên miền cấp cao nhất, ví dụ
.vn,.com). Ví dụvnexperts.comcó thể cấu hình CNAME trỏ sangvnexperts.vn. Đây là cách dùng rất phổ biến trong thực tế:
- CDN:
cdn.example.com→ CNAME sangxxxx.cloudfront.net- GitHub Pages:
blog.example.com→ CNAME sangusername.github.io- Gộp domain phụ về domain chính:
vnexperts.com→ CNAME sangvnexperts.vn⚠️ Lưu ý về domain gốc (zone apex): Ví dụ
vnexperts.vnlà tên miền gốc (root domain / zone apex) của zone. Theo chuẩn DNS, apex không thể dùng CNAME, vì tại đây đã phải tồn tại các bản ghi quan trọng như SOA và NS. Mà một tên đã là CNAME thì không được đồng thời có các loại bản ghi khác.Vì vậy, nếu muốn trỏ
vnexperts.vnđến một máy chủ, bạn thường dùng A record để trỏ trực tiếp đến địa chỉ IPv4. Nếu DNS provider hỗ trợ ALIAS/ANAME, bạn cũng có thể dùng chúng để đạt hiệu ứng tương tự CNAME nhưng vẫn phù hợp với domain gốc.📘 SOA (Start of Authority) có thể hiểu đơn giản là "thông tin quản lý của một DNS zone". Nó cho biết zone này được quản lý bởi máy chủ DNS nào và các thông tin cần thiết cho việc đồng bộ dữ liệu DNS. Mỗi zone có một bản ghi SOA tại apex.
Ví dụ SOA của
vnexperts.vn:vnexperts.vn. IN SOA ns1.dns-provider.com. admin.vnexperts.vn. ( 2026080901 ; Serial 3600 ; Refresh 600 ; Retry 604800 ; Expire 86400 ; Negative caching TTL )Đọc như sau: "Zone
vnexperts.vnđược quản lý chính bởins1.dns-provider.com, người quản trị liên hệ quaadmin@vnexperts.vn, phiên bản zone hiện tại là 2026080901."Bạn thường không cần tự tạo SOA. Khi tạo domain/zone, DNS provider như Cloudflare hoặc DirectAdmin sẽ tự tạo bản ghi này.
⚙️ Cấu hình DNS trên Router/Switch Cisco:
Thiết bị mạng Cisco cũng có thể tra cứu DNS để gõ tên thay vì phải nhớ địa chỉ IP khi dùng các lệnh như ping, telnet, hay copy running-config tftp. Tuy nhiên khác với PC (tự động tra DNS ngay khi cắm mạng), router/switch mặc định không tự tra cứu được tên miền — cần cấu hình đủ các lệnh sau:
Router(config)# ip domain-name vnexperts.local Router(config)# ip domain-lookup Router(config)# ip name-server 8.8.8.8 8.8.4.4
Giải thích từng dòng:
ip domain-name vnexperts.local— khai báo domain suffix mặc định cho router. Tác dụng: nếu bạn gõ tắt tên (thiếu phần domain), IOS sẽ tự thêm domain-name vào phía sau trước khi tra DNS. Ví dụ gõping fileserverthì IOS hiểu ngầm làping fileserver.vnexperts.local.ip domain-lookup— bật chức năng tra cứu DNS. Đây là lệnh chính khiến router thực sự "hỏi DNS server" mỗi khi bạn gõ 1 cái tên (thay vì IP) trong lệnh. Lệnh này mặc định đã bật sẵn trên IOS, nhưng trong lab thường bị tắt đi (no ip domain-lookup) để tránh tình trạng gõ nhầm lệnh khiến router chờ tra DNS timeout rất lâu (ví dụ gõ nhầmeanblethay vìenable, router sẽ cố tra DNS cho "eanble" trước khi báo lỗi).ip name-server 8.8.8.8— khai báo địa chỉ IP của DNS server mà router sẽ gửi truy vấn tới. Có thể khai báo nhiều máy chủ DNS (như ví dụ trên dùng cả8.8.8.8và8.8.4.4của Google) để dự phòng — nếu máy chủ đầu tiên không phản hồi, Router tự động thử máy chủ tiếp theo.
💡 Lưu ý quan trọng:
ip domain-namecòn có vai trò khác ngoài DNS — đây là điều kiện bắt buộc trước khi sinh SSH key. Khi chạycrypto key generate rsa, IOS dùnghostname + domain-nameđể tạo ra 1 định danh (ví dụR1.vnexperts.local) gắn vào RSA key. Thiếuip domain-name, router sẽ báo lỗi và không tạo được key — nghĩa là không thể bật SSH.
Ví dụ minh họa đầy đủ:
Router(config)# hostname R1 R1(config)# ip domain-name vnexperts.local R1(config)# ip domain-lookup R1(config)# ip name-server 8.8.8.8 8.8.4.4 R1(config)# crypto key generate rsa
Sau khi cấu hình xong, gõ thử:
R1# ping fileserver Translating "fileserver.vnexperts.local"...domain server (8.8.8.8) [OK]
Router sẽ hiển thị dòng "Translating..." — bằng chứng cho thấy DNS lookup đang hoạt động.
🔍 Kiểm tra khả năng phân giải tên trên Cisco IOS:
Router# ping vnexperts.vn
Nếu DNS đã cấu hình đúng, Router sẽ tự động phân giải vnexperts.vn ra địa chỉ IP trước khi thực hiện ping — không cần gõ trực tiếp địa chỉ IP.
💬 Hỏi & Đáp nhanh
❓ Nếu DNS Resolver gặp sự cố, người dùng có bị mất kết nối Internet hoàn toàn không?
❌ Không hoàn toàn — kết nối Internet vật lý (qua IP) vẫn hoạt động bình thường, chỉ là người dùng không thể gõ tên miền để truy cập nữa (vì không tra được IP tương ứng). Nếu biết chính xác địa chỉ IP của server, người dùng vẫn gõ thẳng IP để truy cập được — đây cũng là cách kỹ thuật viên thường dùng để kiểm tra xem sự cố là do DNS hay do kết nối mạng thực sự.
❓ Vì sao network engineer cần quan tâm đến DNS, đây không phải là việc của lập trình viên web sao?
✅ Network engineer cần quan tâm vì DNS ảnh hưởng trực tiếp đến khả năng quản trị thiết bị từ xa (Telnet/SSH bằng tên thay vì IP), khả năng tải cấu hình/firmware qua tên miền, và là 1 phần quan trọng trong việc chẩn đoán sự cố mạng — phân biệt được "không vào được web vì DNS lỗi" hay "vì đường truyền thực sự bị đứt" là kỹ năng cơ bản cần có.
❓ Bản ghi PTR (Reverse DNS) dùng để làm gì trong thực tế?
✅ PTR dùng để tra cứu ngược lại — từ 1 địa chỉ IP, tìm ra tên miền tương ứng. Ứng dụng phổ biến nhất là trong hệ thống chống spam email: nhiều máy chủ email sẽ kiểm tra xem địa chỉ IP gửi email có bản ghi PTR hợp lệ hay không, trước khi quyết định có chấp nhận email đó hay đánh dấu là spam.
📝 Bài tập đánh giá
Câu 1: Loại bản ghi DNS nào dùng để ánh xạ tên miền sang địa chỉ IPv4?
- A. CNAME
- B. MX
- C. A
- D. PTR
Câu 2: Lệnh nào dùng để khai báo máy chủ DNS cho Router Cisco?
- A.
ip domain-name - B.
ip name-server - C.
ip dns-server - D.
dns configure
👉 Đáp án:
Câu 1: C — Bản ghi loại A dùng để ánh xạ tên miền sang địa chỉ IPv4; bản ghi AAAA mới dùng cho IPv6.
Câu 2: B — Lệnh ip name-server dùng để khai báo địa chỉ IP của máy chủ DNS mà Router sẽ dùng để phân giải tên miền.
📚 Bài viết thuộc khóa học CCNA của VNExperts
🧭 Điều hướng
| ⬅️ Bài trước | 🏠 Mục lục khóa học | Bài kế tiếp ➡️ |
|---|---|---|
| Bài 37: NTP | Mục lục khóa học CCNA | Bài 39: DHCP — cơ chế DORA, cấu hình DHCP server/relay |
