30bbe813db9f190b8484e9f6c2bec0df64050b0b
Guides/DHCP/Configurer-un-DHCP-de-secours.md
... | ... | @@ -0,0 +1,132 @@ |
1 | +Configurer un DHCP de secours pour gérer le failover |
|
2 | +====================================== |
|
3 | + |
|
4 | +Version du 25/01/2017. |
|
5 | + |
|
6 | +Cette page est un guide sur comment installer un serveur DHCP, en particulier celui de Brest. |
|
7 | +C'est la première étape du guide [Monter le service DHCP](/Guides/Monter-le-service-DHCP) du ResEL |
|
8 | +* [Installer un serveur DHCP](/Guides/DHCP/Installer-un-serveur-DHCP) |
|
9 | +* [Configurer le DHCP](/Guides/DHCP/Configurer-un-serveur-DHCP) |
|
10 | +* Configurer un DHCP de secours |
|
11 | + |
|
12 | +# Contexte |
|
13 | +Ajout d'une nouvelle machine en tant que DHCP de secours, ici Braum, appelé le `secondary dhcp`. |
|
14 | +ELle prend le relai sur le DHCP principal, saymyname, appelé `primary dhcp`. |
|
15 | + |
|
16 | + |
|
17 | +# Mise en place du failover |
|
18 | +Tout ce qui inscrit ici est inpiré de l'article[¹] |
|
19 | +[¹]: https://kb.isc.org/article/AA-00502/0/A-Basic-Guide-to-Configuring-DHCP-Failover.html |
|
20 | +## Configuration du second serveur DHCP |
|
21 | +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. |
|
22 | + |
|
23 | +## Installation des outils |
|
24 | +### Sur les deux VMs |
|
25 | +Pour l'outil de génération de clé `dnssec-keygen` |
|
26 | +``` |
|
27 | +apt install bind9 |
|
28 | +``` |
|
29 | +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 |
|
30 | +``` |
|
31 | +apt install haveged |
|
32 | +``` |
|
33 | + |
|
34 | +## Modification de header.conf |
|
35 | +Le fichier `header.conf` |
|
36 | +### Ajout du block failover peer |
|
37 | +Les blocks suivant peuvent être placés juste avant la déclaration des subnets |
|
38 | +#### Pour le primary dhcp |
|
39 | + |
|
40 | +``` |
|
41 | +failover peer "failover-dhcp-resel" { |
|
42 | + primary; |
|
43 | + address <ip du primary dhcp>; |
|
44 | + port <port d'écoute du primary DHCP, exemple 519>; |
|
45 | + peer address <ip du secondary dhcp>; |
|
46 | + peer port <port d'envoi des paquet sur le secondary DHCP, exemple 520>; |
|
47 | + max‐response‐delay 60; |
|
48 | + max‐unacked‐updates 10; |
|
49 | + mclt 3600; |
|
50 | + split 128; |
|
51 | + load balance max seconds 3; |
|
52 | +} |
|
53 | +``` |
|
54 | + |
|
55 | +#### Pour le secondary DHCP |
|
56 | +Les ports d'écoutes doivent correspondre sur les deux configurations. |
|
57 | +``` |
|
58 | +failover peer "failover-dhcp-resel" { |
|
59 | + secondary; |
|
60 | + address <ip du secondary dhcp>; |
|
61 | + port <port d'écoute du secondary DHCP, exemple 520>; |
|
62 | + peer address <ip du primary dhcp>; |
|
63 | + peer port <port d'envoi des paquet sur le primary DHCP, exemple 519>; |
|
64 | + max‐response‐delay 60; |
|
65 | + max‐unacked‐updates 10; |
|
66 | + load balance max seconds 3; |
|
67 | +} |
|
68 | +``` |
|
69 | + |
|
70 | +#### Pour les deux VMs |
|
71 | +dans chaque subnet, rajouter |
|
72 | +``` |
|
73 | +pool { |
|
74 | + failover peer "failover-dhcp-resel"; |
|
75 | + range <IP start> <IP end>; |
|
76 | +} |
|
77 | +``` |
|
78 | +Pour les IPs, il y avait toujours une ligne range dans les blocs subnet, il suffit d'en faire un copier-coller. |
|
79 | +Pour la configuration dhcp-brest, il y a donc **trois** blocs de ce type à ajouter au 25/01/2017 |
|
80 | +et commenter les ranges dans le reste du subnet (pour qu'il ne reste que celui dans le pool précédent). |
|
81 | + |
|
82 | +### Configuration de l'API de connexion entre les deux serveurs |
|
83 | +#### Dans les deux VMs |
|
84 | +Se placer dans le dossier `/etc/dhcp` puis Générer les clés |
|
85 | +``` |
|
86 | +dnssec‐keygen ‐a HMAC‐MD5 ‐b 512 ‐n USER omapi_dhcp_failover |
|
87 | +``` |
|
88 | + |
|
89 | +ouvrir la clé privée |
|
90 | +``` |
|
91 | +vim Komapi_dhcp_failover.+<3 numéros>+<trace de la clé>.private |
|
92 | +``` |
|
93 | +et copier la partie "key" |
|
94 | +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. |
|
95 | +``` |
|
96 | +omapi-port 7911; |
|
97 | +omapi-key omapi_dhcp_failover; |
|
98 | +``` |
|
99 | +Ensuite on insère la clé. |
|
100 | +``` |
|
101 | +key omapi_dhcp_failover { |
|
102 | + algorithm hmac-md5; |
|
103 | + secret <Partier copiée de la clé privée>; |
|
104 | +} |
|
105 | +``` |
|
106 | + |
|
107 | +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`. |
|
108 | + |
|
109 | +## Redémarrage des services |
|
110 | +Lancez les scripts de reload `/srv/reloader/scripts/dhcp/ldap2dhcp.py` |
|
111 | +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 ! |
|
112 | +Ca marche si le DHCP répond ! |
|
113 | + |
|
114 | +# Autres |
|
115 | +## Ressources utiles |
|
116 | +### Git ResEl |
|
117 | +* https://git.resel.fr/confs/dhcp-brest |
|
118 | +* https://git.resel.fr/confs/dhcp-rennes |
|
119 | +* https://git.resel.fr/resel/scripts/tree/master/dhcp pour le script `ldap2dhcp.py`. |
|
120 | + |
|
121 | +### Externes |
|
122 | +* https://wiki.debian.org/DHCP_Server |
|
123 | +* https://en.wikipedia.org/wiki/Dynamic_Host_Configuration_Protocol |
|
124 | +* https://kb.isc.org/article/AA-00502/0/A-Basic-Guide-to-Configuring-DHCP-Failover.html |
|
125 | + |
|
126 | +## Articles liés |
|
127 | +* [Saymyname](/Serveurs/saymyname) |
|
128 | +* [Braum](/Serveurs/braum) |
|
129 | +* [Installer un serveur DHCP](/Guides/DHCP/Installer-un-serveur-DHCP) (Article précédent) |
|
130 | + |
|
131 | +# TODO (pour le rédacteur) |
|
132 | +* Etoffer l'article avec un peu plus de phrases, de contexte |
|
... | ... | \ No newline at end of file |