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