Ce tutoriel fait suite à une erreur rencontrée sur un service ISC-dhcpd OpenBSD et un service bind9 à mettre en corrélation, l’erreur d’origine était:
dhcpd: Unable to add forward map "not found"
Dans un réseau avec adresses IP dynamiques, il est intéressant d’utiliser des noms DNS afin de retrouver les machines. Ces noms doivent évoluer avec la configuration du réseau. Il existe une mécanique interne à named (bind) et isc-dhcpd permettant de relier le DHCP et le DNS afin que les mises à jour soient faites entre les 2 services/hôtes.
Cette mécanique utilise le principe du RNDC, qui est une clé partagée, et permet ainsi d’assurer l’authentification des services entre eux.
Dans ce tutoriel nous partirons du principe que chaque machine est à la fois DHCP et DNS.
Sur chaque hôte ayant besoin de la clé partagée, tapez:
rndc-confgen -a
cat /etc/rndc.key
Voici le contenu de /etc/rndc.key
key "rndc-key" {
algorithm hmac-md5;
secret "vf1uTu6d33PnjMaVTv9++A==";
};
Vous pouvez copier ce fichier (en faisant attention à préserver les droits root et le mod 600 !) sur les différents hôtes si vous souhaitez utiliser une seule clé, et renommer rndc-key en autre chose, my-key par exemple.
Deux éléments sont nécessaires à ISC-dhcpd afin de pouvoir se relier au(x) DNS:
La première étape est d’ajouter la ligne suivante à votre fichier /etc/dhcpd.conf permettant d’ajouter la clé au DHCP
include "/etc/rndc.key";
La seconde étape consiste à déclarer les zones DNS au DHCP (ici la zone et un reverse associé):
zone domain.tld. {
secondary 10.1.1.3;
primary 10.1.1.2;
key my-key;
}
zone 50.10.in-addr.arpa. {
secondary 10.1.1.3;
primary 10.1.1.2;
key my-key;
}
On déclare le serveur primaire DNS 10.1.1.2 et le serveur secondaire 10.1.1.3, ceci permettra de garder une synchronisation des enregistrements entre les différents DNS.
Ouvrez votre named.conf et ajoutez les lignes suivantes:
key "my-key" {
algorithm hmac-md5;
secret "vf1uTu6d33PnjMaVTv9++A==";
};
controls {
inet 10.117.1.2 port 953
allow { 10.117.1.2; 10.117.1.3; 127.0.0.1; } keys { "my-key"; };
};
Ces lignes vont dire à named d’écouter sur une interface (port TCP 953) et de n’autoriser que certains hôtes (lui même en localhost et adresse externe, ainsi que le second DHCP) avec la clé my-key à venir mettre à jour le DNS.
Maintenant éditez les zones afin de permettre les mises à jour (named.conf):
zone "domain.tld." IN {
type master;
file "master/db.domain.tld";
allow-update {
key my-key;
127.0.0.1;
10.1.1.2;
10.1.1.3;
10.50.0.0/16;
};
notify yes;
};
zone "50.10.in-addr.arpa" {
type master;
file "master/db.10.50";
allow-update {
key my-key;
127.0.0.1;
10.1.1.2;
10.1.1.3;
10.50.0.0/16;
};
notify yes;
};
On autorise la clé et les deux serveurs à mettre à jour la zone, ainsi que les adresses IP des clients, car Windows n’utilise pas les mécaniques conventionnelles et vient lui même mettre à jour le DNS (et c’est important que ce soit le cas, si vous voulez mettre en place un annuaire ActiveDirectory, autorisez le à mettre à jour le DNS avant d’installer le service !!)
Pour terminer, veillez au éléments suivants:
Désormais vous avez un DHCP et un DNS dynamiques multi serveurs !