5

Я пытаюсь использовать dig для проверки информации DNS, но вижу только старые результаты. Из того, что я прочитал, Ubuntu не кэширует DNS по умолчанию на уровне операционной системы. Если это правда, то команда dig имеет свой собственный кэш DNS. Предположительно, установка универсального кеша DNS, такого как NSDC, не помешает dig использовать собственный кеш, поэтому мой вопрос: как очистить кеш, используемый командой dig?

Я понимаю, что информация DNS может распространяться не сразу, но если я, например, dig @8.8.8.8 , я получаю обновленные результаты. Тем не менее, обычное использование dig в одном и том же домене покажет, что все результаты, кроме первого, занимают 0 мс, поэтому очевидно, что на некотором уровне происходит кэширование.

Изменить: Вот резюме с dig superuser.com с первой попытки:

;; Query time: 233 msec
;; SERVER: 208.109.188.1#53(208.109.188.1)
;; WHEN: Tue Apr 24 10:09:19 2012
;; MSG SIZE  rcvd: 113

и вторая попытка:

;; Query time: 0 msec
;; SERVER: 208.109.188.1#53(208.109.188.1)
;; WHEN: Tue Apr 24 10:09:58 2012
;; MSG SIZE  rcvd: 113

2 ответа2

8

У dig нет собственного кеша, если вы не запускаете локально некоторый демон кэширования, такой как nsdc или dnsmasq и т. д. Если вам нужно просто перезапустить эти демоны, чтобы очистить локальный кеш. Вы можете использовать +trace, чтобы точно увидеть, откуда приходят результаты.

0

Если вы видите nameserver 127.0.0.1 в вашем /etc/hosts , замените строку другим сервером имен, например nameserver 8.8.4.4, и удалите пакет resolvconf (для Ubuntu: apt-get remove resolvconf). Это сработало для меня.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .