This is an old revision of the document!
Table of Contents
Dynamic DNS con DHCP
La presente configurazione funziona su una Debian Squeeze con isc-dhcp-server 4.1.1.
In /etc/dhcp/dhcpd.conf
, sezione principale, si aggiunge tutto il necessario riguardo al DDNS:
ddns-updates on; ddns-update-style interim; ddns-domainname "rigacci.net"; update-static-leases on; update-optimization false;
Nel caso specifico si vuole annunciare al DNS anche gli host che hanno un indirizzo IP fisso (update-static-leases
). Il parametro update-optimization
- se impostato a true - evita che venga chiesto un aggiornamento della zona per ogni rinnovo del lease DHCP.
Nella sezione subnet
dello stesso file - oltre alle normali configurazioni - si aggiunge il necessario per comunicare con il server DNS. La password è una stringa codificata in base64.
subnet 192.168.3.0 netmask 255.255.255.0 { key rndc-key { algorithm hmac-md5; secret "TXlWZXJ5U2VjcmV0Cg=="; }; zone rigacci.net. { primary 192.168.2.2; key rndc-key; } zone 3.168.192.in-addr.arpa. { primary 192.168.2.2; key rndc-key; } }
Infine nella sezione group
si dichiara quale nome registrare al momento del lease. Questo è un esempio per un host con IP fisso:
group { host squeeze { hardware ethernet 52:54:00:00:03:70; fixed-address 192.168.3.70; ddns-hostname "squeeze"; } }
Configurazione del server DNS
L'unica aggiunta da fare al server DNS è la definizione della chiave e l'autorizzare alle modifiche dinamiche della zona:
key rndc-key { algorithm hmac-md5; secret "TXlWZXJ5U2VjcmV0Cg=="; }; zone "rigacci.net" { type master; file "rigacci.net.private"; allow-transfer { 192.168.3.1; }; allow-update { key "rndc-key"; }; };
Modificare manualmente il file di zona
ATTENZIONE: Non si deve modificare manualmente un file di zona mentre è soggetto ad aggiornamenti dinamici.
Prima si deve bloccare gli aggiornamenti con il comando rndc freeze
. In questo esempio private è il nome della view in cui si trova la zona:
rndc freeze rigacci.net IN private
Dopo aver modificato manualmente il file (e aggiornato il numero seriale), non è necessario fare il reload di BIND, basta “scongelare” la zona:
rndc unfreeze rigacci.net IN private