Kiểm tra lan truyền DNS: so kết quả giữa các resolver công cộng và đọc TTL còn lại
Công cụ gửi cùng một truy vấn DNS-over-HTTPS tới nhiều resolver công cộng, đặt kết quả cạnh nhau, tô đậm giá trị chỉ xuất hiện ở một phần các nguồn, đồng thời đếm ngược TTL còn lại để bạn ước tính thời gian phải chờ. Resolver nào chặn CORS hoặc không trả lời kịp đều được ghi rõ lý do thay vì bỏ qua trong im lặng.
Tính năng nổi bật
- Tra song song qua Google Public DNS và Cloudflare DNS bằng giao thức DNS-over-HTTPS
- Hỗ trợ tám loại bản ghi: A, AAAA, CNAME, MX, TXT, NS, SOA và CAA
- Tô màu cam những giá trị chỉ xuất hiện ở một phần các resolver, nhìn là thấy chỗ lệch
- Bảng đối chiếu dạng lưới cho biết từng resolver có hay thiếu từng giá trị
- Đếm ngược TTL còn lại theo thời gian thực và ước tính thời gian còn phải chờ
- Ghi rõ lý do khi một resolver chặn CORS, hết thời gian chờ hay trả về mã lỗi RCODE
- Nút chạy lại giữ nguyên tên miền và loại bản ghi, tiện theo dõi từng phút
- Lịch sử các lần tra trong phiên, bấm vào là xem lại nguyên trạng kết quả cũ
Vì sao đổi DNS xong vẫn phải chờ, và chờ bao lâu thì đủ
Khi bạn sửa một bản ghi trong bảng quản trị tên miền, thay đổi đó có hiệu lực ngay tại máy chủ thẩm quyền của bạn, nhưng phần còn lại của Internet không biết. Mỗi resolver trung gian, từ DNS của nhà mạng tới Google hay Cloudflare, đều giữ một bản sao trong bộ nhớ đệm và chỉ hỏi lại khi bản sao đó hết hạn. Khoảng thời gian giữ chính là TTL bạn đặt trên bản ghi. Đó là lý do một người vào được website mới trong khi người khác vẫn thấy trang cũ, và cũng là lý do tự trách mình cấu hình sai thường là kết luận vội. Điều bạn thực sự cần biết là các resolver lớn đang trả giá trị nào và bản cũ còn sống thêm bao lâu. Trang này trả lời đúng hai câu đó: đặt kết quả từ nhiều nguồn cạnh nhau để bạn thấy ngay chỗ lệch, và đếm ngược TTL còn lại để bạn biết nên chờ tiếp hay nên xem lại cấu hình. Sau khi hết TTL mà con số vẫn khác nhau thì mới đến lúc mở bảng quản trị ra kiểm tra.
Lợi ích khi sử dụng
- Biết chắc thay đổi đã tới các resolver lớn hay chưa, thay vì đoán mò
- Có con số thời gian cụ thể để trả lời khách hàng thay vì nói chung chung là chờ 24 đến 48 giờ
- Phát hiện sớm trường hợp một resolver trả giá trị lạ do cấu hình còn sót bản ghi cũ
- Không cần cài dig hay nslookup, dùng được ngay trên điện thoại khi đang xử lý sự cố
- Lịch sử trong phiên cho phép so sánh lần tra trước với lần tra sau mà không phải chụp màn hình
- Nêu rõ giới hạn của phép đo nên bạn không kết luận sai từ dữ liệu thiếu
Cách kiểm tra lan truyền DNS
- 1Nhập tên miền cần tra, không cần gõ http hay dấu gạch chéo, công cụ tự cắt bỏ phần thừa.
- 2Chọn loại bản ghi bạn vừa sửa, thường là A khi đổi máy chủ, MX khi đổi dịch vụ thư, TXT khi thêm bản ghi xác minh.
- 3Bấm Tra cứu, hai resolver được gọi song song và kết quả hiện ra trong vài giây.
- 4Đọc dòng kết luận trên cùng: các resolver đang trả cùng một kết quả hay đang khác nhau.
- 5Xem giá trị tô màu cam trong bảng đối chiếu, đó chính là chỗ chưa đồng bộ giữa các nguồn.
- 6Nhìn ô TTL còn lại lớn nhất để biết thời gian tối đa còn phải chờ, rồi bấm Chạy lại sau khoảng thời gian đó.
Công cụ đo được gì và không đo được gì
Trình duyệt chỉ gọi được những resolver vừa hỗ trợ DNS-over-HTTPS vừa gửi header cho phép trang web khác đọc kết quả. Hiện chỉ Google Public DNS tại địa chỉ dns.google và Cloudflare DNS tại cloudflare-dns.com đáp ứng cả hai điều kiện một cách ổn định, nên mặc định công cụ so sánh hai nguồn đó. Bạn có thể bật thêm Quad9 và AdGuard DNS, nhưng hai dịch vụ này thường không gửi header CORS và kết quả gần như chắc chắn là một dòng báo không tra được từ trình duyệt. Công cụ hiển thị thẳng lý do đó thay vì im lặng bỏ qua, vì một ô trống dễ bị hiểu nhầm thành không có bản ghi. Điều quan trọng cần nhớ là đây không phải phép đo từ hàng chục điểm khắp thế giới như các dịch vụ chuyên dụng vận hành máy chủ riêng ở nhiều quốc gia. Cả Google lẫn Cloudflare đều dùng kiến trúc phát tán địa chỉ, nghĩa là truy vấn của bạn đi tới trung tâm dữ liệu gần nhất, và bộ nhớ đệm của trung tâm đó có thể khác trung tâm ở châu lục khác. Vì vậy hai nguồn cùng trả một giá trị là tín hiệu tốt nhưng chưa phải bằng chứng toàn cầu đã đồng bộ.
TTL quyết định thời gian chờ, và cách hạ TTL trước khi chuyển nhà
TTL là số giây mà một resolver được phép giữ bản sao của bản ghi trước khi buộc phải hỏi lại máy chủ thẩm quyền. Đặt TTL 86400 nghĩa là trong trường hợp xấu nhất phải mất một ngày mới hết bản cũ, còn đặt 300 thì chỉ năm phút. Con số TTL công cụ hiển thị là phần còn lại tính từ lúc resolver nạp bản ghi, không phải giá trị bạn cấu hình, nên nó sẽ nhỏ dần theo từng lần tra và nhảy trở lại giá trị đầy khi resolver nạp mới. Quy trình chuẩn khi sắp đổi máy chủ hoặc đổi nhà cung cấp thư điện tử gồm bốn bước. Trước tiên hạ TTL của các bản ghi liên quan xuống khoảng 300 giây và lưu lại. Sau đó chờ ít nhất bằng TTL cũ để mọi bản sao mang TTL dài đều hết hạn. Rồi mới thực hiện thay đổi thật, lúc này thời gian lan truyền chỉ còn vài phút. Cuối cùng, sau khi mọi thứ chạy ổn định một hai ngày, nâng TTL trở lại mức bình thường để giảm số truy vấn và tăng khả năng chịu lỗi. Bỏ qua bước hạ TTL trước là nguyên nhân phổ biến nhất khiến một lần chuyển đổi tưởng nhanh lại kéo dài cả ngày.
Đọc kết quả theo từng loại bản ghi
Bản ghi A và AAAA trả về địa chỉ máy chủ dạng IPv4 và IPv6; khi đổi máy chủ, đây là hai loại bạn theo dõi. Bản ghi CNAME trỏ một tên sang tên khác và không được đặt song song với bản ghi khác trên cùng một tên, nên nếu thấy CNAME cùng tồn tại với A thì cấu hình đang sai chuẩn. Bản ghi MX quyết định máy chủ nào nhận thư cho tên miền, mỗi dòng có một số ưu tiên phía trước, số nhỏ hơn được thử trước; sai MX là mất thư chứ không phải chậm thư nên cần kiểm tra kỹ hơn cả bản ghi A. Bản ghi TXT chứa văn bản tự do, thực tế dùng cho SPF khai báo máy chủ được phép gửi thư, cho DKIM chứa khoá công khai ký thư, cho DMARC quy định cách xử lý thư không đạt, và cho các chuỗi xác minh quyền sở hữu tên miền. Bản ghi NS liệt kê máy chủ tên thẩm quyền, đây là loại bạn tra khi vừa đổi nhà cung cấp DNS. Bản ghi SOA chứa thông tin quản trị của vùng, trong đó số sê ri tăng dần mỗi lần bạn sửa, nên so số sê ri giữa các nguồn là cách nhanh để biết bản cập nhật đã tới nơi chưa. Bản ghi CAA giới hạn tổ chức nào được cấp chứng chỉ cho tên miền, đặt sai sẽ khiến việc gia hạn chứng chỉ thất bại.
Vì sao hai resolver trả kết quả khác nhau
Lý do thường gặp nhất là chênh lệch bộ nhớ đệm: một bên đã hết hạn và nạp bản mới, bên kia còn giữ bản cũ vài phút nữa. Trường hợp này chỉ cần chờ và bấm chạy lại. Lý do thứ hai là cấu hình cân bằng tải theo địa lý, khi nhà cung cấp cố tình trả địa chỉ khác nhau tuỳ vị trí người hỏi; lúc đó khác biệt là bình thường và sẽ không bao giờ hội tụ về một giá trị. Lý do thứ ba là tên miền vẫn còn máy chủ tên cũ trong danh sách NS tại nhà đăng ký, nên tuỳ lần truy vấn mà resolver hỏi trúng máy chủ cũ hay máy chủ mới, dẫn tới kết quả nhảy qua lại một cách khó hiểu; đây là lỗi cần sửa ngay chứ không phải chờ. Lý do thứ tư là một resolver áp dụng chính sách lọc riêng, chẳng hạn dịch vụ chặn quảng cáo trả về địa chỉ rỗng cho tên miền nằm trong danh sách chặn. Lý do thứ năm là bản ghi có nhiều giá trị hợp lệ và mỗi resolver trả theo thứ tự xoay vòng khác nhau; công cụ này so theo tập hợp nên đã bỏ qua khác biệt về thứ tự, chỉ báo lệch khi thật sự thiếu hoặc thừa giá trị.
Khi kết quả đã đồng bộ mà website vẫn chưa vào được
Nhiều người kết luận DNS chưa lan truyền trong khi vấn đề nằm ở chỗ khác. Tầng gần nhất là bộ nhớ đệm trên chính máy bạn: hệ điều hành giữ một bản, trình duyệt giữ một bản riêng, và cả hai đều không quan tâm resolver công cộng đã cập nhật hay chưa. Trên Windows chạy lệnh xoá bộ đệm DNS trong cửa sổ dòng lệnh quản trị, trên macOS khởi động lại tiến trình phân giải, trên trình duyệt nhân Chromium có trang cấu hình riêng để xoá bộ đệm nội bộ. Tầng tiếp theo là resolver của nhà mạng bạn đang dùng, thường cập nhật chậm hơn Google và Cloudflare, và cách kiểm tra nhanh là chuyển máy sang mạng di động rồi thử lại. Nếu đổi mạng vẫn không vào được thì hầu như chắc chắn vấn đề không còn ở DNS: có thể máy chủ chưa khai báo tên miền mới trong cấu hình máy chủ web, có thể chứng chỉ chưa cấp cho tên miền đó nên trình duyệt chặn, có thể tường lửa chưa mở cổng. Lúc này hãy chuyển sang kiểm tra phía máy chủ thay vì tiếp tục tra DNS thêm lần nữa.
Câu hỏi thường gặp (FAQ)
Vì sao công cụ chỉ tra được hai resolver mà không phải hàng chục điểm khắp thế giới?
Vì trang web chỉ gọi được những dịch vụ DNS-over-HTTPS có gửi header CORS cho phép trình duyệt đọc kết quả, và hiện chỉ Google Public DNS cùng Cloudflare DNS đáp ứng ổn định. Các dịch vụ kiểm tra từ nhiều quốc gia phải vận hành máy chủ riêng ở từng nơi, việc đó không làm được từ trình duyệt của bạn.
Bật thêm Quad9 và AdGuard nhưng đều báo lỗi, có phải công cụ hỏng không?
Không. Hai dịch vụ đó không gửi header CORS nên trình duyệt chặn không cho trang này đọc kết quả, dù bản thân resolver vẫn hoạt động bình thường. Công cụ hiển thị thẳng lý do thay vì để ô trống, vì ô trống dễ bị hiểu nhầm thành tên miền không có bản ghi.
TTL hiển thị là giá trị tôi đặt trong bảng quản trị phải không?
Không hẳn. Đó là phần TTL còn lại tính từ lúc resolver nạp bản ghi vào bộ nhớ đệm, nên nó nhỏ dần theo thời gian và sẽ nhảy trở lại giá trị đầy khi resolver nạp mới. Muốn xem giá trị bạn cấu hình, hãy đọc trong bảng quản trị tên miền hoặc tra bản ghi ngay tại máy chủ tên thẩm quyền.
Hai resolver trả cùng kết quả thì đã lan truyền xong toàn cầu chưa?
Chưa chắc. Đó là tín hiệu tốt nhưng chỉ đại diện cho hai hệ thống, và mỗi hệ thống lại có bộ nhớ đệm riêng theo từng trung tâm dữ liệu. Resolver của nhà mạng trong nước thường cập nhật chậm hơn. Cách chắc chắn nhất là chờ hết TTL cũ của bản ghi rồi kiểm tra lại từ vài mạng khác nhau.
Thời gian còn phải chờ mà công cụ ước tính được tính thế nào?
Đó là TTL còn lại lớn nhất trong số các giá trị mà các resolver trả lời được đang giữ. Hết khoảng thời gian này, resolver bắt buộc phải hỏi lại máy chủ thẩm quyền, nên nếu bản ghi của bạn đã đúng thì sau mốc đó kết quả sẽ đổi. Đây là ước tính cho các nguồn đang đo, không phải cho toàn bộ Internet.
Đổi DNS xong bao lâu thì có hiệu lực?
Phụ thuộc TTL của bản ghi trước khi bạn sửa, không phụ thuộc lúc bạn bấm lưu. Đặt TTL 300 giây thì tối đa năm phút, đặt 86400 thì tối đa một ngày. Con số 24 đến 48 giờ mà nhiều nơi nói chỉ là mức an toàn dư ra cho trường hợp đổi cả máy chủ tên thẩm quyền.
Vì sao một resolver trả về địa chỉ khác hẳn resolver kia và mãi không giống nhau?
Nhiều khả năng tên miền dùng cấu hình phân phối theo vị trí, tức là cố tình trả địa chỉ khác nhau tuỳ nơi hỏi để đưa người dùng tới máy chủ gần nhất. Trường hợp này khác biệt là bình thường và sẽ không hội tụ. Cũng cần loại trừ khả năng nhà đăng ký còn sót máy chủ tên cũ trong danh sách NS.
Tra bản ghi SOA có ích gì khi đang chờ lan truyền?
Bản ghi SOA chứa số sê ri của vùng, con số này tăng mỗi lần bạn sửa bất kỳ bản ghi nào. So số sê ri giữa các resolver là cách nhanh để biết bản cập nhật đã tới nơi chưa, kể cả khi bản ghi bạn quan tâm chưa có gì thay đổi rõ rệt về giá trị.
Công cụ tra được tên miền nội bộ trong mạng công ty không?
Không. Truy vấn đi qua các resolver công cộng nên chỉ thấy được những vùng công khai trên Internet. Tên miền nội bộ hoặc vùng riêng chỉ tra được từ bên trong mạng đó, bằng lệnh dig hay nslookup trỏ thẳng vào máy chủ DNS nội bộ.
Lịch sử tra cứu có được lưu lại không?
Chỉ lưu trong bộ nhớ của tab đang mở, tối đa mười hai lần gần nhất, và mất khi bạn tải lại trang. Không có dữ liệu nào được gửi về máy chủ của chúng tôi, mọi truy vấn đi thẳng từ trình duyệt của bạn tới resolver công cộng.
Kết quả đã đồng bộ mà máy tôi vẫn vào trang cũ thì làm gì?
Xoá bộ nhớ đệm DNS của hệ điều hành, xoá cả bộ đệm riêng của trình duyệt, rồi thử lại bằng mạng di động. Nếu đổi mạng vào được thì vấn đề nằm ở resolver của nhà mạng và chỉ cần chờ thêm. Nếu mạng nào cũng lỗi thì nguyên nhân đã chuyển sang phía máy chủ hoặc chứng chỉ.
Công cụ này khác DNS Lookup trên site thế nào?
DNS Lookup tra một lượt qua đúng một resolver và liệt kê nhiều loại bản ghi cùng lúc, hợp để xem toàn cảnh cấu hình. Trang này tra đúng một loại bản ghi nhưng qua nhiều resolver rồi so sánh, hợp để trả lời câu hỏi thay đổi đã tới nơi chưa và còn phải chờ bao lâu.
Từ khóa liên quan
- kiểm tra lan truyền dns
- dns propagation checker
- check dns propagation
- dns đã cập nhật chưa
- đổi dns bao lâu có hiệu lực
- ttl dns là gì
- hạ ttl trước khi đổi máy chủ
- so sánh kết quả dns nhiều resolver
- dns over https là gì
- tra bản ghi a của tên miền
- kiểm tra bản ghi mx
- kiểm tra bản ghi txt spf dkim
- bản ghi caa là gì
- số sê ri soa dns
- google public dns 8.8.8.8
- cloudflare dns 1.1.1.1
- xoá bộ nhớ đệm dns
- đổi nameserver bao lâu
- website chưa trỏ về hosting mới
- công cụ kiểm tra dns miễn phí
