
DNS Server là gì?
DNS server, giải thích
DNS server là những máy tính chuyên dụng giúp trình duyệt web, ứng dụng và các công cụ mạng khác định vị và kết nối tới website cùng các tài nguyên khác trên Internet.
Chúng là nền tảng của hệ thống Domain Name System (DNS) — thường được gọi là "danh bạ điện thoại của Internet" — cho phép người dùng truy cập website bằng cách gõ tên miền vào trình duyệt, thay vì phải nhớ và nhập địa chỉ IP dạng số.
DNS gồm hai loại server: recursive DNS server (còn gọi là recursive resolver, DNS resolver hay DNS recursor) và authoritative name server — bao gồm root name server, top-level domain (TLD) name server và second-level domain name server.
Recursive server đóng vai trò "đi hỏi" — tìm các bản ghi DNS (DNS records) chứa thông tin cần thiết để kết nối client với website hoặc tài nguyên. Authoritative server lưu giữ các bản ghi này và đóng vai trò "trả lời". Cùng nhau, hai loại server này thực hiện quá trình phân giải DNS (DNS resolution) — chuyển tên miền dễ đọc cho con người thành địa chỉ IP mà máy tính hiểu được.
Ví dụ: khi người dùng gõ một hostname (như upsmart.vn ) vào trình duyệt, họ khởi tạo một truy vấn DNS (DNS query/request), bắt đầu quá trình tra cứu DNS (DNS lookup). Trình duyệt gửi truy vấn tới recursive resolver đã cấu hình; resolver này lần lượt hỏi các authoritative server để tìm bản ghi phù hợp.
Quá trình này tiếp diễn cho đến khi resolver tìm được authoritative name server gắn với tên miền đó, cùng bản ghi A (hoặc AAAA cho IPv6) chứa đúng địa chỉ IP. Resolver trả địa chỉ IP về trình duyệt, và người dùng được kết nối tới tài nguyên họ tìm kiếm.
Vì sao DNS server quan trọng?
DNS server là hạ tầng thiết yếu giúp DNS và Internet vận hành như người dùng vẫn quen thuộc.
DNS server vừa định vị và lưu trữ bản ghi DNS, vừa dẫn dắt việc phân giải các truy vấn DNS đi qua cấu trúc phân cấp của hệ thống. Cấp cao nhất là các root name server, có nhiệm vụ điều hướng truy vấn tới TLD server phù hợp, rồi tới second-level domain name server — nơi lưu các bản ghi thẩm quyền (authoritative records) cho một tên miền cụ thể.
Có nhiều loại bản ghi DNS, đóng vai trò như một "cơ sở dữ liệu chỉ dẫn" cho biết tài nguyên nằm ở đâu, cùng các thông tin DNS quan trọng khác. Quen thuộc nhất là bản ghi A (địa chỉ IPv4) hoặc AAAA (địa chỉ IPv6) — chứa IP mà trình duyệt cần để đưa người dùng tới đúng website.
Ngoài ra còn có: bản ghi MX (trỏ tới mail server của tên miền), bản ghi CNAME (trỏ tên miền bí danh về tên miền gốc), bản ghi DNAME (dùng một bản ghi để chuyển hướng nhiều subdomain sang một tên miền khác), và nhiều loại khác.
Các bản ghi này được lưu trên authoritative DNS server. Để DNS hoạt động, các server này phải luôn khỏe mạnh và an toàn — không có DNS server hoạt động thì không có DNS.
Các loại DNS server
Ngay từ đầu, DNS được thiết kế theo cấu trúc cơ sở dữ liệu phân cấp, phân tán, nhằm phục vụ cách phân giải tên miền linh hoạt hơn, theo kịp một mạng lưới máy tính đang mở rộng nhanh chóng. Cấu trúc phân cấp bắt đầu từ cấp gốc (root) — ký hiệu bằng dấu chấm (.) — rồi phân nhánh thành các top-level domain (TLD) như ".com", ".org", ".net" hay các country-code TLD (ccTLD) như ".uk", ".jp", và tiếp tục xuống các second-level domain.
Kiến trúc DNS gồm hai loại server: recursive server và authoritative server. Recursive server là bên "đi hỏi", tìm thông tin kết nối người dùng tới trang web hoặc tài nguyên. Authoritative server cung cấp "câu trả lời".
Recursive server
Recursive server — còn gọi là recursive resolver hay DNS resolver — thường do nhà cung cấp dịch vụ Internet (ISP) hoặc bên thứ ba cung cấp dịch vụ DNS quản lý. Một tổ chức cũng có thể tự lưu trữ và quản lý resolver riêng.
Recursive resolver hoạt động thay mặt người dùng cuối để phân giải tên miền thành địa chỉ IP. Nó cũng cache (lưu tạm) kết quả tra cứu gần đây trong một khoảng thời gian nhất định (xác định bởi giá trị time-to-live — TTL) để tăng hiệu quả cho các truy vấn sau tới cùng tên miền.
Khi người dùng gõ một địa chỉ web vào trình duyệt, trình duyệt kết nối tới recursive DNS server để phân giải yêu cầu. Nếu recursive server đã có sẵn câu trả lời trong cache, nó có thể kết nối người dùng ngay và hoàn tất yêu cầu. Nếu không, recursive resolver sẽ truy vấn qua cấu trúc phân cấp DNS cho tới khi tìm được bản ghi A (hoặc AAAA) chứa địa chỉ IP của tên miền.
Authoritative server
Authoritative name server lưu giữ các bản ghi chính thức (definitive records) của một tên miền và trả lời các yêu cầu về tên miền nằm trong zone của mình (thường với các câu trả lời do chủ tên miền cấu hình). Có nhiều loại authoritative server, mỗi loại phụ trách một phần riêng của không gian tên miền (namespace).
Các authoritative DNS name server bao gồm:
Root name server — nằm ở đỉnh của cấu trúc phân cấp DNS, phụ trách phục vụ root zone (cơ sở dữ liệu trung tâm của DNS). Có 13 "identity" (nhóm logic các root server), ký hiệu từ A đến M. Chúng trả lời truy vấn về các bản ghi trong root zone và điều hướng yêu cầu tới TLD name server phù hợp.
Top-level domain (TLD) name server — phụ trách cấp tiếp theo trong hệ thống phân cấp, bao gồm cả các generic TLD (gTLD). TLD name server điều hướng truy vấn tới authoritative name server của từng tên miền cụ thể trong TLD đó. Ví dụ: TLD server cho ".com" sẽ điều hướng các tên miền kết thúc bằng ".com", TLD server cho ".gov" điều hướng các tên miền ".gov", v.v.
Các domain name server khác — second-level domain name server, chiếm phần lớn số lượng domain name server, lưu zone file chứa địa chỉ IP cho tên miền đầy đủ (ví dụ "upssmart.vn").
DNS server làm gì?
DNS server là hạ tầng mà hệ thống DNS được xây dựng trên đó, đồng thời là thành phần vận hành chức năng cốt lõi — kết nối người dùng với tài nguyên Internet. Authoritative DNS server lưu bản ghi DNS, còn recursive server truy vấn các authoritative server này để tìm bản ghi cần thiết, hoàn tất một yêu cầu DNS.
Quá trình phân giải truy vấn DNS gồm các bước chính sau:
1. Khởi tạo truy vấn — Người dùng gõ một tên miền, ví dụ "upssmart.vn", vào trình duyệt hoặc ứng dụng. Nếu địa chỉ IP của trang đó chưa có trong cache trình duyệt, yêu cầu được gửi tới một recursive DNS resolver. Thông thường, thiết bị của người dùng có sẵn cấu hình DNS (do ISP cung cấp) xác định resolver nào sẽ nhận yêu cầu.
Quá trình này đang thay đổi khi nhiều trình duyệt hiện đại hỗ trợ DNS over HTTPS (DoH), cho phép tra cứu DNS qua HTTPS, và nhiều nhà cung cấp đã thiết lập server riêng cho kiểu tra cứu này. Ví dụ, nếu dùng Firefox tại Mỹ, mặc định trình duyệt sẽ gửi truy vấn tới server DoH của Cloudflare thay vì resolver của ISP. DoH ngày càng phổ biến vì mang lại quyền riêng tư cao hơn, hiệu năng tốt hơn cùng nhiều lợi ích khác.
2. Recursive resolver — Recursive resolver kiểm tra cache của chính nó xem có địa chỉ IP tương ứng với tên miền hay không. Nếu chưa có bản ghi cần thiết trong cache, nó bắt đầu quá trình tra cứu, khởi đầu từ root server.
3. Root name server — Recursive resolver truy vấn một root name server, server này trả lời bằng cách điều hướng (referral) tới TLD server phù hợp với tên miền đang xét (trong trường hợp này là TLD server phụ trách các tên miền ".com").
4. TLD name server — Resolver truy vấn TLD server ".com", server này trả lời bằng địa chỉ của authoritative name server cho "upssmart.vn".
5. Domain name server — Resolver truy vấn name server của tên miền, server này tra cứu file zone DNS và trả về bản ghi đúng cho tên miền được yêu cầu.
6. Hoàn tất truy vấn — Recursive resolver trả địa chỉ IP về thiết bị người dùng. Trình duyệt hoặc ứng dụng khi đó có thể khởi tạo kết nối tới server đích tại địa chỉ IP đó và truy cập website hoặc dịch vụ được yêu cầu. Trình duyệt và resolver sẽ cache lại bản ghi theo cấu hình và TTL tương ứng.
Public DNS server và Private DNS server
DNS về cơ bản là một giao thức công khai. Dù các thuật ngữ "public DNS" và "private DNS" được dùng theo nhiều cách khác nhau, không có định nghĩa chuẩn thống nhất, chúng thường ám chỉ các cấu hình hạ tầng và quy trình khác nhau. Khác biệt lớn nhất nằm ở mục đích sử dụng và đối tượng phục vụ.
Public DNS (hay public DNS resolver)
Public DNS thường ám chỉ quy trình phân giải DNS "tiêu chuẩn", hay các resolver công khai — nơi một recursive resolver lần lượt truy vấn chuỗi authoritative server chứa các bản ghi DNS công khai để tìm ra địa chỉ IP và cuối cùng kết nối người dùng với website họ tìm kiếm. Đây thường là resolver do ISP của người dùng cung cấp, hoặc dịch vụ DNS như "Public DNS 8.8.8.8" của Google. Resolver riêng (private) cũng có thể được cấu hình để truy vấn public DNS, nhưng thường được dùng phổ biến hơn cho mạng nội bộ hạn chế hoặc mạng doanh nghiệp.
Kiểu tra cứu DNS tiêu chuẩn này được gọi là "public" có lẽ vì các resolver công khai này, cùng việc các bản ghi DNS trên những authoritative server đó có thể truy cập được bởi bất kỳ ai có kết nối Internet.
Private DNS
"Private DNS" đôi khi được dùng để mô tả việc sử dụng các giao thức mã hóa như DNS over TLS (DoT) hoặc DNS over HTTPS (DoH). Tuy nhiên, cách gọi chính xác hơn nên là "tính năng riêng tư" (privacy feature) hoặc "giao thức riêng tư" thay vì "private DNS". Bản chất quy trình phân giải vẫn không đổi — resolver vẫn dùng DNS công khai để tìm thông tin cần thiết, chỉ khác là việc truyền dữ liệu được mã hóa.
Private DNS cũng được dùng để chỉ việc tra cứu trong một mạng nội bộ khép kín, như mạng doanh nghiệp hay virtual private cloud, với quyền truy cập giới hạn cho người dùng được ủy quyền. Trong hệ thống này, các resolver riêng, cấu hình cục bộ sẽ truy vấn các server riêng để định vị tài nguyên và trang trong mạng nội bộ. Các server này chỉ phục vụ các zone riêng và địa chỉ IP nội bộ, giữ kín URL và IP nội bộ khỏi phần còn lại của Internet. Kiểu private DNS này giúp tổ chức có quyền kiểm soát và bảo mật tốt hơn.
Có nhiều cách để cấu hình dạng mạng này. Một cách là dùng tên miền đặc biệt như ".local" cho việc phân giải trong mạng cục bộ. Cách khác là dùng các subdomain riêng của những tên miền công khai trên Internet — subdomain riêng này chỉ khả dụng với người dùng hoặc tác nhân sử dụng resolver trong mạng nội bộ.
Split-horizon DNS
Một cấu hình phổ biến trong doanh nghiệp, kết hợp cả "public" và "private" DNS, được gọi là "split-horizon DNS" (hay "split brain DNS"). Trong cấu hình này, một recursor cục bộ truy vấn các authoritative server riêng, cục bộ cho các yêu cầu nội bộ, và dựa vào DNS tiêu chuẩn cho các truy vấn ra bên ngoài. Split-horizon DNS thường đi kèm một danh sách tên miền (kiểu "allowlist") cho biết yêu cầu nào chuyển tới server nội bộ, yêu cầu nào chuyển ra Internet công khai.
Bảo mật DNS server
Bên cạnh định tuyến anycast, cân bằng tải, điều hướng lưu lượng DNS và khả năng giám sát/khắc phục sự cố theo thời gian thực, nhiều nhà cung cấp managed DNS còn cung cấp các biện pháp bảo mật nâng cao như một phần của dịch vụ. Dù một tổ chức dùng nhà cung cấp managed DNS hay tự quản lý hạ tầng DNS, việc bảo mật DNS server luôn là phần quan trọng để giữ an toàn cho mạng và tài nguyên mạng.
Các thực hành và giao thức bảo mật DNS giúp bảo vệ và duy trì khả năng sẵn sàng của DNS server:
Ẩn primary DNS server: Khi primary server được ẩn (trong mạng nội bộ hoặc sau firewall), nguồn thẩm quyền chính cho một DNS zone sẽ không thể truy cập từ Internet rộng lớn, tránh bị tấn công trực tiếp. Chỉ secondary DNS server (chứa bản sao chỉ đọc của zone file) mới được công khai, và các secondary server này xử lý mọi truy vấn công khai bằng cách nhận zone transfer từ primary server.
Triển khai DNSSEC: DNSSEC là phần mở rộng của DNS, dùng xác thực mã hóa để kiểm chứng nguồn gốc của yêu cầu và tính toàn vẹn của dữ liệu DNS. Bằng cách yêu cầu các phản hồi phải được ký số, DNSSEC giúp chống lại các cuộc tấn công giả mạo DNS (DNS spoofing).
Cập nhật và vá lỗi DNS server: Kẻ tấn công và các mối đe dọa an ninh mạng luôn tiến hóa song song với hệ thống mà chúng nhắm tới. Theo dõi các lỗ hổng DNS mới nhất và thường xuyên vá/cập nhật server giúp đội ngũ luôn đi trước các mối đe dọa mạng.
Mã hóa lưu lượng DNS: Việc mã hóa lưu lượng DNS giúp ngăn kẻ tấn công đọc, can thiệp hoặc chuyển hướng các truy vấn và phản hồi DNS. Dùng các giao thức mã hóa DNS hiện đại (như DoH và DoT) giúp đảm bảo truy vấn được xác thực và truyền an toàn, ngăn chặn các cuộc tấn công man-in-the-middle (MITM) như DNS spoofing và cache poisoning.
Áp dụng giới hạn tốc độ (rate limiting): Rate limiting trên DNS server có thể giảm thiểu các cuộc tấn công từ chối dịch vụ phân tán (DDoS) bằng cách giới hạn số lượng phản hồi — hoặc tốc độ gửi phản hồi — cho một bên yêu cầu trong một khoảng thời gian nhất định.
Dùng server dự phòng: Triển khai DNS theo cấu hình dự phòng trên nhiều server đặt ở các vị trí địa lý khác nhau giúp đảm bảo mạng vẫn khả dụng nếu xảy ra tấn công hoặc sự cố. Nếu primary server gặp sự cố, secondary DNS server có thể tiếp quản dịch vụ phân giải DNS.
Xóa cache DNS định kỳ: Việc xóa cache DNS loại bỏ toàn bộ các mục trong mạng cục bộ, hữu ích để xóa các bản ghi DNS không hợp lệ hoặc đã bị xâm phạm — vốn có thể chứa mã độc (cache poisoning), khiến người dùng bị lừa đảo (phishing) hoặc bị chuyển hướng tới trang web độc hại (DNS hijacking).
Tận dụng split-horizon DNS: Split-horizon DNS tạo ra hai hệ thống tra cứu riêng biệt cho tài nguyên nội bộ và tài nguyên công khai. Mạng server riêng giới hạn khả năng nhìn thấy tài nguyên nội bộ chỉ cho người dùng đáng tin cậy, tăng cường bảo mật. Các server hướng ra công khai, phục vụ tra cứu DNS tiêu chuẩn, có thể dùng cho các truy vấn và tài nguyên ít nhạy cảm hơn.



