Gần đây tôi đã gặp sự cố khi một dịch vụ từ xa yêu cầu địa chỉ IP cho máy chủ của tôi (với nhà cung cấp DNS được lưu trữ) đã phản hồi với:
DNS problem: SERVFAIL looking up A for mysql.xavamedia.nl
(Cập nhật: dịch vụ từ xa được đề cập ở đây là Let Encrypt; Tôi đã gửi một lỗi đối với trình theo dõi vấn đề của họ, điều này dẫn tôi đến con đường này.)
Khi thử nghiệm trên mạng cục bộ của mình, tôi có thể thấy rằng đôi khi tôi nhận được phản hồi DNS trống từ máy chủ DNS được lưu trữ. Rõ ràng điều này không liên tục vì nó chỉ xảy ra khi các bản ghi DNS không có trong bộ đệm và nó chỉ là vấn đề khi máy chủ DNS thực sự bận.
Dưới đây là mô tả của Wireshark về một thông báo phản hồi trống:
Tất nhiên, vì hầu hết các truy vấn và phản hồi DNS được gửi qua UDP, trình phân giải cục bộ sẽ chỉ chờ một lúc để nhận phản hồi và sau đó từ bỏ. Điều tôi đang băn khoăn là, có hướng dẫn nào về thời gian phản hồi DNS không? Bộ đệm DNS của tôi nhún vai và nói rằng bộ giải quyết cục bộ của tôi đã gửi phản hồi trống quá sớm. Tôi chưa bao giờ gặp vấn đề này trước đây, nhưng tôi ngạc nhiên về chế độ thất bại - phản hồi DNS trống mà không có mã lỗi.
Có ai đó biết một số hướng dẫn về cách thức hoạt động của tính năng này không và khi nào / làm thế nào tôi có thể chứng minh việc lưu trữ DNS của mình đang làm gì đó sai?
dig
/nslookup
hoặc mổ xẻ Wireshark. (tcpdump
sẽ không đủ tốt) Nếu bạn đang sử dụngnslookup
, hãy thực hiệnset debug
trước.