Tổng quan chung về DNS

Trang này cung cấp thông tin tổng quan về Hệ thống tên miền (DNS).

Để biết thông tin tổng quan về Cloud DNS, hãy xem bài viết Tổng quan về Cloud DNS. Để biết các từ khoá chính liên quan đến Cloud DNS, hãy xem phần Từ khoá chính.

DNS là một cơ sở dữ liệu phân tán phân cấp lưu trữ địa chỉ IP và các dữ liệu khác, đồng thời cho phép truy vấn theo tên.

Nói cách khác, DNS là một thư mục chứa các tên miền có thể đọc được, được dịch thành địa chỉ IP dạng số mà máy tính sử dụng để giao tiếp với nhau. Ví dụ: khi bạn nhập một URL vào trình duyệt, DNS sẽ chuyển đổi URL đó thành địa chỉ IP của một máy chủ web được liên kết với tên đó. Các thư mục DNS được lưu trữ và phân phối trên khắp thế giới trên các máy chủ tên miền được cập nhật thường xuyên.

Các khái niệm sau đây sẽ hữu ích khi bạn làm việc với DNS.

Các loại máy chủ DNS

Máy chủ DNS lưu trữ cơ sở dữ liệu tên miền, sau đó xử lý tên miền dựa trên các truy vấn DNS đến từ một ứng dụng trong mạng.

Máy chủ có thẩm quyền

Máy chủ có thẩm quyền là máy chủ lưu giữ các bản ghi tên DNS, bao gồm A, AAAA và CNAME.

Máy chủ không có thẩm quyền tạo một tệp bộ nhớ đệm dựa trên các truy vấn trước đó cho miền. Tệp này không chứa bản ghi tên gốc.

Trình phân giải đệ quy

Trình phân giải đệ quy là máy chủ gửi truy vấn đến máy chủ có thẩm quyền hoặc không có thẩm quyền để phân giải. Trình phân giải đệ quy được gọi là như vậy vì trình phân giải này thực hiện từng truy vấn cho một tên nhất định và trả về kết quả cuối cùng.

Điều này trái ngược với trình phân giải lặp lại, chỉ trả về một lệnh giới thiệu đến các máy chủ DNS tiếp theo có thể có câu trả lời.

Ví dụ: khi phân giải tên google.com., trình phân giải đệ quy phải xác định ai là cơ quan có thẩm quyền cho . (vùng gốc của DNS). Sau đó, ứng dụng này sẽ hỏi những máy chủ định danh đó là máy chủ định danh có thẩm quyền cho .com.. Cuối cùng, ứng dụng này sẽ hỏi các máy chủ tên đó là máy chủ có thẩm quyền cho google.com. và rdata cho bản ghi A sẽ được trả về cho ứng dụng khách.

Sau đây là ví dụ về trình phân giải đệ quy đang hoạt động; nếu bạn chạy dig +trace google.com, trình phân giải đệ quy sẽ thực hiện thao tác sau (8.8.8.8/DNS công khai của Google là một trong những trình phân giải như vậy):

 dig +trace google.com
; <<>> DiG 9.11.5-P4-5.1-Debian <<>> +trace google.com
;; global options: +cmd
.           168383  IN  NS  a.root-servers.net.
.           168383  IN  NS  b.root-servers.net.
.           168383  IN  NS  c.root-servers.net.
.           168383  IN  NS  d.root-servers.net.
.           168383  IN  NS  e.root-servers.net.
.           168383  IN  NS  f.root-servers.net.
.           168383  IN  NS  g.root-servers.net.
.           168383  IN  NS  h.root-servers.net.
.           168383  IN  NS  i.root-servers.net.
.           168383  IN  NS  j.root-servers.net.
.           168383  IN  NS  k.root-servers.net.
.           168383  IN  NS  l.root-servers.net.
.           168383  IN  NS  m.root-servers.net.
.           168383  IN  RRSIG   NS 8 0 518400 20190810170000 20190728160000 59944 .
    ITqCp5bSKwoG1P76GpNfDanh4fXxOtHuld5SJzEm9ez0U/K7kpmBm4TE
    cw82zuqtZlqiGOuq+90KHJEhD1fdX3FujgDqe3kaY/41LgFIo76RBeMP
    CorYg29lKQOBf7pLPiJWewFmnLsRXsvENzxNXl9mynX80EQSS2YlCWpr
    47i2j5SFpGDzmxls7LinB4VvwVLhy0FPwBaVc5NVqQoFS5ZkfKXCUz8x
    urExPT2OtPJeDiGzrQGmT6vDbYZtJRWWGK5tPIKZQyF/08YSJlrjebNa
    1nKZVN8SsO8s7elz6JGmdoM6D/1ByLNFQmKvU55ikaVSnXylqixLbJQI 7LyQoA==
;; Received 525 bytes from 127.0.0.1#53(127.0.0.1) in 22 ms

com.            172800  IN  NS  a.gtld-servers.net.
com.            172800  IN  NS  b.gtld-servers.net.
com.            172800  IN  NS  c.gtld-servers.net.
com.            172800  IN  NS  d.gtld-servers.net.
com.            172800  IN  NS  e.gtld-servers.net.
com.            172800  IN  NS  f.gtld-servers.net.
com.            172800  IN  NS  g.gtld-servers.net.
com.            172800  IN  NS  h.gtld-servers.net.
com.            172800  IN  NS  i.gtld-servers.net.
com.            172800  IN  NS  j.gtld-servers.net.
com.            172800  IN  NS  k.gtld-servers.net.
com.            172800  IN  NS  l.gtld-servers.net.
com.            172800  IN  NS  m.gtld-servers.net.
com.            86400   IN  DS  30909 8 2
    E2D3C916F6DEEAC73294E8268FB5885044A833FC5459588F4A9184CF C41A5766
com.            86400   IN  RRSIG   DS 8 1 86400 20190811170000 20190729160000 59944 .
    KXPRdZspxd6hZYRFx3cj7Yp3d6HDzOG5CmoK46ZrrlKnZkCYMPKzyFQ2
    15pA+jZ37MbQbhe6+S+C4AHWqv95DDsue85ha3ZmWGhnJxcLnDaL5Twp
    Z/W/a+1cTHhhbMZua1riw74mqvzRAF1kVerj7jrvWnOAOZCh69Dr4AFJ
    gRN4MAn+wCZDmPQCtkcGVJ9vyNV7Xra45B4ISqEo0xi8CXewp9cc+aW5
    TSjFRhj1RM9d3k+3Mrq6AAV8dVgWofYTg6Ihph/SfoIx4TrTrEbgfdsv
    MvuLPXvK6Y7oSh5WknbFduw7HQdo1jH3/QR54FORswBJT8VmYD7Zii88 tAjbRQ==
;; Received 1170 bytes from 192.58.128.30#53(j.root-servers.net) in 2 ms

google.com.     172800  IN  NS  ns2.google.com.
google.com.     172800  IN  NS  ns1.google.com.
google.com.     172800  IN  NS  ns3.google.com.
google.com.     172800  IN  NS  ns4.google.com.
    CK0POJMG874LJREF7EFN8430QVIT8BSM.com. 86400 IN NSEC3 1 1 0 -
    CK0Q1GIN43N1ARRC9OSM6QPQR81H5M9A NS SOA RRSIG DNSKEY NSEC3PARAM
    CK0POJMG874LJREF7EFN8430QVIT8BSM.com. 86400 IN RRSIG NSEC3 8 2
    86400 20190803044434 20190727033434 17708 com.
    rMmiNL7bYvJpB3Bc+WnqS2iiczm2PwxBvJcl7SL/vcTj88GsxM1ycTSV
    PsHZHxfrv1dv2C5BCSZ+mzeVBu8upLoeraQy+UVf3VXyt3i3rNGzcXYV
    8HSrHcXrRoAJopFim3Ge1xdZ+uERg3cTIcN2tJxxkCeqt/EcUTqtQl8t EAc=
    S84BDVKNH5AGDSI7F5J0O3NPRHU0G7JQ.com. 86400 IN NSEC3 1 1 0 -
    S84CFH3A62N0FJPC5D9IJ2VJR71OGLV5 NS DS RRSIG
    S84BDVKNH5AGDSI7F5J0O3NPRHU0G7JQ.com. 86400 IN RRSIG NSEC3
    8 2 86400 20190804045723 20190728034723 17708 com.
    jypPsaWVop9rzuf70CFYyiK0hliiJ+YYtkjgb3HVj9ICc57kLmv9DkvG
    DddF5GBQpqNEakzyJtya179MAdDT7RhJB4XfmY6fu5I5QTeIjchfP5wt
    7gU1AL7cqTmBAo2RWu62vtUytV09+O3KGFq5O+Cwr11dSTfq1yYyw6YW cMI=
;; Received 772 bytes from 192.41.162.30#53(l.gtld-servers.net) in 2 ms

google.com.     300 IN  A   172.217.7.14
;; Received 55 bytes from 216.239.32.10#53(ns1.google.com) in 13 ms

Mỗi ứng dụng DNS truy vấn một máy chủ định danh. Trình phân giải đệ quy truy vấn các máy chủ tên khác, cho đến máy chủ tên cấp cao nhất nếu cần. Bản ghi NS cho một vùng trên máy chủ định danh cấp cao hơn sẽ chuyển trình phân giải xuống đến một máy chủ định danh khác, cuối cùng sẽ đến một máy chủ định danh đã lưu vùng vào bộ nhớ đệm hoặc máy chủ có thẩm quyền cho vùng đó.

Vùng

Vùng công cộng

Vùng công khai hiển thị trên Internet. Bạn có thể tạo bản ghi DNS trong một vùng công khai để phát hành dịch vụ của mình trên Internet. Ví dụ: bạn có thể tạo một bản ghi A trong một vùng công khai có tên là example.com. (lưu ý dấu chấm ở cuối) cho trang web công khai www.example.com..

Vùng riêng tư

Vùng riêng tư là bất kỳ vùng nào không thể truy vấn qua Internet công cộng.

Vùng con được uỷ quyền

DNS cho phép chủ sở hữu một vùng sử dụng bản ghi NS để uỷ quyền một miền con cho một máy chủ định danh khác. Trình phân giải tuân theo các bản ghi này và gửi truy vấn cho tên miền con đến máy chủ định danh mục tiêu được chỉ định trong quá trình uỷ quyền.

Ví dụ: bạn có thể tạo các vùng riêng biệt cho cả example.comsubdomain.example.com, mỗi vùng có một máy chủ định danh có thẩm quyền riêng. Vì subdomain.example.com là miền con của example.com, nên phương thức cho phép máy chủ định danh có thẩm quyền của miền con nằm trong vùng của miền mẹ được gọi là uỷ quyền. Về cơ bản, uỷ quyền là một con trỏ trỏ đến máy chủ định danh có thẩm quyền cho một miền con. Để bật tính năng uỷ quyền trong Cloud DNS, bạn có thể thêm bản ghi NS cho các miền con trong vùng của miền mẹ.

DNS phân tách theo chiều ngang

Chuyển tiếp phân chia là thuật ngữ dùng để mô tả một thực thể khi hai vùng (một vùng do mạng nội bộ sử dụng và vùng còn lại do mạng bên ngoài sử dụng (thường là Internet)) được tạo cho cùng một miền. DNS phân tách theo chiều ngang cho phép bạn phân phát nhiều câu trả lời (nhiều nhóm bản ghi tài nguyên) cho cùng một tên, tuỳ thuộc vào người đang hỏi.

Ví dụ: bạn có thể cung cấp phiên bản phát triển hoặc phiên bản thử nghiệm của ứng dụng nếu truy vấn đến từ mạng phát triển, cũng như phiên bản chính thức hoặc phiên bản công khai của ứng dụng nếu truy vấn đến từ Internet công cộng.

Bản ghi

Bản ghi là mối liên kết giữa một tài nguyên DNS và một tên miền. Mỗi bản ghi DNS riêng lẻ có một loại (tên và số), thời gian hết hạn (thời gian tồn tại) và dữ liệu dành riêng cho loại.

Sau đây là một số loại bản ghi thường dùng:

  • Đáp: Bản ghi địa chỉ, liên kết tên máy chủ với địa chỉ IPv4 của máy chủ đó.
  • AAAA: Bản ghi Địa chỉ IPv6, liên kết tên máy chủ với địa chỉ IPv6.
  • CNAME: Bản ghi tên chính tắc, chỉ định tên bí danh.
  • MX: Bản ghi trao đổi thư, được dùng trong việc định tuyến yêu cầu đến máy chủ thư.
  • NS: Bản ghi máy chủ định danh, uỷ quyền một vùng DNS cho một máy chủ có thẩm quyền.
  • PTR: Bản ghi con trỏ, xác định một tên liên kết với địa chỉ IP.
  • SOA: Start of authority (Bắt đầu thẩm quyền), dùng để chỉ định máy chủ định danh chính và quản trị viên chịu trách nhiệm về một vùng. Mỗi vùng được lưu trữ trên máy chủ DNS phải có bản ghi SOA (start of authority). Bạn có thể sửa đổi bản ghi nếu cần (ví dụ: bạn có thể thay đổi số sê-ri thành một số tuỳ ý để hỗ trợ việc tạo phiên bản dựa trên ngày).

Nhóm bản ghi

Các bản ghi có cùng tên và cùng loại nhưng có giá trị dữ liệu khác nhau được gọi là nhóm bản ghi. Khi bạn tạo một bản ghi, nếu đã có một nhóm có cùng tên và cùng loại thì bản ghi đó sẽ được thêm vào nhóm này. Nếu không có nhóm nào phù hợp, thì một nhóm mới sẽ được tạo và nối vào danh sách các nhóm bản ghi.

Đây là ví dụ về một nhóm bản ghi có nhiều bản ghi có cùng tên và loại:

Tên DNS Nhập liệu TTL (giây) Dữ liệu
db-01.dev.gcp.example.com A 50 10.128.1.35
db-01.dev.gcp.example.com A 50 10.128.1.10

Để biết danh sách các loại bản ghi được hỗ trợ trong Cloud DNS, hãy xem phần Các loại bản ghi DNS được hỗ trợ.

Uỷ quyền miền con

Khi tạo bản ghi, hãy đảm bảo rằng bản ghi NS và SOA khớp với nhau. Các bản ghi NS và SOA xung đột có thể khiến một số trình phân giải từ chối việc uỷ quyền vì không hợp lệ và từ chối lưu các phản hồi NO DATA vào bộ nhớ đệm cho các truy vấn. Điều này có thể dẫn đến một số lượng lớn truy vấn không mong muốn đối với các vùng được quản lý công khai của bạn do trình phân giải đệ quy của bên thứ ba thực hiện khi trình phân giải truy vấn các vùng được quản lý công khai của bạn để tìm các bản ghi không tồn tại.

Ví dụ: giả sử có hai miền con là example.comsubdomain.example.com trong Cloud DNS. Bản ghi NS và SOA cho subdomain.example.com không khớp. Cả hai vùng đều không chứa bản ghi AAAA nào. Khi một số trình phân giải đệ quy của bên thứ ba truy vấn subdomain.example.com cho bản ghi AAAA và nhận được phản hồi NO DATA, nếu trình phân giải phát hiện thấy việc uỷ quyền không hợp lệ của subdomain.example.com, thì các trình phân giải này sẽ từ chối lưu vào bộ nhớ đệm việc không tồn tại bản ghi AAAA trong vùng đó. Điều này dẫn đến việc thử lại các truy vấn. Sau đó, các máy chủ này lần lượt truy vấn tất cả máy chủ định danh Cloud DNS để biết thông tin này.

Nhà đăng ký

Nhà đăng ký tên miền là một tổ chức quản lý việc đặt trước tên miền trên Internet cho các vùng công cộng. Nhà đăng ký phải được tổ chức quản lý miền cấp cao nhất chung (gTLD) hoặc tổ chức quản lý miền cấp cao nhất theo mã quốc gia (ccTLD) công nhận. Đây là cách máy chủ định danh cấp cao đồng ý về SOA và cập nhật bản ghi NS cho vùng để chuyển hướng các yêu cầu đến máy chủ định danh có thẩm quyền hoặc lưu vào bộ nhớ đệm.

Số sê-ri của SOA

Số sê-ri SOA là số phiên bản của một vùng DNS. Để tất cả máy chủ định danh đều có phiên bản mới nhất của một vùng, các máy chủ này phải có cùng số sê-ri SOA. Số sê-ri của các bản ghi SOA được tạo trong các vùng do DNS quản lý sẽ tăng lên một cách liên tục với mỗi thay đổi giao dịch đối với tập hợp bản ghi của vùng.

Tuy nhiên, bạn có thể thay đổi số sê-ri của bản ghi SOA thành một số bất kỳ, bao gồm cả ngày ở định dạng ISO 8601, như đề xuất trong RFC 1912.

DNSSEC

Tiện ích bảo mật hệ thống tên miền (DNSSEC) giải quyết các lỗ hổng đối với dữ liệu DNS. DNSSEC là một bộ quy cách của IETF cung cấp tính năng xác thực dữ liệu DNS, từ chối tồn tại đã xác thực và tính toàn vẹn dữ liệu cho ứng dụng DNS (trình phân giải). Tóm lại, DNSSEC cung cấp một cách để phần mềm xác minh nguồn gốc của dữ liệu DNS và xác thực rằng dữ liệu đó không bị sửa đổi trong quá trình truyền.

Để biết thêm thông tin chi tiết về DNSSEC, hãy xem RFC 4033.

Để biết danh sách thuật ngữ chung về DNS, hãy xem RFC 7719.

Bước tiếp theo