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

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

Externes

Articles liés

TODO (pour le rédacteur)

  • Etoffer l'article avec un peu plus de phrases, de contexte