Estou usando o BIND 9.18 para fins de teste. Eu crio uma zona que suporta DNS dinâmico e tento usar nsupdate
para atualizar o registro de recursos do domínio. Após 15 minutos, a atualização é gravada com êxito no arquivo de zona original. No entanto, quando eu uso dig
para consultar o domínio e a resposta não muda. Então eu desligo named
, reinicio e uso dig
para consultar o domínio novamente, e a resposta mostra a atualização. Eu tento atualizar manualmente o arquivo de zona usando rndc
e o resultado é o mesmo - o arquivo de zona é atualizado com sucesso, mas a atualização só fica visível dig
depois que eu reinicio o bind9.
Minha dúvida é, tenho que reiniciar periodicamente o bind9 para tornar as atualizações visíveis para as consultas?
Obrigado!
Como observou @HBruijn, as atualizações dinâmicas são primeiro armazenadas no diário e não são gravadas imediatamente no arquivo de zona. Portanto, é errado verificar se uma atualização foi aplicada visualizando o arquivo de zona.
Em vez disso, você deve consultá-lo via DNS (use
dig
,host
e assim por diante) imediatamente após obter sucessosend
no nsupdate. Você verá que ele já está servindo os dados atualizados/novos, apesar do arquivo de zona de fatos ainda não ter sido reescrito. (Talvez seja necessário direcionar um cliente para o seu servidor, para evitar caches de resolvedores intermediários.) Você também pode observar nos logs que ele propaga a alteração para os servidores escravos imediatamente após a chegada da atualização. A atualização do DNS dinâmico é instantânea.O arquivo de zona textual não é adequado para atualizações rápidas. Essa atualização requer uma reescrita completa do arquivo. Imagine um servidor que recebe um fluxo de atualização sólido para uma zona grande — seria um grande desperdício reescrever um arquivo de zona toda vez. É por isso que ele armazena em cache as atualizações recentes no diário da zona e aplica um diário apenas periodicamente. Isso é como uma página de correções/erratas no final do livro: quando o corpo do livro já está pronto, é caro reimprimir toda a edição, então eles adicionam uma página adicional que diz onde, o que e no que deve ser alterado para o livro estar correto. E só na próxima edição eles realmente incorporam essas correções ao texto.
Você pode, no entanto, enviar um comando para aplicar o diário agora e reescrever o arquivo de zona :
Não faça isso com muita frequência; isso é abaixo do ideal. Não se preocupe com a atualização do diário e do arquivo de zona não imediata, cuide do seu negócio (atualizações dinâmicas) e deixe o BIND fazer seu trabalho da maneira que preferir, sem microgerenciamento.