Aggiornamento dinamico dns di bind9 con dhcpd3: Difference between revisions

From RVM Wiki
Jump to navigation Jump to search
No edit summary
 
Line 60: Line 60:
== Configurazione di dhcpd3 ==
== Configurazione di dhcpd3 ==


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


<pre>
<pre>
server-identifier          server;
# Specifiche per il DDNS
server-identifier          cliserver;
ddns-updates                on;
ddns-updates                on;
ddns-update-style          interim;
ddns-update-style          interim;
Line 70: Line 71:
ignore                      client-updates;
ignore                      client-updates;
include                    "/etc/bind/rndc.key";
include                    "/etc/bind/rndc.key";
update-static-leases        on;
# Specifiche per il DDNS
zone cliente.priv. {
zone cliente.priv. {
     primary 127.0.0.1;
     primary 127.0.0.1;
     key rndc-key;
     key rndc-key;
}
}
option domain-name "cliente.priv";
 
option domain-name-servers 192.168.21.254;
</pre>
option netbios-name-servers 192.168.21.254;
 
default-lease-time 600;
All'interno della definizione della subnet, inserire:
max-lease-time 7200;
 
authoritative;
<pre>
allow unknown-clients;
log-facility local7;
subnet 192.168.21.0 netmask 255.255.255.0 {
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;
         # Specifiche per il DDNS
        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. {
         zone    21.168.192.in-addr.arpa. {
                 primary 192.168.21.254;
                 primary 192.168.21.254;
                 key            "rndc-key";
                 key            "rndc-key";
         }
         }
        # Specifiche per il DDNS
         zone    localdomain. {
         zone    localdomain. {
                 primary 192.168.21.254;
                 primary 192.168.21.254;
                 key            "rndc-key";
                 key            "rndc-key";
         }
         }
...
}
}
</pre>
</pre>
Line 102: Line 103:
Riavviare dhcpd3
Riavviare dhcpd3


  /etc/init.d/dhcp3-server stop;  /etc/init.d/dhcp3-server start
sudo invoke-rc.d dhcp3-server stop;  sudo invoke-rc.d dhcp3-server start


== Troubleshooting ==
== Troubleshooting ==

Revision as of 10:25, 19 February 2009

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