Introduzione
Facciamo in modo che isc-dhcp-server aggiorni in automatico la zona locale e reverse di bind9
Prerequisiti
Si presume che bind e il server dhcp siano già installati, eventualmente potete trovare l'articolo relativo all'installazione qui.
Verrà utilizzato come esempio la comune rete 192.168.1.0/24 da modificare in base alle vostre esigenze come anche il nome per la
Configurazione
La procedura di modifica è molto semplice, si dovrà in sostanza mettere in comunicazione tra loro isc-dhcp-server e bind9, iniziamo con modificare il file di configurazione di isc-dhcp-server presente in /etc/dhcp
sudo nano /etc/dhcp/dhcpd.conf
e aggiungiamo le seguenti righe di configurazione:
include "/etc/bind/rndc.key";
ddns-update-style interim;
allow client-updates;
ddns-updates on;
update-static-leases on;
zone kiokoman.local. {
primary 192.168.1.1;
key rndc-key;
}
zone 1.168.192.in-addr.arpa. {
primary 192.168.1.1;
key rndc-key;
}
Sostanzialmente abbiamo importato la chiave di autorizzazione da bind, attivato gli aggiornamenti dinamici di isc-dhcp-server relativamente alla zona interna e alla reverse. Attenzione che 192.168.1.1 è solo di esempio e va sostituito con l'indirizzo ip del vostro server dove è installato bind.
Ricordo che il file rndc.key va creato con il comando rndc-confgen copiando e incollando al suo interno quanto generato se non fosse già presente.
Salvato la configurazione ci possiamo spostare nella cartella di bind, generalmente in /etc/bind e procedere alla modifica di quest'ultimo
dobbiamo creare i due file per la zona interna e la reverse:
sudo nano pri.kiokoman.local
all'interno copiate quanto segue aggiustando in base alle vostre esigenze:
$ORIGIN .
$TTL 907200 ; 1 week 3 days 12 hours
kiokoman.local IN SOA ns1.kiokoman.local. admin.kiokoman.local. (
2014072489 ; serial
28800 ; refresh (8 hours)
3600 ; retry (1 hour)
604800 ; expire (1 week)
38400 ; minimum (10 hours 40 minutes)
)
NS ns1.kiokoman.local.
$ORIGIN kiokoman.local.
ns1 A 192.168.1.1
local-dns-dhcp CNAME ns1
Per la reverse invece procediamo quanto segue:
sudo nano reverse-192.168.1
e aggiungiamo quanto segue, anche qui modificando nomi e ip in base alle esigenze:
$ORIGIN .
$TTL 907200 ; 1 week 3 days 12 hours
1.168.192.in-addr.arpa IN SOA ns1.kiokoman.local. admin.kiokoman.local. (
2014072106 ; serial
28800 ; refresh (8 hours)
604800 ; retry (1 week)
604800 ; expire (1 week)
86400 ; minimum (1 day)
)
NS ns1.kiokoman.local.
$ORIGIN 1.168.192.in-addr.arpa.
1 PTR server.kiokoman.local.
Salviamo e assicuriamoci che i permessi siano corretti per i due file appena creati:
sudo chown bind:bind pri.kiokoman.local
sudo chown bind:bind reverse-192.168.1
sudo chmod 644 pri.kiokoman.local
sudo chmod 644 reverse-192.168.1
A questo punto dobbiamo modificare bind9 in modo che si metta in ascolto delle modifiche inviate dal server dhcp e che aggiorni le zone di conseguenza. Per poter fare questo modifichiamo il file /etc/bind/named.conf.local
sudo nano /etc/bind/named.conf.local
e aggiungiamo quanto segue:
controls {
inet 127.0.0.1 port 953
allow { 127.0.0.1; } keys { "rndc-key"; };
};
zone "kiokoman.local" {
type master;
file "/etc/bind/pri.kiokoman.local";
allow-update { key rndc-key; };
};
zone "1.168.192.in-addr.arpa" IN {
type master;
file "/etc/bind/reverse-192.168.1";
allow-update { key rndc-key; };
};
Abbiamo messo bind in ascolto sulla porta 953 autorizzando solo localhost previa verifica della chiave e specificato quali zone possono essere aggiornate.
assicuriamoci che in /etc/bind/named.conf.options sia inserito il il parametro include "/etc/bind/rndc.key";
Riavviamo i due servizi e esaminando i log dovremmo iniziare a vedere lo scambio di informazioni