Как обновить / очистить кэш днс на клиентах?

9

Когда я внес изменения на хосте DNS.

Как заставить клиентов (серверы) обновить / очистить свой DNS-кеш, чтобы они сразу увидели изменения?

Sandra
источник

Ответы:

9

Вы можете перезапустить BIND в Ubuntu, используя sudo rndc reloadCentos, я считаю, что вам нужно /etc/init.d/bind restart.

Вы также можете выполнить /etc/init.d/networking restartсброс DNS / сети для локальных рабочих столов, на которых работает Ubuntu.

ясень
источник
1
У меня нет удобных ссылок, но вы уверены, что rndc reloadочищаете кеш? Я не думаю, что это так.
CVn
Если вы вносите изменения в конфигурации связывания, то лучше сбрасывать использование сервера DNS rndc, чем перезапускать службу. Если вы измените файл hosts, то очистка выполняется через /etc/init.d/networking restart. Я часто обнаруживаю, что сбрасываю эти конфигурации.
пепел
2
Ни один, если эти методы не работают на моем Debian Wheezy Box :( Также пытался установить nscdи bind9только для
очистки
/etc/init.d/networking restartвылетает мой рабочий стол Ubuntu (думаю, GNOME Fallback)
хорошо относитесь к своим модам
7

Я обнаружил, что простой перезапуск не всегда очищает кэш. Другой способ сделать это - использовать команду nscd и аннулировать кэш хостов.

# nscd -i hosts

Тогда вам даже не нужно перезапускать сервис кэширования.

Danie
источник
4

В зависимости от вашего дистрибутива клиенты могут не кэшироваться по умолчанию. Для Ubuntu или CentOS попробуйте следующую команду: sudo /etc/init.d/nscd status

... чтобы увидеть, работает ли демон кэширования. Если это так, то ваш клиент кэширует DNS, и вы можете сбросить его с помощью: sudo /etc/init.d/nscd restart

если NSCD не запущен, то на клиенте нечего очищать, и вам необходимо: 1. убедиться, что старая запись отсутствует в файле / etc / hosts 2. убедиться, что изменение DNS уже распространено среди любых ведомых DNS ( проверьте resolv.conf, где он решает)

paulusdd
источник