Aggiornamento dinamico dns di bind9 con dhcpd3

From RVM Wiki
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

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

# Specifiche per il DDNS
server-identifier           cliserver;
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";
update-static-leases        on;

# Specifiche per il DDNS
zone cliente.priv. {
    primary 127.0.0.1;
    key rndc-key;
}

All'interno della definizione della subnet, inserire:

subnet 192.168.21.0 netmask 255.255.255.0 {
...
        # Specifiche per il DDNS
        zone    21.168.192.in-addr.arpa. {
                primary 192.168.21.254;
                key             "rndc-key";
        }

        # Specifiche per il DDNS
        zone    localdomain. {
                primary 192.168.21.254;
                key             "rndc-key";
        }
...
}

Riavviare dhcpd3

sudo invoke-rc.d dhcp3-server stop;  sudo invoke-rc.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