+ Responder ao Tópico



  1. #1

    Angry Erro no DHCP/Bind 'RRset exists (...)'

    Senhores,

    - Estou tendo problema para realizar a configuração do DHCP e do BIND. A idéia é configurar ambos para que o hostname seja agregado ao servidor DNS automaticamente. Seguindo alguns how-tos pela internet eu encontrei bastante coisa no tangente ao como fazê-lo, e fiz. Porém, obtenho erro a cada vez que o DHCP entrega um IP, informando que não foi possível atualizar a zona direta do DNS. O erro é o seguinte:

    Código :
    Jul 13 12:03:03 slx01 dhcpd: DHCPREQUEST for 10.0.0.88 from 00:15:f2:17:11:25 (T11) via eth0
    Jul 13 12:03:03 slx01 dhcpd: DHCPACK on 10.0.0.88 to 00:15:f2:17:11:25 (T11) via eth0
    Jul 13 12:03:03 slx01 named[4128]: client 10.0.0.88#51849: updating zone 'blablabla.net/IN': update unsuccessful: T11.blablabla.net/A: 'RRset exists (value dependent)' prerequisite not satisfied (NXRRSET)
    Jul 13 12:03:03 slx01 named[4128]: client 10.0.0.88#53958: update 'blablabla.net/IN' denied
    - O engraçado é que a zona reversa dessa mesma zona, está sendo atualizada normalmente (não tenho mais esse log indicando isso, mas tá OK, sério). Esse BIND também, está sincronizado no Active Directory, utilizado em outro servidor. BIND e Active Directory estão replicando corretamente, e estes fatos indicam que não seria algum pau (ou bug) do BIND ou do ISC DHCP no tangente à atualização dinâmica do DNS na versão de ambos que estou utilizando. Seguem os logs:

    Código :
    Jul 13 12:10:08 slx01 named[4128]: client 10.0.0.50#4294: updating zone '_msdcs.blablabla.net/IN': adding an RR at 'gc._msdcs.blablabla.net' A
    Jul 13 12:10:08 slx01 named[4128]: client 10.0.0.50#4298: updating zone '_tcp.blablabla.net/IN': adding an RR at '_ldap._tcp.blablabla.net' SRV
    Jul 13 12:10:08 slx01 named[4128]: client 10.0.0.50#4302: updating zone '_sites.blablabla.net/IN': adding an RR at '_ldap._tcp.Primeiro-site-padrao._sites.blablabla.net' SRV
    Jul 13 12:10:08 slx01 named[4128]: client 10.0.0.50#4306: updating zone '_msdcs.blablabla.net/IN': deleting rrset at '_ldap._tcp.pdc._msdcs.blablabla.net' SRV
    Jul 13 12:10:08 slx01 named[4128]: client 10.0.0.50#4306: updating zone '_msdcs.blablabla.net/IN': adding an RR at '_ldap._tcp.pdc._msdcs.blablabla.net' SRV
    Jul 13 12:10:08 slx01 named[4128]: client 10.0.0.50#4310: updating zone '_msdcs.blablabla.net/IN': adding an RR at '_ldap._tcp.gc._msdcs.blablabla.net' SRV
    Jul 13 12:10:08 slx01 named[4128]: client 10.0.0.50#4314: updating zone '_msdcs.blablabla.net/IN': adding an RR at '_ldap._tcp.Primeiro-site-padrao._sites.gc._msdcs.blablabla.net' SRV
    Jul 13 12:10:08 slx01 named[4128]: client 10.0.0.50#4318: updating zone '_msdcs.blablabla.net/IN': adding an RR at '_ldap._tcp.fac965e6-c098-4918-b16b-5f44a3bc5ffa.domains._msdcs.blablabla.net' SRV
    Jul 13 12:10:08 slx01 named[4128]: client 10.0.0.50#4322: updating zone '_msdcs.blablabla.net/IN': deleting rrset at 'a0d123d3-b9e7-4777-ac8e-4d7a44d49b90._msdcs.blablabla.net' CNAME
    Jul 13 12:10:08 slx01 named[4128]: client 10.0.0.50#4322: updating zone '_msdcs.blablabla.net/IN': adding an RR at 'a0d123d3-b9e7-4777-ac8e-4d7a44d49b90._msdcs.blablabla.net' CNAME
    Jul 13 12:10:08 slx01 named[4128]: client 10.0.0.50#4327: updating zone '_msdcs.blablabla.net/IN': adding an RR at '_kerberos._tcp.dc._msdcs.blablabla.net' SRV
    Jul 13 12:10:08 slx01 named[4128]: client 10.0.0.50#4331: updating zone '_msdcs.blablabla.net/IN': adding an RR at '_kerberos._tcp.Primeiro-site-padrao._sites.dc._msdcs.blablabla.net' SRV
    Jul 13 12:10:08 slx01 named[4128]: client 10.0.0.50#4335: updating zone '_msdcs.blablabla.net/IN': adding an RR at '_ldap._tcp.dc._msdcs.blablabla.net' SRV
    Jul 13 12:10:08 slx01 named[4128]: client 10.0.0.50#4339: updating zone '_msdcs.blablabla.net/IN': adding an RR at '_ldap._tcp.Primeiro-site-padrao._sites.dc._msdcs.blablabla.net' SRV
    Jul 13 12:10:08 slx01 named[4128]: client 10.0.0.50#4343: updating zone '_tcp.blablabla.net/IN': adding an RR at '_kerberos._tcp.blablabla.net' SRV
    Jul 13 12:10:08 slx01 named[4128]: client 10.0.0.50#4347: updating zone '_sites.blablabla.net/IN': adding an RR at '_kerberos._tcp.Primeiro-site-padrao._sites.blablabla.net' SRV
    Jul 13 12:10:08 slx01 named[4128]: client 10.0.0.50#4351: updating zone '_tcp.blablabla.net/IN': adding an RR at '_gc._tcp.blablabla.net' SRV
    Jul 13 12:10:08 slx01 named[4128]: client 10.0.0.50#4355: updating zone '_sites.blablabla.net/IN': adding an RR at '_gc._tcp.Primeiro-site-padrao._sites.blablabla.net' SRV
    Jul 13 12:10:08 slx01 named[4128]: client 10.0.0.50#4359: updating zone '_udp.blablabla.net/IN': adding an RR at '_kerberos._udp.blablabla.net' SRV
    Jul 13 12:10:08 slx01 named[4128]: client 10.0.0.50#4363: updating zone '_tcp.blablabla.net/IN': adding an RR at '_kpasswd._tcp.blablabla.net' SRV
    Jul 13 12:10:08 slx01 named[4128]: client 10.0.0.50#4367: updating zone '_udp.blablabla.net/IN': adding an RR at '_kpasswd._udp.blablabla.net' SRV
    - As respectivas configurações do DHCP e do BIND são descritas a seguir:

    Código :
    [root@slx01 named]# cat /etc/dhcpd.conf
    ddns-updates on;
    ddns-update-style interim;
    default-lease-time 600;
    max-lease-time 7200;
    authoritative;
    option domain-name-servers 10.0.0.2;
    key dhcp-habita {
    algorithm hmac-md5;
    secret "minha key ;)";
    }
     
    zone blablabla.net. {
            primary 10.0.0.2;
            key dhcp-habita;
    } 
     
    zone 0.0.10.in-addr.arpa. {
            primary 10.0.0.2;
            key dhcp-habita;
    }
     
    subnet 10.0.0.0 netmask 255.255.255.0 {
    range 10.0.0.51  10.0.0.90;
    option routers 10.0.0.2;
    option domain-name-servers 10.0.0.2;
    option broadcast-address 10.0.0.2;
    option domain-name "blablabla.net";
    }
     
    # Prevenindo o DHCP geral a nao interferir
    # no DHCP do VMware:
    subnet 192.168.60.0 netmask 255.255.255.0 { }
     
    (------------ EOF ------------)

    Código :
    [root@slx01 named]# cat ../../etc/named.conf
     
    options {
            directory "/var/named";
            dump-file "/var/named/data/cache_dump.db";
            statistics-file "/var/named/data/named_stats.txt";
            forwarders { 208.67.222.222; 200.175.189.139; };
            version "GoAway(TM) v 0.91";
            allow-query { 192.168.0.0/16; 10.0.0.0/8; 127.0.0.0/8; };
     
    };
     
     
    acl "ADservers" {
            10.0.0.50;
    };
     
    #controls {
    #inet 127.0.0.1 port 953
    #allow { 127.0.0.1; } keys { "dhcp-habita"; };
    #};
     
     
     
    // Bind conf for xxx
     
    zone "." {
            type hint;
            file "/var/named/named.root";
    };
     
    //zone "1.168.192.in-addr.arpa" {
    zone "0.0.10.in-addr.arpa" {
            type master;
    //      file "reverse/1.168.192.db";
            file "/var/named/10.0.0.db";
            allow-update {ADservers; key dhcp-habita;};
            allow-transfer {ADservers;};
    };
     
    zone "blablabla.net" {
            type master;
            file "/var/named/intra.blablabla.net";
            check-names ignore;
            allow-update {ADservers; key dhcp-habita;};
            allow-transfer {ADservers;};
     
    };
     
    zone "_msdcs.blablabla.net" {
            type master;
            file "/var/named/_msdcs.blablabla.net";
            check-names ignore;
            allow-update {ADservers;key dhcp-habita;};
            allow-transfer {ADservers;};
    };
     
     
    zone "_sites.blablabla.net" {
            type master;
            file "/var/named/_sites.blablabla.net";
            check-names ignore;
            allow-update {ADservers;key dhcp-habita;};
            allow-transfer {ADservers;};
    };
     
    zone "_tcp.blablabla.net" {
            type master;
            file "/var/named/_tcp.blablabla.net";
            check-names ignore;
            allow-update {ADservers;key dhcp-habita;};
            allow-transfer {ADservers;};
    };
     
    zone "_udp.blablabla.net" {
            type master;
            file "/var/named/_udp.blablabla.net";
            check-names ignore;
            allow-update {ADservers;key dhcp-habita;};
            allow-transfer {ADservers;};
    };
     
    zone "DomainDNSZones.blablabla.net" {
            check-names ignore;
            type master;
            file "/var/named/DomainDNSZones.blablabla.net";
            allow-update {ADservers;};
            allow-transfer {ADservers;};
    };
     
    zone "ForestDNSZones.blablabla.net" {
            check-names ignore;
            type master;
            file "/var/named/ForestDNSZones.blablabla.net";
            allow-update {ADservers;};
            allow-transfer {ADservers;};
    };
     
    include "/etc/rndc.key";
    include "/etc/dhcp.key";
     
    (------------ EOF ------------)

    (Tem mais, peraí que continua. Não coube tudo aqui).

  2. #2

    Padrão

    Código :
    [root@slx01 named]# cat ../../etc/rndc.key
    key rndckey {
            algorithm hmac-md5;
            secret Minha Key;
    };
     
    (------------ EOF ------------)
    Código :
    [root@slx01 named]# cat ../../etc/dhcp.key
    key dhcp-habita {
            algorithm hmac-md5;
            secret "Minha Key";
    };
     
    (------------ EOF ------------)
    - As zonas do BIND estão configuradas conforme a seguir:

    Código :
    [root@slx01 named]# cat 10.0.0.db
    $ORIGIN .
    $TTL 3600       ; 1 hour
    0.0.10.in-addr.arpa     IN SOA  slx01.blablabla.net. root.slx01.blablabla.net. (
                                    34         ; serial
                                    10800      ; refresh (3 hours)
                                    3600       ; retry (1 hour)
                                    604800     ; expire (1 week)
                                    3600       ; minimum (1 hour)
                                    )
                            NS      slx01.blablabla.net.
    $ORIGIN 0.0.10.in-addr.arpa.
    2                       PTR     slx01.blablabla.net.
    $TTL 1200       ; 20 minutes
    50                      PTR     win2003.blablabla.net.
    $TTL 300        ; 5 minutes
    85                      PTR     t10.blablabla.net.
    87                      PTR     t08.blablabla.net.
    88                      PTR     T11.blablabla.net.
    89                      PTR     T06.blablabla.net.
     
    (------------ EOF ------------)
    (Reversos atualizados corretamente)
    Código :
     
    [root@slx01 named]# cat intra.blablabla.net
    $ORIGIN .
    $TTL 3600       ; 1 hour
    blablabla.net           IN SOA  slx01.blablabla.net. win2003.blablabla.net. (
                                    16         ; serial
                                    10800      ; refresh (3 hours)
                                    3600       ; retry (1 hour)
                                    604800     ; expire (1 week)
                                    3600       ; minimum (1 hour)
                                    )
                            NS      slx01.blablabla.net.
                            NS      win2003.blablabla.net.
    $TTL 600        ; 10 minutes
                            A       10.0.0.50
    $ORIGIN blablabla.net.
    DomainDnsZones          A       10.0.0.50
    $ORIGIN DomainDnsZones.blablabla.net.
    _ldap._tcp.Primeiro-site-padrao._sites SRV 0 100 389 win2003.blablabla.net.
    _ldap._tcp              SRV     0 100 389 win2003.blablabla.net.
    $ORIGIN blablabla.net.
    ForestDnsZones          A       10.0.0.50
    $ORIGIN ForestDnsZones.blablabla.net.
    _ldap._tcp.Primeiro-site-padrao._sites SRV 0 100 389 win2003.blablabla.net.
    _ldap._tcp              SRV     0 100 389 win2003.blablabla.net.
    $ORIGIN blablabla.net.
    $TTL 3600       ; 1 hour
    slx01                   A       10.0.0.2
    $TTL 1200       ; 20 minutes
    win2003                 A       10.0.0.50
     
    (------------ EOF ------------)
    (Só os registros das atualizações do AD)


    - O sistema operacional utilizado é Linux CentOS 5.3 64 bits, com BIND v. 9.3.4-10 em chroot dentro de /var/named. O DHCP é a versão 3.0.5-18.

    - Já mexi em muita coisa, e toda vez que tento recriar a minha zona direta do zero, ou algumas modificações no arquivo existente, não sei o motivo mas o DHCP para de tentar oferecer atualização de DNS para o BIND. O erro desparece e um não conversa mais com o outro...

    Obrigado,
    Lucas Timm.

  3. #3

    Padrão

    Eu tive problemas com essa linha.
    controls {
    inet 10.0.0.2 port 953
    allow { 10.0.0.2; } keys { "dhcp-habita"; };
    };
    Como no meu ipfw estou barrando 127.0.0.1, apontei o ip da placa e parou de negar. Não sei até onde, mais o dhcp-habita esta sem "", estou comparando com o meu. Tive problemas, pois ele não lia a chave. Em meu caso, eu mando fazer a busca de nomes no mesmo servidor,assim ele faz cache do endereços. Fazer forward só se eu tiver outro servidor primario de dns fazendo isso, caso contrario, até o outro servidor responder perco tempo. Faça um teste com o "dig" dig blabla.com, com encaminhadores e sem eles. Espero ter ajudado. Exite também, se não estou enganado o named-checkconf acho que escreve assim. No man named você encontra o nome correto. Tenho 40 micros fazendo reverso e traduzindo endereços. Espero ter ajudado.

  4. #4

    Padrão

    Aumentei essa linha default-lease-time 604800;
    no dhcp conf, pois vi que tinha muitas atualizações.
    ddns-update-style interim;
    ddns-ttl 86400;

    key dhcp-habita{
    algorithm hmac-md5;
    secret "chave";
    }
    zone blabla.biz {
    primary 10.0.0.2;
    key "dhcp-habita";No seu continua sem "". Esse detalhes atrapalham nossas vidas.
    }

  5. #5

    Padrão

    Habilite o log, assim seu dhcp vai poder gritar o que estar errado.
    log-facility local7;
    Última edição por Tacuru; 23-07-2009 às 11:32.