Não mencionei este arquivo na página anterior com o propósito firmar a importância dele na administração do serviço.
named.log
Arquivo de log gerado pelo BIND, o normal é que os logs do bind sejam encaminhados para /var/log/messages, mas como é para lá que vão a maioria das mensagens dos serviços instalados no S.O, sugiro que siga a dica de colocar estes valores dentro de named.conf e fazer as alterações abaixo para que os logs sejam direcionados para /var/log/named/named.log.
# Configuração de Log do Bind.
logging {
channel custom {
file "/var/log/named/named.log";
print-time yes;
print-category yes;
};
category config {custom;};
category notify {custom;};
category dnssec {custom;};
category general {custom;};
category security {custom;};
category xfer-out {custom;};
category lame-servers {custom;};
};
Vamos usar no exemplo um domínio fictício "linuxinside.srv.br", para referenciar o ip vamos utilizar o w.x.y.z.
Partindo do princípio que o BIND foi instalado corretamente e que os arquivos referentes a zona e o named.conf foram preenchidos com as informações pertinentes ao seu domínio, o próximo passo é fazer a checagem das configurações:
named-checkconf
Com este comando podemos verificar a sintaxe do arquivo named.conf. Exemplo:
# named-checkconf named.conf
named-checkzone
Este comando verifica a sintaxe e a existência da zona. Exemplo:
# named-checkzone linuxinside.srv.br. Linuxinside.srv.br.zone
Quando as coisas não saem conforme o esperado, lá vamos nós para o log, já dizia um amigo meu: "não tem o que fazer, vá ler o log dos seus servidores", ele ainda dizia "leia o log de manhã, antes de tomar café, antes do almoço depois também, e a tarde e se der envie por e-mail e os veja a noite também". Atendendo o pedido dele descobri a real importância sobre os logs e reparei que não há muita informação de erros comuns de serviços em PT-BR, então tomei a iniciativa sobre erros do BIND.
Erros comuns na configuração do DNS
Sempre bate um friozinho na barriga quando vamos levantar algum serviço, pois esta é a hora que vamos vibrar se o serviço subiu conforme configurado.
Agora vamos reiniciar ou recarregar o
named para que ele possa reler as informações referentes ao domínios que queremos representar autoridade na internet ou rede local.
Então vamos la:
# killall -HUP named
ou
# /etc/init.d/named start (stop ou restart)
Logo após reiniciar o named, devemos analisar o log do para saber se o serviço subiu certo.
Vamos a algumas mensagens de erro comuns, lembrando que esses erros são apresentados no arquivo de log que colocamos acima, lembre-se também de adicionar este arquivo no logrotate para que o mesmo gerencie a rotação do log.
dns_rdata_fromtext: pri/linuxinside.srv.br.zone:11: near 'mail.linuxinside.srv.br.': not a valid number
Para corrigir este erro basta adicionar um level para o mx.
Antes estava:
IN MX mail.linuxinside.srv.br.
Agora a forma certa:
IN MX 5 mail.linuxinside.srv.br.
bad zone transfer request: 'z.y.x.w.IN-ADDR.ARPA/IN': non-authoritative zone (NOTAUTH):
Verifique se a existência do parâmetro:
allow-transfer { ISP; }; //ou simplesmente adicione "any".
allow-recursion { ISP; REDE INTERNA; }; //ou simplesmente adicione "any".
E tenha certeza que nele estão definidos e liberados o IPs que podem fazer consulta recursiva no seu DNS.
Este erro geralmente acontece na transferência de zona de arquivos da sua zona para a sua ISP, é importante lembrar que a maioria dos MTAs fazem consulta de reverso ao seu servidor de email para verificar a autenticidade do host e aí sim liberam o envio ou recebimento de e-mails do seu domínio.
Usando o comando host você pode confirmar a resolução de nome para IP e de IP para nome.
# host linuxinside.srv.br
Host linuxinside.srv.br not found: 3(NXDOMAIN)
# host w.x.y.z
Host w.x.y.z.in-addr.arpa. not found: 3(NXDOMAIN)
Há várias possibilidades de respostas para este erro, mas as mais comuns são:
- Não existe o arquivo de zona referente a este domínio;
- Se existe arquivo de zona, verifique se no named.conf alguma linha faz a instrução para a zona;
- Se existe zona e está configurado, no named.conf, verifique se o ip w.x.y.z está cadastrado no reverso do seu range de IP.
CNAME and other data:
Alguma entrada na zona está apontando para um CNAME, reveja a configuração e troque para um registro do tipo A. Ex:
ns1.linuxinside.srv.br IN A w.x.y.z
2009020401: número do serial, sempre que é feita alguma alteração na zona, devemos modificar esse número para que o DNS reverso secundário perceba que houve alterações e atualize deus dados. Sempre use esta sequência padrão: ano da alteração (2009), mês (02), dia (04) e número da alteração do dia (01).
Lame server on 'w.x.y.z':
O IP que aparece ou domínio é de um servidor sem autoridade sobre determinada zona. Os campos de uma tabela de nomes apontam para tal servidor como autoridade, mas na realidade este não a tem, ou talvez seja um servidor secundário já desativado ou se o IP for da sua ISP, significa que DNS da Embratel perdeu a autoridade sobre o domínio reverso em seu servidor primário e o delegou para você. Na maioria dos casos é porque ele usou um serial de número menor ao atualizar o arquivo de zona.
Contate o suporte da sua ISP.
bad dotted quad - unexpected end of input:
Alguma sintaxe errada existe na configuração da zona, verifique os caracteres a seguir: () . , ; {} [].
ignoring out-of-zone data:
A sua zona está sendo ignorada, verifique se ela está com a configuração correta e se constam entradas referentes à ela no named.conf.
dns_rdata_fromtext: - ran out of space:
Este erro geralmente acontece por falta de fechamento de "aspas" ou em algum arquivo com mais de 255 caracteres, o indicado é que adicione aspas antes de completar 255 caracteres.
Um exemplo válido e quando adicionamos vários IPs no spf e ele cria um registro do tipo TXT com mais de 255 caracteres, separe ele com algumas aspas dentro dos IPs liberados para enviar e-mail, lembre-se de fechar as aspas abertas.
Exemplo:
linuxinside.srv.br. IN TXT "v=spf1 ip4:192.168.1.1 192.168.1.2 192.168.1.3 192.168.1.4 192.168.1.5 192.168.1.6 192.168.1.7 192.168.1.8 192.168.1.9 192.168.1.10 192.168.1.11 192.168.1.12" "192.168.1.13 192.168.1.14 192.168.1.15 192.168.1.16 192.168.1.17 192.168.1.18 192.168.1.19 192.168.1.20 192.168.1.21 192.168.1.22 192.168.1.23 192.168.1.24 192.168.1.25 192.168.1.26 192.168.1.27 192.168.1.28 192.168.1.29 192.168.1.30 ip4:192.168.10.0/24 ptr ~all"