Niedawno miałem problem z tym, że zdalna usługa żądająca adresu IP mojego serwera (z hostowanym dostawcą DNS) odpowiadała:
DNS problem: SERVFAIL looking up A for mysql.xavamedia.nl
(Aktualizacja: wspomniana tutaj usługa zdalna to Let's Encrypt; zgłosiłem błąd w narzędziu do śledzenia problemów, co doprowadziło mnie na tę ścieżkę).
Podczas testowania w mojej sieci lokalnej mogłem zobaczyć, że czasami otrzymuję pustą odpowiedź DNS od hostowanego serwera DNS. Najwyraźniej jest to sporadyczne, ponieważ dzieje się tak tylko wtedy, gdy rekordy DNS nie znajdują się w pamięci podręcznej, a problem występuje tylko wtedy, gdy serwer DNS jest naprawdę zajęty.
Oto opis pustej wiadomości odpowiedzi Wireshark:
Oczywiście, ponieważ większość zapytań DNS i odpowiedzi są wysyłane przez UDP, lokalny program tłumaczący po prostu zaczeka chwilę na odpowiedź, a następnie się podda. Zastanawiam się teraz, czy istnieją wytyczne dotyczące czasów odpowiedzi DNS? Mój serwer DNS wzruszył ramionami i powiedział, że mój lokalny program tłumaczący zbyt wcześnie wysłał pustą odpowiedź. Nigdy wcześniej nie miałem tego problemu, ale jestem zaskoczony trybem awarii - pustą odpowiedzią DNS bez kodu błędu.
Czy ktoś zna jakieś wytyczne dotyczące tego, jak to powinno działać i kiedy / jak mogę udowodnić, że mój serwer DNS robi coś złego?
dig
/nslookup
lub sekcję Wireshark. (tcpdump
nie będzie wystarczająco dobry) Jeśli używasznslookup
, wykonajset debug
najpierw.