Может кто-нибудь сказать мне, почему это происходит? Я могу разрешить имя хоста, используя host и / или nslookup, но прямой поиск не работает с dig; обратные поиски делают:
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
Вот как выглядит мой resolv.conf:
nameserver 192.168.0.253
search somenet.internal
Это нормальное поведение? Есть предположения?
domain-name-system
host
nslookup
dig
musashiXXX
источник
источник
dig
для отладки DNS, и в этом случае неплохо отключить все, что может испортить ответы из DNS. Я думаю, что это довольно хорошая идея; большинство людей используютhost
и вnslookup
конце концов. :-)У меня была такая же проблема. После проверки пакетов, отправленных как из nslookup, так и с помощью wireshark, я обнаружил проблему.
dig устанавливает бит достоверных данных в запросе. Согласно справочной странице, «это запрашивает у сервера возвращение, все ли разделы с ответами и полномочиями были проверены как безопасные в соответствии с политикой безопасности сервера». Запустив dig с + noadflag, он вернул те же результаты, что и nslookup.
источник
edns
расширением. Когда я сделал запрос с+noends
dig вернул тот же результат, что и хост.В моем случае это ошибка в Microsoft DNS Server, где он возвращает
FORMERR
ответ (ошибка формата запроса) для запросов сEDNS Cookie
установленным параметром. Более новые версииdig
(9.11 и выше) по умолчанию используют dns-cookies. Это может быть предотвращено+nocookie
или+noedns
флаг копать:Источник: https://kevinlocke.name/bits/2017/01/20/formerr-from-microsoft-dns-server-for-dig/
источник
Вы можете использовать файл .digrc в вашем домашнем каталоге со строкой
+ поиск
на случайное поведение по умолчанию
источник
Я столкнулся с этой проблемой в моей домашней сети Wi-Fi, пытаясь решить проблему
google.com
с помощью виртуальной машины Ubuntu, работающей на хосте Windows 7, сdig
тайм-аутом, ноnslookup
мгновенно вернувшим результат.Решение для меня было добавить
+noedns
:$ dig +noedns google.com
.источник