o que há de errado com minha configuração do Ubuntu 11.10 bind9?

1

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.

    
por John Bowlinger 07.09.2012 / 22:56

4 respostas

3

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.

    
por 07.09.2012 / 23:18
2

Substitua o _ por um - como em in-addr .

zone "0.168.192.in_addr.arpa" {
  ...
};

deve ser

zone "0.168.192.in-addr.arpa" {
  ...
};
    
por 07.09.2012 / 23:00
1

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 ...)

    
por 07.09.2012 / 23:08
0

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.)

    
por 17.10.2012 / 20:30