Czy ktoś może mi powiedzieć, dlaczego tak się dzieje? Mogę rozwiązać nazwę hosta za pomocą hosta i / lub nslookup, ale wyszukiwania do przodu nie działają z dig; wyszukiwania wsteczne wykonują:
musashixxx@box:~$ host someserver
someserver.somenet.internal has address 192.168.0.252
musashixxx@box:~$ host 192.168.0.252
252.0.168.192.in-addr.arpa domain name pointer someserver.somenet.internal.
musashixxx@box:~$ nslookup someserver
Server: 192.168.0.253
Address: 192.168.0.253#53
Name: someserver.somenet.internal
Address: 192.168.0.252
musashixxx@box:~$ nslookup 192.168.0.252
Server: 192.168.0.253
Address: 192.168.0.253#53
252.0.168.192.in-addr.arpa name = someserver.somenet.internal.
musashixxx@box:~$ dig someserver
; <<>> DiG 9.8.1-P1 <<>> someserver
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: SERVFAIL, id: 55306
;; flags: qr rd ra; QUERY: 1, ANSWER: 0, AUTHORITY: 0, ADDITIONAL: 0
;; QUESTION SECTION:
;someserver. IN A
;; Query time: 0 msec
;; SERVER: 192.168.0.253#53(192.168.0.253)
;; WHEN: Wed Oct 3 15:47:38 2012
;; MSG SIZE rcvd: 27
musashixxx@box:~$ dig -x 192.168.0.252
; <<>> DiG 9.8.1-P1 <<>> -x 192.168.0.252
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 28126
;; flags: qr aa rd ra; QUERY: 1, ANSWER: 1, AUTHORITY: 0, ADDITIONAL: 0
;; QUESTION SECTION:
;252.0.168.192.in-addr.arpa. IN PTR
;; ANSWER SECTION:
252.0.168.192.in-addr.arpa. 3600 IN PTR someserver.somenet.internal.
;; Query time: 0 msec
;; SERVER: 192.168.0.253#53(192.168.0.253)
;; WHEN: Wed Oct 3 15:49:11 2012
;; MSG SIZE rcvd: 86
Oto jak wygląda mój resolv.conf:
nameserver 192.168.0.253
search somenet.internal
Czy to zachowanie jest normalne? jakieś pomysły?
domain-name-system
host
nslookup
dig
musashiXXX
źródło
źródło
dig
do debugowania DNS iw tym przypadku całkiem dobrym pomysłem jest wyłączenie wszystkiego, co może zepsuć odpowiedzi z DNS. Myślę, że to całkiem niezły pomysł; większość ludzi używahost
inslookup
po wszystkim. :-)Miałem ten sam problem. Po sprawdzeniu pakietów wysłanych zarówno z nslookup, jak i dig za pomocą wireshark, znalazłem problem.
dig ustawiał autentyczny bit danych w zapytaniu. Według strony podręcznika: „To powoduje, że serwer zwraca, czy wszystkie sekcje odpowiedzi i autoryzacji zostały zatwierdzone jako bezpieczne zgodnie z polityką bezpieczeństwa serwera”. Uruchomienie dig z + noadflag zwróciło takie same wyniki jak nslookup.
źródło
edns
rozszerzeniem. Kiedy wykonałem zapytanie z+noends
dig, zwróciło ten sam wynik co host.W moim przypadku jest to błąd w serwerze Microsoft DNS, który zwraca
FORMERR
odpowiedź (błąd formatu żądania) na żądania zEDNS Cookie
ustawioną opcją. Nowsze wersjedig
(9.11 i nowsze ) domyślnie używają plików cookie dns. Można temu zapobiec+nocookie
lub+noedns
oflagować, aby kopać:Źródło: https://kevinlocke.name/bits/2017/01/20/formerr-from-microsoft-dns-server-for-dig/
źródło
Możesz użyć pliku .digrc w katalogu domowym z linią
+ wyszukiwanie
zaryzykować domyślne zachowanie
źródło
Wystąpił ten problem w mojej domowej sieci Wi-Fi, próbując rozwiązać dobry problem
google.com
z poziomu maszyny Wirtualnej Ubuntu działającej na hoście systemu Windows 7dig
, która przekroczyła limit czasu, alenslookup
natychmiast zwróciła wynik.Rozwiązaniem dla mnie było, aby dodać
+noedns
:$ dig +noedns google.com
.źródło