BIND retorna serverfail ao consultar seu domínio de autorização

2

Olá, pessoal do Serverfault!

Primeiro de tudo: desculpe pelo título, tive algum problema com o título correto.

Eu tenho um pequeno servidor doméstico configurado, para compartilhamento de internet, samba, http básico, dlna mediaserver e o que não, e eu achei que tinha um domínio em mãos, então pensei por que não direcioná-lo para este computador?

Eu tenho um BIND 9.8.0 instalado e - afaik - configurado corretamente.

Por alguns dias, a visão pública não funcionou, e eu realmente não me importei, já que a visão local funcionava. Mas agora, de repente, até mesmo a visão local falha.

Se eu tentar consultar o servidor de nomes em busca de algo no meu domínio, ele retornará o seguinte erro:

$ nslookup andromeda.dafaces.com
;; Got SERVFAIL reply from ::1, trying next server
;; Got SERVFAIL reply from ::1, trying next server
Server:         127.0.0.1
Address:        127.0.0.1#53

** server can't find andromeda.dafaces.com.dafaces.com: SERVFAIL

Além disso, a exibição pública aponta para o endereço IP antigo do domínio, provavelmente devido ao mesmo erro.

Algumas informações sobre o sistema:

$ uname -a
Linux tressis 2.6.37-ARCH #1 SMP PREEMPT Tue Mar 15 09:21:17 CET 2011 x86_64 AMD Athlon(tm) 64 X2 Dual Core Processor 5000+ AuthenticAMD GNU/Linux

$ named -v
BIND 9.8.0

E o arquivo named.conf:

# cat /etc/named.conf
//
// /etc/named.conf
//

include "/etc/rndc.key";

#controls {
#       inet 127.0.0.1 allow {localhost; } keys { "dnskulcs"; };
#};

options {
        directory "/var/named";
        pid-file "/var/run/named/named.pid";
        auth-nxdomain yes;
        datasize default;
// Uncomment these to enable IPv6 connections support
// IPv4 will still work:
        listen-on-v6 { any; };
        listen-on { any; };
// Add this for no IPv4:
//      listen-on { none; };

// Default security settings.
//      allow-recursion { 127.0.0.1; ::1; 192.168.1.0/24; };
//      allow-recursion { any; };
        allow-query { any; };
        allow-transfer { 127.0.0.1; ::1; 92.243.14.172; 87.98.164.164; 88.191.64.64; };
        allow-update { key "dnskulcs"; };
        version none;
        hostname none;
        server-id none;
        zone-statistics yes;

        forwarders { 213.46.246.53; 213.26.246.54; 8.8.8.8; 8.8.4.4; 192.188.242.65; 193.227.196.3; 2001:470:20::2; };
};

view "local" {

        match-clients { 192.168.1.0/24; 127.0.0.1; ::1; fec0:0:0:ffff::/64; };
        recursion yes;

        zone "localhost" IN {
                type master;
                file "localhost.zone";
                allow-transfer { any; };
        };

        zone "0.0.127.in-addr.arpa" IN {
                type master;
                file "127.0.0.zone";
                allow-transfer { any; };
        };

        zone "." IN {
                type hint;
                file "root.hint";
        };

        zone "dafaces.com" IN {
                type master;
                file "internal/dafaces.com.fw";
                allow-update { key "dnskulcs"; };
        };

        zone "1.168.192.in-addr.arpa" IN {
                type master;
                file "internal/dafaces.com.rev";
                allow-update { key "dnskulcs"; };
        };
};

view "public" {
        match-clients { any;};
        recursion no;

        zone "dafaces.com" IN {
                type master;
                file "external/dafaces.com.fw";
                allow-transfer {
                        87.98.164.164; 195.234.42.1; 88.191.64.64;
                };
        };
};

//zone "example.org" IN {
//      type slave;
//      file "example.zone";
//      masters {
//              192.168.1.100;
//      };
//      allow-query { any; };
//      allow-transfer { any; };
//};

logging {
        channel xfer-log {
                file "/var/log/named.log";
                print-category yes;
                print-severity yes;
                print-time yes;
                severity info;
        };
        category xfer-in { xfer-log; };
        category xfer-out { xfer-log; };
        category notify { xfer-log; };
};

Toda ajuda seria muito apreciada!

EDIT: arquivos de zona:

# cat /var/named/internal/dafaces.com.fw
$ORIGIN .
$TTL 3600       ; 1 hour
dafaces.com             IN SOA  tressis.dafaces.com. postmaster.dafaces.com. (
                                2011032201 ; serial
                                28800      ; refresh (8 hours)
                                7200       ; retry (2 hours)
                                2419200    ; expire (4 weeks)
                                3600       ; minimum (1 hour)
                                )
                        NS      tressis.dafaces.com.
                        A       192.168.1.1
                        MX      10 mail.dafaces.com.
$ORIGIN _tcp.dafaces.com.
_http                   SRV     0 5 80 www.dafaces.com.
_ssh                    SRV     0 5 22 tressis.dafaces.com.
$ORIGIN dafaces.com.
acrisius                A       192.168.1.230
andromeda               A       192.168.1.7
andromeda-win7          CNAME   andromeda
aspasia                 A       192.168.1.233
athena                  A       192.168.1.232
callisto                A       192.168.1.102
db                      A       192.168.1.1
management              A       192.168.1.1 ; web management for the router functions
haley                   A       192.168.1.5
hoth                    A       192.168.1.101
mail                    A       192.168.1.1
satelite                A       192.168.1.20
sony-player             A       192.168.1.103
                        TXT     "310f16de2d2712dfc4ae6e5c54f60f828e"
torrent                 A       192.168.1.1
tracker                 A       192.168.1.1
tressis                 A       192.168.1.1
www                     A       192.168.1.1
zeus                    A       192.168.1.231

e

# cat /var/named/external/dafaces.com.fw
$ORIGIN .
$TTL 3600
dafaces.com             IN SOA  ns.dafaces.com. postmaster.dafaces.com. (
                                        2011032405; serial
                                        28800; refresh
                                        7200; retry
                                        2419200; expire
                                        3600; minimum
                                        )

                        NS      ns.dafaces.com.
                        NS      ns0.xname.org.
                        NS      ns1.xname.org.
                        NS      ns2.xname.org.

                        A       89.135.129.37
                        MX      10 mail.dafaces.com.

$ORIGIN dafaces.com.
;Szolgaltatasok
_ssh._tcp               SRV     0 5 22 tressis
_http._tcp              SRV     0 5 80 www

ns                      A       89.135.129.37
hoth                    A       89.135.129.37
www                     A       89.135.129.37
mail                    A       89.135.129.37
db                      A       89.135.129.37

torrent                 A       89.135.129.37
tracker                 A       89.135.129.37

Editar:

Oh, diabos eu quase esqueci. Como o nó está conectado à internet através de uma conexão residencial, existe a possibilidade de que o endereço público do ipv4 mude (mas, graças a deus, é um caso muito raro), então atualizo diariamente o endereço IP externo no arquivo de zona. com um shellscript:

# cat /etc/cron.daily/dnsupdate
#!/bin/sh

FILE="/var/named/external/dafaces.com.fw"
SERIAL=$(date +%Y%m%d05)
PUBLIC_IP=$(ifconfig internet |sed -n "/inet addr:.*255.255.255.255/{s/.*inet addr://; s/ .*//; p}")

cat $FILE | sed --posix 's/^.* serial$/\t\t\t\t\t'$SERIAL'; serial/' | sed --posix 's/[0-9]*\.[0-9]*\.[0-9]*\.[0-9]*/'$PUBLIC_IP'/'  > /tmp/ujzona
mv /tmp/ujzona $FILE
/etc/rc.d/named reload
    
por estol 25.03.2011 / 01:44

2 respostas

1

Tente alterar as linhas:

dafaces.com             IN SOA  tressis.dafaces.com. postmaster.dafaces.com. (

Para

dafaces.com. IN SOA tressis.dafaces.com. postmaster.dafaces.com. (

    
por 25.03.2011 / 12:48
1

O mantra habitual: "o que mudou?" Por acaso você já brincou com o /etc/resolv.conf, talvez tentando diminuir um pouco o tempo limite? (Ou é possível que a máquina que está rodando o BIND esteja um pouco mais carregada e significativamente mais lenta do que era inicialmente?)

Somente um rastreio de rede (wireshark?) diria com certeza, mas parece que a primeira solicitação para foo.bar.baz não está sendo retornada rápido o suficiente, então o resolvedor está expirando e, em seguida, tentando foo.bar.baz.bar.baz ( acrescente "domínio" a qualquer coisa ... mesmo que seja uma duplicação boba). Essa segunda consulta provavelmente nunca funcionou direito antes (possivelmente por causa do ponto final ausente mencionado em outra resposta), mas não importou durante o teste inicial porque a consulta nunca foi enviada de qualquer maneira.

Agora, a consulta está sendo enviada e fazendo cócegas no comportamento incorreto que estava latente em sua configuração do BIND desde o início. Tente transformar o option timeout:N no /etc/resolv.conf para cima e veja se ele pára de acontecer. (Ou desative a opção de forma que ela agrade o problema o tempo todo, corrija o problema de raiz e, em seguida, retorne a opção a um valor razoável.)

    
por 30.01.2013 / 03:01