Configurer un DHCP de secours pour gérer le failover
Version du 25/01/2017.
Cette page est un guide sur comment installer un serveur DHCP, en particulier celui de Brest. C'est la première étape du guide Monter le service DHCP du ResEL
- Installer un serveur DHCP
- Configurer le DHCP
- Configurer un DHCP de secours
Contexte
Ajout d'une nouvelle machine en tant que DHCP de secours, ici Braum, appelé le secondary dhcp
.
ELle prend le relai sur le DHCP principal, saymyname, appelé primary dhcp
.
Mise en place du failover
Tout ce qui inscrit ici est inpiré de l'article¹
Configuration du second serveur DHCP
Il faut commencer par avoir deux machines configurées pour le DHCP (voir article précédent). Ensuite, il en faut désigner une en tant que primary dhcp, et l'autre en tant que secondary DHCP.
Installation des outils
Sur les deux VMs
Pour l'outil de génération de clé dnssec-keygen
apt install bind9
La génération de clé est ultra lente, du coup un paquet supplémentaire pour générer de l'entropie ça ne fait pas de mal. Installez haveged
apt install haveged
Modification de header.conf
Le fichier header.conf
Ajout du block failover peer
Les blocks suivant peuvent être placés juste avant la déclaration des subnets
Pour le primary dhcp
failover peer "failover-dhcp-resel" {
primary;
address <ip du primary dhcp>;
port <port d'écoute du primary DHCP, exemple 519>;
peer address <ip du secondary dhcp>;
peer port <port d'envoi des paquet sur le secondary DHCP, exemple 520>;
max‐response‐delay 60;
max‐unacked‐updates 10;
mclt 3600;
split 128;
load balance max seconds 3;
}
Pour le secondary DHCP
Les ports d'écoutes doivent correspondre sur les deux configurations.
failover peer "failover-dhcp-resel" {
secondary;
address <ip du secondary dhcp>;
port <port d'écoute du secondary DHCP, exemple 520>;
peer address <ip du primary dhcp>;
peer port <port d'envoi des paquet sur le primary DHCP, exemple 519>;
max‐response‐delay 60;
max‐unacked‐updates 10;
load balance max seconds 3;
}
Pour les deux VMs
dans chaque subnet, rajouter
pool {
failover peer "failover-dhcp-resel";
range <IP start> <IP end>;
}
Pour les IPs, il y avait toujours une ligne range dans les blocs subnet, il suffit d'en faire un copier-coller.
Pour la configuration dhcp-brest, il y a donc trois blocs de ce type à ajouter au 25/01/2017
et commenter les ranges dans le reste du subnet (pour qu'il ne reste que celui dans le pool précédent).
Configuration de l'API de connexion entre les deux serveurs
Dans les deux VMs
Se placer dans le dossier /etc/dhcp
puis Générer les clés
dnssec‐keygen ‐a HMAC‐MD5 ‐b 512 ‐n USER omapi_dhcp_failover
ouvrir la clé privée
vim Komapi_dhcp_failover.+<3 numéros>+<trace de la clé>.private
et copier la partie "key"
Insérer dans la conf. L'emplacement est libre, nous les avons placé entre la déclaration du nom de domaine et la déclaration des subnets.
omapi-port 7911;
omapi-key omapi_dhcp_failover;
Ensuite on insère la clé.
key omapi_dhcp_failover {
algorithm hmac-md5;
secret <Partier copiée de la clé privée>;
}
Concernant les fichiers de clé générés, on ne savait pas quoi faire avec, du coup on les a laissés dansn le répertoire /etc/dhcp
.
Redémarrage des services
Lancez les scripts de reload /srv/reloader/scripts/dhcp/ldap2dhcp.py
Si ça gueule pas, vous pouvez checker les logs et le journal de connexion avant les commandes indiquées dans l'article précédent !
Ca marche si le DHCP répond !
Autres
Ressources utiles
Git ResEl
- https://git.resel.fr/confs/dhcp-brest
- https://git.resel.fr/confs/dhcp-rennes
-
https://git.resel.fr/resel/scripts/tree/master/dhcp pour le script
ldap2dhcp.py
.
Externes
- https://wiki.debian.org/DHCP_Server
- https://en.wikipedia.org/wiki/Dynamic_Host_Configuration_Protocol
- https://kb.isc.org/article/AA-00502/0/A-Basic-Guide-to-Configuring-DHCP-Failover.html
Articles liés
- Saymyname
- Braum
- Installer un serveur DHCP (Article précédent)
TODO (pour le rédacteur)
- Etoffer l'article avec un peu plus de phrases, de contexte