Mam serwer z systemem CentOS 6 z Bind 9.8.2, który nie rozpoznaje DNS dla jednego konkretnego hosta, który nie jest nawet jedną ze stref obsługiwanych przez ten serwer. Wszystkie pozostałe zapytania działają poprawnie, w tym zapytania dotyczące innych hostów w domenie, z którą mam problem.
Z serwera problemów
$ dig www.example.com
; <<>> DiG 9.8.2rc1-RedHat-9.8.2-0.47.rc1.el6 <<>> www.example.com
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: SERVFAIL, id: 6139
;; flags: qr rd ra; QUERY: 1, ANSWER: 0, AUTHORITY: 0, ADDITIONAL: 0
;; QUESTION SECTION:
;www.example.com. IN A
$ nslookup -debug www.example.com
Server: x.x.x.x
Address: x.x.x.x#53
------------
QUESTIONS:
www.example.com, type = A, class = IN
ANSWERS:
AUTHORITY RECORDS:
ADDITIONAL RECORDS:
------------
** server can't find www.example.com: SERVFAIL
Server: x.x.x.x
Address: x.x.x.x#53
$ dig en-es.example.com
; <<>> DiG 9.8.2rc1-RedHat-9.8.2-0.47.rc1.el6 <<>> en-es.example.com
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 4755
;; flags: qr rd ra; QUERY: 1, ANSWER: 3, AUTHORITY: 4, ADDITIONAL: 1
;; QUESTION SECTION:
;en-es.example.com. IN A
;; ANSWER SECTION:
en-es.example.com. 600 IN A z.z.z.z
Z innych serwerów (zarówno w tej samej sieci, jak i poza nią)
$ dig www.example.com
; <<>> DiG 9.9.4-RedHat-9.9.4-29.el7_2.3 <<>> www.example.com
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 58315
;; flags: qr rd ra; QUERY: 1, ANSWER: 3, AUTHORITY: 0, ADDITIONAL: 1
;; OPT PSEUDOSECTION:
; EDNS: version: 0, flags:; udp: 4096
;; QUESTION SECTION:
;www.example.com. IN A
;; ANSWER SECTION:
www.example.com. 324 IN CNAME my.cname.net.
my.cname.net . 20 IN A y.y.y.y
Jak wyśledzić, dlaczego to zapytanie powoduje, że SERVFAIL pozwala na następny logiczny krok, rozwiązując problem.
Odpowiedzi:
Problem został rozwiązany dzisiaj, okazuje się, że był to problem z plikami stref dla danej domeny. Najwyraźniej klient miał modyfikacje, które obejmowały tak zwane „kontenery” (zakładając, że była to delegacja strefy), a po niektórych kontrolach poprawności DNS zwrócono niektóre dziwne błędy. Odwrócili swoje zmiany i wszystko wróciło do normy. Wygląda na to, że delegowali subdomenę www, ale nie dodali dokumentacji wymagającej odpowiedniego uprawnienia. Uważam, że spowodowało to jakiś problem DNSSEC, którego nasz serwer nie rozwiązał.
źródło