Minh hoạ bài viết DNS hoạt động thế nào

DNS hoạt động thế nào: từ tên miền tới địa chỉ IP

Bạn gõ một tên miền, trang web hiện ra sau vài trăm mili giây. Ở giữa hai khoảnh khắc ấy là một hệ thống phân tán quy mô toàn cầu, ra đời từ thập niên 1980 và tới nay vẫn là nền móng của gần như mọi thứ trên Internet.

Vì sao cần DNS

Máy tính định tuyến bằng địa chỉ IP, không phải bằng tên. Con người thì ngược lại — nhớ một cái tên dễ hơn nhớ một dãy số, và tên còn cho phép đổi máy chủ mà không phải báo lại cho ai. DNS là lớp phiên dịch giữa hai thế giới đó.

Thời kỳ đầu, cả Internet dùng chung một tệp HOSTS.TXT chép tay. Cách đó sập đổ rất nhanh khi số máy tăng lên, và DNS ra đời để thay thế bằng một hệ thống phân cấp và phân tán: không có máy nào biết hết mọi thứ, nhưng máy nào cũng biết phải hỏi ai tiếp theo.

Một lượt tra cứu đi qua những đâu

Giả sử bạn mở vanphong.online lần đầu:

  1. Trình duyệt xem bộ nhớ đệm của chính nó. Không có.
  2. Hệ điều hành xem bộ đệm của nó và tệp hosts. Cũng không.
  3. Máy bạn hỏi máy chủ đệ quy — thường là của nhà mạng, hoặc một dịch vụ công cộng bạn tự đặt.
  4. Máy chủ đệ quy hỏi một root server: “ai quản .online?” Root trả lời bằng địa chỉ của máy chủ TLD.
  5. Hỏi tiếp máy chủ TLD của .online: “ai quản vanphong.online?” Nó trả về các name server có thẩm quyền.
  6. Hỏi name server có thẩm quyền, cuối cùng nhận được bản ghi cần tìm.

Nghe dài, nhưng gần như mọi bước đều được đệm lại nên thực tế phần lớn lượt tra cứu dừng ngay ở bước hai hoặc ba.

Các loại bản ghi thường gặp

  • A — trỏ tên miền tới một địa chỉ IPv4.
  • AAAA — như A nhưng cho IPv6.
  • CNAME — bí danh, trỏ tên này sang tên khác. Không đặt được ở gốc tên miền theo chuẩn gốc, dù nhiều nhà cung cấp có cơ chế lách gọi là CNAME flattening.
  • MX — chỉ định máy chủ nhận thư cho tên miền.
  • TXT — chứa văn bản tự do, thực tế dùng nhiều nhất cho xác minh quyền sở hữu và cấu hình chống giả mạo email.
  • NS — chỉ ra name server nào có thẩm quyền với vùng này.

TTL và vì sao đổi DNS không hiệu lực ngay

Mỗi bản ghi mang một giá trị TTL tính bằng giây, nói rằng câu trả lời này được phép lưu đệm bao lâu. Đặt TTL 86400 nghĩa là các máy chủ khắp nơi có thể giữ câu trả lời cũ tới một ngày.

Đây là lý do sau khi bạn đổi bản ghi, có người vào được địa chỉ mới ngay còn người khác vẫn thấy trang cũ. Không ai làm sai cả — chỉ là bộ đệm ở các nơi hết hạn vào những thời điểm khác nhau.

Mẹo thực dụng: trước khi chuyển máy chủ, hạ TTL xuống 300 giây và chờ qua hết chu kỳ TTL cũ. Chuyển xong, đợi ổn định rồi nâng lại. Làm vậy cửa sổ “người thấy cũ người thấy mới” thu từ hàng giờ xuống còn vài phút.

Khi tra cứu không ra kết quả mong đợi

Công cụ dòng lệnh dig cho bạn hỏi thẳng một máy chủ cụ thể, bỏ qua mọi bộ đệm trung gian:

dig @8.8.8.8 vanphong.online
dig @8.8.8.8 NS vanphong.online
dig +trace vanphong.online

Hỏi thẳng máy chủ công cộng mà ra kết quả đúng, trong khi máy bạn vẫn thấy sai, thì vấn đề nằm ở bộ đệm phía bạn hoặc phía nhà mạng chứ không phải ở cấu hình tên miền.

Riêng tư: điều DNS không giấu

Theo thiết kế gốc, truy vấn DNS đi ở dạng văn bản rõ. Nghĩa là dù bạn duyệt web toàn bằng HTTPS, nhà mạng vẫn thấy danh sách tên miền bạn hỏi. DNS over HTTPS và DNS over TLS ra đời để mã hoá phần này — đổi lại, danh sách đó chuyển sang cho bên cung cấp dịch vụ phân giải mà bạn chọn. Không có phương án nào xoá hoàn toàn dấu vết, chỉ có việc bạn chọn tin ai.

Scroll to Top