Publicado por: Rafael Guedes | 2 maio 2010

Dicas: Gerenciamento do Bind

Neste post irei abordar algumas dicas referentes ao uso cotidiano do servidor DNS Bind. Criar o arquivo de Zona e configurar o servidor de nomes é apenas o começo. Gerenciar um servidor de nomes requer um entendimento de como ele funciona e quais comandos ele suporta, incluindo os utilitários de gerenciamento ndcrndc, que controlam o Bind8 e Bind9 respectivamente. Irei apontar cinco problemas/soluções que vão desde quanta memória seu servidor de nomes precisa à como modificar os dados de Zona sem reiniciar o servidor de nomes.

Como determinar quanta memória será necessária para o Servidor de Nomes?

  • A única maneira de determinar o quanto de memória um servidor de nomes precisa é configurá-lo, iniciá-lo e monitorá-lo usando uma ferramenta como o top, ou ainda via SNMP. Depois de uma semana o tamanho do processo named deverá se estabilizar e você poderá ser capaz de visualizar o quanto de memória será necessário. A razão disto é a dificuldade de calcular a memória necessária devido ao grande número de variáveis envolvidas. Além disso o tamanho do named varia de acordo com a arquitetura do hardware e versão de sistema operacional.

Como testar as configurações do Bind antes de aplicá-las?

  • Usando o named-checkconf para testar o named.conf.
  • Por padrão o named-checkconf testa o arquivo /etc/named.conf, se ele estiver localizado em outro local, você deverá explicitá-lo.

#named-checkconf

Testa o named.conf em outro diretório:
#named-checkconf ~/teste/named.conf

Testa o named.conf utilizando chroot:
#named-checkconf -t /var/named/chroot
P.S. o diretório /var/named/chroot refere-se ao diretório onde o bind está enjaulado.

  • named-checkconf utiliza rotinas do Bind para testar erros de sintaxe e semântica no named.conf, e caso encontre erros, será imprimida uma mensagem na saída padrão. Por exemplo:

#named-checkconf /tmp/named.conf
/tmp/named.conf:3: missing ‘;’ before ‘}’

  • Usando o named-checkzone para testar os arquivos de Zona.

#named-checkzone zona.com.br arquivo_de_zona.zone

  • Se o arquivo de Zona tiver algum erro, named-checkzone irá imprimir o erro.
  • Embora, o named-checkfonf tenha sido introduzido na versão 9.1.0 do Bind, o utilitário pode ser utilizado para testar arquivos do Bind 8 devido a sua semelhança.
  • Os arquivos de zona, são iguais em ambas as versões, logo você também pode utilizar o named-checkzone para o Bind 8.

Como modificar os dados de uma Zona sem precisar reiniciar o Bind?

  • Altere os dados no arquivo de Zona;
  • Não esqueça de alterar o campo Serial no registro SOA;
  • Para o Bind 9, execute o seguinte comando:

Se modificou apenas uma Zona:
#rndc reload empresa.com.br

Se modificou várias Zonas:
#rndc reload orgao.org.br dominio.com.br

Se você modificou uma Zona, mas utiliza o recurso de view:
#rndc reload empresa.com.br in internal
#rndc reload empresa.com.br in external

  • Para o Bind 8, execute o seguinte comando:

O Bind 8 não suporta views, portanto você apenas irá usar:
#ndc reload domain.com

  • Versões antigas do Bind não suportam reload per zone.

Como visualizar o cache do Bind?

  • Deve-se realizar um dump do cache que está em memória para um arquivo em disco.
  • A localização deste arquivo é especificada na opção dump-file dentro da seção options do named.conf.
  • Utilize então o seguinte comando para gerar o dump:

Se utilizar o Bind 8:
#ndc dumpdb

Se utilizar o Bind 9:
#rndc dumpdb

  • Após gerar o dump do cache de nomes, precisamos visualizar o arquivo definido na opção dump-file. Por exemplo:

less /var/named/data/cache_dump.db

Como limpar o cache do Bind sem reiniciar o serviço?

  • Para dar um flush no cache execute:

#rndc flush

Ou se você usa o recurso de view:
#rndc flush internal
#rndc flush optional

  • Em versões posteriores a 9.3.0, é possível limpar o cache de apenas um determinado nome. Por exemplo:

Para limpar o cache de nomes específicos:
#rndc flushname http://www.globo.com

  • Apenas versões superiores a 9.2.0 do Bind suportam o flush.
  • Em versões anteriores deve-se reiniciar o Bind.


FONTE:
http://www.oreillynet.com/pub/a/network/excerpt/dnsbindcook_ch05/?page=2
.


Responses

  1. Muito bom o post !


Deixe uma resposta

Preencha os seus dados abaixo ou clique em um ícone para log in:

Logotipo do WordPress.com

Você está comentando utilizando sua conta WordPress.com. Sair / Alterar )

Imagem do Twitter

Você está comentando utilizando sua conta Twitter. Sair / Alterar )

Foto do Facebook

Você está comentando utilizando sua conta Facebook. Sair / Alterar )

Foto do Google+

Você está comentando utilizando sua conta Google+. Sair / Alterar )

Conectando a %s

Categorias

%d blogueiros gostam disto: