De acordo com as Leis 12.965/2014 e 13.709/2018, que regulam o uso da Internet e o tratamento de dados pessoais no Brasil, ao me inscrever na newsletter do portal DICAS-L, autorizo o envio de notificações por e-mail ou outros meios e declaro estar ciente e concordar com seus Termos de Uso e Política de Privacidade.
Colaboração: Rubens Queiroz de Almeida
Data de Publicação: 10 de Abril de 1997
Para o correto funcionamento de um servidor DNS, é necessário que se
atualize periodicamente o arquivo chamado named.root. Este arquivo está
disponível,via ftp anônimo, em ftp://rs.internic.net/domain/named.root
Este arquivo contém a lista dos servidores de mais alto nível na
Internet, o domínio ".".
Caso esta lista esteja desatualizada os efeitos podem ser desastrosos
e potencialmente difíceis de se identificar. Todo servidor DNS ao
ser ativado precisa desta lista para então chegar aos servidores
dos domínios mais baixos, como .com, .edu, etc e os domínios geográficos
(.br, .jp, .au, etc.)
Esta tarefa pode ser facilmente automatizada a partir de um shell script, como o que se segue
#!/bin/ksh
# A seguir, é realizada uma sessão de ftp em modo batch. Os argumentos
# fornecidos ao programa ftp são fornecidos na linha de comando até se
# chegar ao delimitador, no nosso caso, a string EOF.
wget ftp://rs.internic.net/domain/named.root
# Uma vez recuperado o arquivo cabe compará-lo com a versão em
# uso. Se diferentes, efetuar a substituição e dar um refresh
# no servidor DNS
# A localização do arquivo em uso pelo seu servidor é variável
# e é determinada pelo valor da diretiva
# directory /usr/local/named
# e pela diretiva
# cache . named.root
# contidas no arquivo /etc/named.boot. Em nosso exemplo estamos
# assumindo que os arquivos de configuração encontrem-se em
# /usr/local/named
# No laço abaixo, caso o comando diff retorne um valor diferente
# de zero, então serão executados os comandos contidos na diretiva else.
# É enviado também um mail para os administradores notificando-os que
# houve uma alteração no arquivo named.root
if diff named.root /usr/local/named/named.root 1> /dev/null 2> /dev/null
then
# Tudo normal, sai da shell
exit
else
# os arquivos são diferentes, executar a substituição, dar um refresh no
# named e enviar um mail à equipe de suporte
cp named.root /usr/local/named/named.root
kill -HUP ""cat /etc/named.pid""
mail -s "Named substituído" suporte@acme.com.br < /dev/null
fi