Esta seção cobre maneiras que ajudam a determinar a causa quando os problemas acontecem com o DNS e o BIND9.
O primeiro passo para testar o BIND9 é adicionar o Endereço IP do servidor de nomes no resolvedor da máquina. O servidor de nomes Primário deve ser configurado também em outra máquina para checagem dupla. Simplesmente edite o /etc/resolv.conf e adicione o seguinte:
nameserver 192.168.1.10 nameserver 192.168.1.11
|
|
|
Você deve também adicionar o Endereço IP do servidor de nomes Secundário no caso do Primário ficar indisponível. |
Se você instalou o pacote dnsutils você pode testar sua configuração utilizando o utilitário DNS de busca de DNS dig:
-
Após instalar o BIND9 use o dig contra a interface loopback para ter certeza que ele está ouvindo na porta 53. A partir de um terminal:
dig -x 127.0.0.1Você deve ver linhas parecidas com as seguintes na saída do comando:
;; Query time: 1 msec ;; SERVER: 192.168.1.10#53(192.168.1.10)
-
Se você configurou o BIND9 como um servidor de nomes Caching "dig" um domínio externo para checar o tempo da consulta:
dig ubuntu.comAnote o tempo da consulta para no fim da saída do comando
;; Query time: 49 msec
Depois de um segundo dig, poderá ter melhorado:
;; Query time: 1 msec
Now to demonstrate how applications make use of DNS to resolve a host name use the ping utility to send an ICMP echo request. From a terminal prompt enter:
ping example.com
This tests if the nameserver can resolve the name ns.example.com to an IP Address. The command output should resemble:
PING ns.example.com (192.168.1.10) 56(84) bytes of data. 64 bytes from 192.168.1.10: icmp_seq=1 ttl=64 time=0.800 ms 64 bytes from 192.168.1.10: icmp_seq=2 ttl=64 time=0.813 ms
Um boa forma de testar seus arquivos de zona é usando o utilitário named-checkzone instalado com o pacotebind9. Este utilitário permite que você tenha certeza que a configuração está correta antes de reiniciar o BIND9 e faça as alterações entrar em vigor.
-
Para testar nosso arquivo de zona Forward de exemplo, entre o seguinte a partir de um terminal:
named-checkzone example.com /etc/bind/db.example.comSe tudo estiver configurado corretamente você deverá ver algo similar a:
zone example.com/IN: loaded serial 6 OK
-
Similarmente, para testar o arquivo de zona Reversa entre o seguinte:
named-checkzone example.com /etc/bind/db.192A saída deve ser similar a:
zone example.com/IN: loaded serial 3 OK
|
|
|
O Número Serial do seu arquivo de zona provavelmente estará diferente. |
O BIND9 possui uma vasta variedade de opções de configuração de registro disponíveis. Existem duas opções principais. A opção channel para configurar onde irão os registros, e a opção category que determina qual informação registrar.
Se nenhuma opção de registro estiver configurada o padrão é:
logging {
category default { default_syslog; default_debug; };
category unmatched { null; };
};
Esta seção cobre a configuração do BIND9 para enviar mensagens de debug relacionadas as consultas DNS para um arquivo separado.
-
Primeiro, nós temos que configurar um canal para especificar para que arquivo as mensagens serão enviadas. Edite o
/etc/bind/named.conf.locale adicione o seguinte:logging { channel query.log { file "/var/log/query.log"; severity debug 3; }; }; -
A seguir, configura a categoria para enviar todas as consultas DNS para o arquivo de consultas:
logging { channel query.log { file "/var/log/query.log"; severity debug 3; }; category queries { query.log; }; };
|
|
|
Nota: a opção debug pode ser configurada de 1 a 3. Se um nível não for especificado o nível 1 será o padrão. |
-
Uma vez que odeamon named é executado como o usuário bind o arquivo
/var/log/query.logdeve ser criado e seu dono substituído:sudo touch /var/log/query.log sudo chown bind /var/log/query.log
-
Antes que o deamon named possa escrever no arquivo de log o perfil do AppArmor deve ser atualizado. Primeiro, edite
/etc/apparmor.d/usr.sbin.namede adicione:/var/log/query.log w,
A seguire, recarregue o perfil:
cat /etc/apparmor.d/usr.sbin.named | sudo apparmor_parser -rPara mais informações sobre o AppArmor veja “AppArmor”
-
Now restart BIND9 for the changes to take effect:
sudo /etc/init.d/bind9 restart
Você deve ver o arquivo /var/log/query.log repleto de informações de consultas. Este é um exemplo simples das opções de registros do BIND9. Para cobertura de opções avançadas veja “Mais Informações”.

