Aggiornamento dinamico dns di bind9 con dhcpd3

From RVM Wiki
Revision as of 18:12, 9 March 2006 by Gabriele.vivinetto (talk | contribs)
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to navigation Jump to search

Utilizzando dhcpd3 e bind9 è possibile far aggiornare i nomi dns di un pc automaticamente all'assegnazione dell'indirizzo in dhcp.

Installazione pacchetti

Copiare le eventuali configurazioni di bind e dhcpd.

Rimuoverli:

apt-get remove --purge bind dhcp

Installare le nuove versioni:

apt-get install install bind9 dhcp3-server

Configurazione di bind9

Generare una chiave per rndc:

rndc-confgen -a

Inserire la direttiva che consente l'update di bind9 in /etc/bind/named.conf.local:

controls {
        inet 127.0.0.1 allow {localhost; } keys { "rndc-key"; };
};


Creare le zone dirette ed inverse, e customizzarle come segue in /etc/named.conf.local

// Add local zone definitions here.
zone "cliente.priv" {
        type master;
        file "/etc/bind/cliente.priv.hosts";
        allow-update { key "rndc-key"; };
        notify yes;
};

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

include "/etc/bind/rndc.key";

Modifica dei diritti di /etc/bind

Bind dovrà scrivere dei files dei lease dinamici, quindi rendere scrivibile dal gruppo bind la diretory:

chmod -R g+rwX /etc/bind; chown -R :bind /etc/bind

Riavviare bind:

/etc/init.d/bind9 stop;  /etc/init.d/bind9 start

Configurazione di dhcpd3

Creare il file di configurazione /etc/dhcp3/dhcpd.conf come segue:

server-identifier           server;
ddns-updates                on;
ddns-update-style           interim;
ddns-domainname             "cliente.priv.";
ddns-rev-domainname         "in-addr.arpa.";
ignore                      client-updates;
include                     "/etc/bind/rndc.key";
zone cliente.priv. {
    primary 127.0.0.1;
    key rndc-key;
}
option domain-name "cliente.priv";
option domain-name-servers 192.168.21.254;
option netbios-name-servers 192.168.21.254;
default-lease-time 600;
max-lease-time 7200;
authoritative;
allow unknown-clients;
log-facility local7;
subnet 192.168.21.0 netmask 255.255.255.0 {
        range 192.168.21.11 192.168.21.99;
        option subnet-mask 255.255.255.0;
        option domain-name "cp.galimberti.priv";
        option domain-name-servers 192.168.21.254;
        option routers 192.168.21.254;

        zone    21.168.192.in-addr.arpa. {
                primary 192.168.21.254;
                key             "rndc-key";
        }
        zone    localdomain. {
                primary 192.168.21.254;
                key             "rndc-key";
        }
}

Riavviare dhcpd3

 /etc/init.d/dhcp3-server stop;  /etc/init.d/dhcp3-server start

Troubleshooting

ATTENZIONE:

Se si rigenera la chivae rndc, occorre riavviare sia bind che dhcpd, altrimenti si ottiene l'errore:

named[30593]: client 127.0.0.1#49087: request has invalid signature: TSIG rndc-key: tsig verify failure (BADKEY)

Se invece si dimentica di settare i diritti sulla /etc/bind, si ottiene l'errore:

named[30901]: db.rdu90.com.jnl: create: permission denied


Riferimenti