Когда я внес изменения в DNS-хост.
Как мне заставить клиентов (серверы) обновить / очистить свой кеш DNS, чтобы они сразу увидели изменения?
Вы можете перезапустить BIND в Ubuntu, используя sudo rndc reload
, на Centos я считаю, что вам нужно /etc/init.d/bind restart
.
Вы также можете выполнить /etc/init.d/networking restart
чтобы очистить DNS / сеть для локальных компьютеров под управлением Ubuntu.
Я обнаружил, что простой перезапуск не всегда очищает кеш. Другой способ сделать это - использовать команду nscd и сделать недействительным кеш хостов.
# nscd -i hosts
Тогда вам даже не нужно перезапускать службу кеширования.
В зависимости от вашего дистрибутива клиенты могут не кэшировать по умолчанию. Для Ubuntu или CentOS попробуйте эту команду: sudo /etc/init.d/nscd status
... чтобы увидеть, запущен ли демон кеширования. Если это так, то ваш клиент кэширует DNS, и вы можете очистить его следующим образом: sudo /etc/init.d/nscd restart
если NSCD не запущен, то на клиенте нечего сбрасывать, и вам необходимо: 1. убедиться, что старой записи нет в файле / etc / hosts 2. убедиться, что изменение DNS уже распространено на все подчиненные DNS-серверы ( проверьте resolv.conf, где он разрешается)