Vediamo invece l'integrazione fra DHCP e DNS.
Supponiamo di aver installato il tutto in base al seguente tutorial
Prima di tutto creiamo una chiave che è utilizzata per autorizzare il servizio DHCP per parlare con il servizio DNS
dnssec-keygen -a hmac-md5 -b 256 -n USER dyndns
Vengono creati due file che iniziano per Kdyndns.
Il file che finisce con l'estensione .private l'ultima riga dovrebbe contenere la seguente stringa:
Key: QvVkTnvBcXy4ssmKHSwmADZ2LQtYxeusl+VqHzDl5jQ=
A questo punto è necessario abilitare il Servizio DNS di utilizzare la chiave precedente per aggiornare i record DNS. Modificare il file named.conf mettendo nella sezione generale:
key dyndns {
algorithm HMAC-MD5;
secret "QvVkTnvBcXy4ssmKHSwmADZ2LQtYxeusl+VqHzDl5jQ=";
};
algorithm HMAC-MD5;
secret "QvVkTnvBcXy4ssmKHSwmADZ2LQtYxeusl+VqHzDl5jQ=";
};
Cerchiamo ogni zona che vogliamo venga gestita con dynami update:
allow-update { key dyndns; };
Verificare che il daemon named abbia le giuste permission nelle zone che deve gestire.
Adesso abilitiamo il servizio DHCP a gestire il dynamic update:
update-static-leases on; #da utilizzarsi solo se vogliamo ip statici
key dyndns {
algorithm hmac-md5;
secret QvVkTnvBcXy4ssmKHSwmADZ2LQtYxeusl+VqHzDl5jQ=;
}
algorithm hmac-md5;
secret QvVkTnvBcXy4ssmKHSwmADZ2LQtYxeusl+VqHzDl5jQ=;
}
primary 127.0.0.1;
key dyndns;
}
zone example.com {
primary 127.0.0.1;
key dyndns;
}
notare che la chiave è chiamata dyndns e sono definite le zone che verranno gestite con i Dynamic Update.
Ecco il caso di un singolo host:
host server2 {
hardware ethernet 00:00:00:23:45:EF;
fixed-address 192.168.1.11;
option host-name "web1.example.com";
option domain-name "example.com";
ddns-hostname "web1";
ddns-domainname "example.com";
}
hardware ethernet 00:00:00:23:45:EF;
fixed-address 192.168.1.11;
option host-name "web1.example.com";
option domain-name "example.com";
ddns-hostname "web1";
ddns-domainname "example.com";
}
Ecco invece il caso di un range di IP:
subnet 192.168.1.0 netmask 255.255.255.0 {
option subnet-mask 255.255.255.0;
option broadcast-address 192.168.1.255;
option routers 192.168.1.1;
default-lease-time 600;
max-lease-time 604800;
option domain-name "example.com";
option domain-name-servers 192.168.1.1, 192.168.1.2;
option subnet-mask 255.255.255.0;
option broadcast-address 192.168.1.255;
option routers 192.168.1.1;
default-lease-time 600;
max-lease-time 604800;
option domain-name "example.com";
option domain-name-servers 192.168.1.1, 192.168.1.2;
option time-offset 7200;
option ntp-servers 192.168.1.1;
range 192.168.1.100 192.168.1.200;
ddns-hostname concat("dhcp", binary-to-ascii(10, 8, "-", leased-address));
ddns-domainname "example.com";
}
option ntp-servers 192.168.1.1;
range 192.168.1.100 192.168.1.200;
ddns-hostname concat("dhcp", binary-to-ascii(10, 8, "-", leased-address));
ddns-domainname "example.com";
}