После изменения записи DNS A dig и nslookup показывают разные результаты для одного и того же доменного имени в Mac OS X.

После изменения записи DNS A имени хоста dig и nslookup показывают разные результаты. В то время как dig показывает правильный IP-адрес, nslookup по-прежнему показывает старый IP-адрес. Я на macos 11.2.3

Выход nslookup для моего домена {{domainname}} (обратите внимание, я заменил полученный IP-адрес на xxx.old.ip.xxx.

$ nslookup {{domainname}}
Server:     192.168.178.1
Address:    192.168.178.1#53

Non-authoritative answer:
Name:   {{domainname}}
Address: xxx.old.ip.xxx

и вывод dig (обратите внимание, что я заменил полученный IP-адрес на yyy.new.ip.yyy, чтобы указать, что это другой IP-адрес, чем в случае nslookup

$ dig {{domainname}}
; <<>> DiG 9.10.6 <<>> {{domainname}}
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 45116
;; flags: qr rd ra; QUERY: 1, ANSWER: 1, AUTHORITY: 0, ADDITIONAL: 1

;; OPT PSEUDOSECTION:
; EDNS: version: 0, flags:; udp: 512
;; QUESTION SECTION:
;{{domainname}}.        IN  A

;; ANSWER SECTION:
{{domainname}}. 1157    IN  A   yyy.new.ip.yyy

;; Query time: 70 msec
;; SERVER: 192.168.178.1#53(192.168.178.1)
;; WHEN: Fri Mar 12 18:29:03 CET 2021
;; MSG SIZE  rcvd: 63

Что не так с nslookup? Это кеширование DNS? Что я могу сделать, чтобы заставить nslookup (и другие инструменты) обновить кеш DNS, если это было проблемой.

Обновление: примерно через 20 минут nslookup и dig показывают один и тот же IP-адрес, а ssh подключается с использованием {{domainname}}.


person Oussama    schedule 12.03.2021    source источник


Ответы (1)


Ни один из ответов не получен от авторитетного сервера имен, поэтому ответ DNS пришел из кэша распознавателя. Перед изменением записи ресурса DNS запишите значение TTL. Это количество секунд ожидания, прежде чем распознаватели удалят кэшированное значение. Для команды dig значение TTL, оставшееся для кэшированного значения, составляет 1157 секунд до следующего обновления.

person John Hanley    schedule 12.03.2021
comment
Значит, у dig и nslookup разные кэши DNS? Любая информация о том, как очистить кеш DNS nslookup? - person Oussama; 12.03.2021
comment
Ответ зависит от того, как вы настроили DNS на вашем локальном компьютере (macOS) и в вашей сети. Для nslookup преобразователь - 192.168.178.1. Я не вижу, что использовал dig. Ваша ОС может кэшировать запросы DNS, но если вышестоящий преобразователь имеет такое же кэшированное значение, то локальный кеш просто пополнится тем же старым значением. Однако это помогает только вашей системе. А как насчет остального мира? Вам нужно дождаться глобального обновления распознавателей. - person John Hanley; 13.03.2021