Como atualizar / liberar cache de DNS nos clientes?

9

Quando eu fiz alterações no host DNS.

Como faço para que os clientes (servidores) atualizem / liberem seu cache DNS, para que eles vejam a alteração imediatamente?

Sandra
fonte

Respostas:

9

Você pode reiniciar o BIND no Ubuntu usando sudo rndc reload, no Centos, acredito que você precise /etc/init.d/bind restart.

Você também pode executar /etc/init.d/networking restartpara liberar o DNS / rede para desktops locais executando o Ubuntu.

cinza
fonte
1
Não tenho referências à mão, mas você tem certeza que rndc reloadlimpa o cache? Eu acho que não.
um CVn
Se você alterar as configurações de ligação, é melhor liberar o servidor DNS usando rndc, do que reiniciar o serviço. Se você alterar o arquivo hosts, a liberação é feita via /etc/init.d/networking restart. Costumo encontrar-me liberando essas configurações.
ash
2
Nenhum se esses métodos trabalhar no meu debian wheezy caixa :( Também tentei instalar nscde bind9apenas para a lavagem por meio daqueles, não funcionou.
Cobra_Fast
/etc/init.d/networking restarttrava meu desktop Ubuntu (GNOME fallback, eu acho)
Trate seus mods bem
7

Descobri que uma simples reinicialização nem sempre limpa o cache. A outra maneira de fazer isso seria usar o comando nscd e invalidar o cache dos hosts.

# nscd -i hosts

Então você nem precisa reiniciar o serviço de cache.

Danie
fonte
4

Dependendo da sua distribuição, os clientes podem não fazer cache por padrão. Para Ubuntu ou CentOS, tente este comando: sudo /etc/init.d/nscd status

... para ver se o demônio do cache está em execução. Se estiver, seu cliente está armazenando em cache o DNS e você pode lavá-lo com isso: sudo /etc/init.d/nscd restart

se o NSCD não estiver em execução, não haverá nada para liberar no cliente e você precisará: 1. verificar se a entrada antiga não está no arquivo / etc / hosts 2. verificar se a alteração no DNS já foi propagada para qualquer servidor DNS ( verifique o resolv.conf para onde está resolvendo)

paulusdd
fonte