Dynamic Domain Name System

Création de la clé d'authentification

dnssec-keygen -a HMAC-MD5 -b 128 -r /dev/urandom -n USER maj-key

Crée un fichier .key qui contient la clé que l'on va utiliser pour authentifier les commmunications entre les services DNS et DHCP

cat /etc/bind/Kmaj-key.+157+16141.key
maj-key. IN KEY 0 3 157 rhmTuw/tGKY6NU4XWiPulw==

La clé est la dernière chaine de caractères se terminant par ==

Il faut ensuite éditer le fichier de configuration utilisé par bind/named et le service dhcp

{nano|vim|emacs} /etc/bind/ddns.key

key "michel-joly.fr" {
    algorithm hmac-md5;
    secret "rhmTuw/tGKY6NU4XWiPulw==";
};

Intégration au service DNS

On inclut le fichier contenant la clé dans le fichier de configuration de bind

/etc/bind/named.conf

...
include "/etc/bind/ddns.key"

On authorise la modification du fichier de zone depuis l'adresse locale (les deux services sont sur le même serveur), et en indiquant le nom de la clé.

/etc/bind/named.conf.local

zone "michel-joly.fr" {
     type master;
     file "michel-joly.fr.zone";
     allow-query {127.0.0.1;192.168.42.0/24;192.168.1.0/24;};
     allow-update {127.0.0.1; key "michel-joly.fr";};
};

zone "42.168.192.in-addr.arpa" {
     type master;
     file "reverse.michel-joly.fr.zone";
     allow-query {127.0.0.1;192.168.42.0/24;192.168.1.0/24;};
     allow-update {127.0.0.1; key "michel-joly.fr";};
};

Intégration au service DHCP

/etc/dhcp/dhcpd.conf

Comme pour le service DNS, on inclus le fichier contenant la clé dans la configuration du service, on met en route les mises à jour DDNS, on

ddns-updates on;
update-static-leases on;
ddns-update-style standard;
ddns-domainname "michel-joly.fr";
include "/etc/bind/ddns.key";

zone michel-joly.fr. {
     primary 192.168.42.254;
     key michel-joly.fr;
}

zone 42.168.192.in-addr.arpa. {
     primary 192.168.42.254;
     key michel-joly.fr;
}