ambas as respostas são boas .. ligue navios com uma ferramenta que você pode usar para verificar as zonas / arquivos conf
named-checkzone domain.com /path/to/domain.com.zone
Há também
named-checkconf
para verificar suas configurações.
Eu segui vários tutoriais sobre como instalar seus próprios servidores de nomes e estou praticamente no fim da minha inteligência, porque não consigo resolvê-los. Observe que o domínio e o endereço IP reais foram alterados para privacidade para example.com e 192.168.0.1. Meu arquivo named.conf.local:
zone "example.com" {
type master;
file "/var/cache/bind/example.com.db";
};
zone "0.168.192.in_addr.arpa" {
type master;
file "/var/cache/bind/192.168.0.db";
};
Meu arquivo named.conf.options:
options {
forwarders {
192.168.0.1;
};
auth-nxdomain no; # conform to RFC1035
listen-on-v6 { any; };
};
Meu arquivo resolv.conf:
search example.com.
nameserver 192.168.0.1
Meu arquivo DNS de encaminhamento:
ORIGIN example.com.
$TTL 86400
@ IN SOA ns1.example.com. root.example.com. (
2012083101 ; Serial
604800 ; Refresh
86400 ; Retry
2419200 ; Expire
3600 ) ; Negative Cache TTL
example.com. NS ns1.example.com.
example.com. NS ns2.example.com.
example.com. MX 10 mail.example.com.
@ IN A 192.168.0.1
ns1.example.com IN A 192.168.0.1
ns2.example.com IN A 192.168.0.2
mail IN A 192.168.0.1
server1 IN A 192.168.0.1
gateway IN CNAME ns1.example.com.
headoffice IN CNAME server1.example.com.
smtp IN CNAME mail.example.com.
pop IN CNAME mail.example.com.
imap IN CNAME mail.example.com.
www IN CNAME server1.example.com.
sql IN CNAME server1.example.com.
E meu DNS reverso:
$ORIGIN 0.168.192.in-addr.arpa.
$TTL 86400
@ IN SOA ns1.example.com. root.example.com. (
2009013101 ; Serial
604800 ; Refresh
86400 ; Retry
2419200 ; Expire
3600 ) ; Negative Cache TTL
1 PTR mail.example.com.
1 PTR server1.example.com.
2 PTR ns1.example.com.
No entanto, quando eu reinicio bind9 e faço:
host ns1.example.com localhost
Eu recebo:
Using domain server:
Name: localhost
Address: 127.0.0.1#53
Aliases:
Host ns1.example.com.example.com not found: 2(SERVFAIL)
Da mesma forma, para:
host 192.168.0.1 localhost
Eu recebo:
;; connection timed out; no servers could be reached
Alguém sabe o que está acontecendo? Btw, meu nome de domínio "www.example.com" que eu usei nesta pergunta está sendo encaminhado para os servidores de nomes do meu ISP. Isso afetaria minha configuração bind9? Eu quero aprender como configurar servidores de nomes por conta própria, então é por isso que estou passando por todo esse problema.
Substitua o _
por um -
como em in-addr
.
zone "0.168.192.in_addr.arpa" {
...
};
deve ser
zone "0.168.192.in-addr.arpa" {
...
};
As entradas problemáticas estão aqui:
ns1.example.com IN A 192.168.0.1
ns2.example.com IN A 192.168.0.2
Seu domínio é adicionado ao final de cada um deles, se você não tiver terminado com um período. Para fazê-lo funcionar, altere-os para:
ns1 IN A 192.168.0.1
ns2 IN A 192.168.0.2
Você também precisa fazer a alteração que @Zoredache deu para consertar seu DNS reverso (mas você não teria descoberto o problema até mais tarde ...)
Primeiras coisas primeiro. Depois de iniciar o named, certifique-se de que ele ainda esteja em execução e não tenha saído com algum tipo de erro. O nome aparece na saída do ps? O que está logando no syslog? Você configurou o rndc? Se sim, o que significa "status do rndc"? Quando você obtiver mensagens SERVFAIL e "tempo de conexão excedido" (como acima), será necessário garantir que está falando com um servidor ativo.
Faz log em outro lugar além do syslog? (você apenas nos mostra um subconjunto do seu named.conf, então eu não tenho certeza se o principal named.conf tem sub-rotinas declaradas enviando informações de log em outro lugar.)
Verifique o ps para certificar-se de que o named está sendo executado e verifique o syslog para ver se ele está reclamando de algo ao tentar iniciar.
Além disso, o que você quer fazer com a linha na sua configuração que declara forwarders?
Quando você estiver pronto para testar, teste usando nomes de domínio totalmente qualificados (FQDNs), por exemplo:
dig ns1.example.com. @localhost
para evitar situações confusas como você tinha acima:
Host ns1.example.com.example.com not found: 2(SERVFAIL)
(você pode ver que por causa da regra de busca em seu arquivo resolv.conf, "example.com" foi anexado a um nome de domínio que já o continha .. você pode eliminar a ambigüidade usando FQDNs.)