On (04/10/10 15:33), Paulino Kenji Sato wrote:
> 2010/10/4 Caio Abreu Ferreira <i...@terra.com.br>:
> >        Prezado Paulino
> >
> >        Estou utilizando a versão stable do debian. O problema que eu estou
> > enfrentando é que no log de ambos os softwares não esta aparecendo nenhum
> > erro. Tanto o DNS/Bind quando o DHCP estão funcionando corretamente. Fiz
> > vários testes com o aplicativo dig e o DNS respondeu corretamente, inclusive
> > os dados estão sendo replicados para o servidor secundário. Já o DHCP esta
> > respondendo corretamente e atribuindo IP para uma estação debian. O problema
> > é que as informações do DHCP não estão sendo transferidas paro DNS.
> >
> >        Um outro ponto de diferente que eu tenho encontrado nos textos[1] que
> > eu tenho encontrado na internet é que os softwares estão funcionando em
> > computadores diferentes. Os softwares precisam estar instalados no mesmo
> > computador ou podem operar em computadores separados?
> >
> 
> Nunca usei em computadores diferentes, mas acredito que seja indiferente.
> Verifique se o arquivo de zona esta com permissão de escrita para o
> usuário que roda o bind (usualmente o bind).
> 
> Tanto no host onde esta rodando o bind como no dhcp, tente fazer uma
> atualização de zona usando o nsupdate.
> crie um arquivo contendo o seguinte:
> server 127.0.0.1
> zone particula.local
> update delete teste.particula.local. A
> update add teste.particula.local. 86400 A 192.168.0.123
> send
> zone 0.168.192.in-addr.arpa
> update delete 123.0.168.192.in-addr.arpa PTR
> update add 123.0.168.192.in-addr.arpa 86400 PTR teste.particula.local.
> send
> quit
> 
> E chame o comando:
> nsupdate -y nome_chave:a_chave arquivo_acima
> E verifique com o host ou o dig que o host teste foi adicionado.
> 
> Mas, acho que achei o seu problema.
> O include "/etc/bind/rndc.key";
> 
> Tanto no named.conf como no dhcpd.conf
> A sintaxe da declaração da chave entre os dois parece que não são
> idênticas, ou include não funciona como esperado no dhcpd.conf.
> No dhcpd.conf e assim:
> key nome_da_chave {
>    algorithm HMAC-MD5;
>    secret a_chave;
> }
> 
> no named.conf e
> key "nome_da_chave" {
>         algorithm hmac-md5;
>         secret "a_chave";
> };
> 
> Existe uma pequena diferença, que quase não da para ser notada.
> As aspas.
> 
> Ou talvez não, o que me lembro que um dia tentei fazer usando o
> include, mas não funcionou.
> Tente por a declaração da chave dentro do dhcpd.conf e sem usar as aspas.

        Prezado Paulino

        Consegui configurar o DNS e o DHCP para que os dois consigam trocar
informações e o DHCP atualizar o DNS(Bind). Segue abaixo os procedimentos que
eu segui.


#: Title : DDNS Howto
#: Date : 2010-10-13
#: Author : "Caio Abreu Ferreira" <idic_terra.com.br>
#: Version : 1.0
#: Description : Integração entre o Bind9 e o DHCP no GNU/Linux Debian Stable
#: Options : None
#: Reference : 
www.debian-administration.org/article/343/Configuring_Dynamic_DNS__DHCP_on_Debian_Stable
 
#: Technical information
        servidor DNS primario   192.168.0.5
        servidor DNS secundario 192.168.0.6
        servidor DHCP server    192.168.0.7

# aptitude install bind9 dnsutils (dns master)

# dnssec-keygen -a hmac-md5 -b 128 -n USER dhcpupdate (dns master)

# cat Kdhcpupdate.+157+62711.key (master)
        dhcpupdate. IN KEY 0 3 157 xOxhRZXVrtaDjbZs5f9mgg==

# named.conf.local (master)
        // Master zones
        zone "particula.local" {
                type master;
                file "/etc/bind/db.particula.local";
                allow-transfer { 192.168.0.6; };
                allow-update { key dhcpupdate; };
                notify yes;
        };

        zone "0.168.192.in-addr.arpa" {
                type master;
                file "/etc/bind/db.0.168.192.in-addr.arpa";
                allow-update { key dhcpupdate; };
                notify yes;
        };

        key "dhcpupdate" {
                algorithm hmac-md5;
                secret "xOxhRZXVrtaDjbZs5f9mgg==";
        };

# db.particula.local (dns master)
        ; Start of Authority (SOA) record
        $TTL   900
        @ IN SOA ns1.particula.local. root.particula.local. (
                                3600;   serial
                                3600;   refresh, seconds
                                3600;   retry, seconds
                                3600;   expire, seconds
                                900 );  minimum, seconds

        ; Name Server (NS) records.
                                IN NS ns1.particula.local.
                                IN NS ns2.particula.local.

        ; Mail Exchange (MX) records.
                                IN MX 10 server.particula.local.

        ; Address (A) records. (real-names of machines)
                                IN A 192.168.0.5
        ns1                     IN A 192.168.0.5
        ns2                     IN A 192.168.0.6
        server                  IN A 192.168.0.7

        ; Aliases in Canonical Name (CNAME) records...
        www                     IN CNAME server
        ftp                     IN CNAME server
        proxy                   IN CNAME server

# db.0.168.192.in-addr.arpa (dns master)
        ; Start of Authority (SOA) record
        $TTL   900
        @ IN SOA ns1.particula.local. root.particula.local. (
                                3600;   serial
                                3600;   refresh, seconds
                                3600;   retry, seconds
                                3600;   expire, seconds
                                900 );  minimum, seconds

        ; Name Server (NS) records.
                                IN NS ns1.particula.local.
                                IN NS ns2.particula.local.

        ; Addresses point to canonical names (PTR) for reverse lookups
        5                       IN PTR    ns1.particula.local.
        6                       IN PTR    ns2.particula.local.
        7                       IN PTR    server.particula.local.

# aptitude install bind9 dnsutils (dns slave)

# named.conf.local (dns slave)
        // Slave zones
        //
        zone "particula.local" {
                type slave;
                file "/etc/bind/db.particula.local";
                masters { 192.168.0.5; };
                allow-notify { 192.168.0.5; };
        };

# /etc/dhcp3/dhcpd.conf (dhcp server)
        option domain-name "particula.local";
        option domain-name-servers 192.168.0.5, 192.168.0.6;

        default-lease-time 600;
        max-lease-time 7200;

        authoritative;

        ddns-update-style interim;
        update-static-leases on;

        log-facility local7;

        key dhcpupdate {
                algorithm hmac-md5;
                secret xOxhRZXVrtaDjbZs5f9mgg==;
        }       

        zone 0.168.192.in-addr.arpa. {
                primary 192.168.0.5;
                key dhcpupdate;
        }

        zone particula.local. {
                primary 192.168.0.5;
                key dhcpupdate;
        }

        subnet 192.168.0.0 netmask 255.255.255.0 {
                range 192.168.0.100 192.168.0.200;
                option routers 192.168.0.2;
        }

# /root/test_ddns (ns1)
        server 192.168.0.5
        zone particula.local
        update delete teste.particula.local. A
        update add teste.particula.local. 86400 A 192.168.0.123
        send
        zone 0.168.192.in-addr.arpa
        update delete 123.0.168.192.in-addr.arpa PTR
        update add 123.0.168.192.in-addr.arpa 86400 PTR teste.particula.local.

# nsupdate -y dhcpupdate:xOxhRZXVrtaDjbZs5f9mgg== test_ddns (ns1)

# host teste.particula.local (ns1)
teste.particula.local has address 192.168.0.123

# /root/test_ddns (server)
        server 192.168.0.5
        zone particula.local
        update delete teste.particula.local. A
        update add teste.particula.local. 86400 A 192.168.0.123
        send
        zone 0.168.192.in-addr.arpa
        update delete 123.0.168.192.in-addr.arpa PTR
        update add 123.0.168.192.in-addr.arpa 86400 PTR teste.particula.local.

# nsupdate -y dhcpupdate:xOxhRZXVrtaDjbZs5f9mgg== test_ddns (server)

# host teste.particula.local (server)
teste.particula.local has address 192.168.0.123

# /etc/dhcp3/dhclient.conf (client)
        send host-name "client";

        Muito obrigado pela ajuda !

-- 
 

 .''`.   Caio Abreu Ferreira
: :'  :  i...@terra.com.br
`. `'`   Debian User
  `-     Key fingerprint = 97F8 61AC 605F 8A8B 3BA1  D479 8C9A 52E8 6478 601F 

Attachment: signature.asc
Description: Digital signature

Responder a