7d3438ba4142821cb393fa6a14031d6701d383b7
R\303\251seau/DHCP.md
... | ... | @@ -1,35 +1,45 @@ |
1 | 1 | Dynamic Host Configuration Protocol (DHCP) |
2 | 2 | ====================================== |
3 | 3 | |
4 | --> [Voir la configuration DHCP de Rennes](Rennes/Réseau/DHCP) |
|
4 | +Version du 25/01/2017. |
|
5 | + |
|
6 | +Cette page est un guide sur comment configurer un serveur DHCP, en particulier celui de Brest. |
|
7 | +C'est la deuxième é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 |
|
10 | +* [Configurer un DHCP de secours](Guides/DHCP/Configurer-un-DHCP-de-secours) |
|
11 | + |
|
12 | +Vous pouvez [Voir la configuration DHCP de Rennes](Rennes/Réseau/DHCP) pour avoir un guide expliquant les différences de configuration à Rennes. |
|
13 | + |
|
5 | 14 | |
6 | 15 | ## Généralités |
7 | 16 | |
8 | -Le serveur DHCP est hébergé sur la VM [saymyname](Serveurs/saymyname) |
|
17 | +Le serveur DHCP est hébergé sur la VM [saymyname](Serveurs/saymyname). La VM [braum](Serveurs/braum) avec le serveur DHCP de secours a une configuration similaire. |
|
18 | + |
|
19 | +Le serveur DHCP utilisé est `isc-dhcp`, c'est à dire le package `isc-dhcp-server`. |
|
9 | 20 | |
10 | -Le serveur DHCP utilisé est isc-dhcp |
|
11 | 21 | |
12 | 22 | ## Utilisation |
13 | 23 | |
14 | 24 | Pour relancer le service lors d'une modification (mise à jour du ldap ou de la configuration dhcp) le plus simple est d'utiliser le lien qui se trouve sur le [site admin](https://admin.resel.fr) |
25 | +Ce lien lance l'exécution du script de reload (voir Configuration). |
|
15 | 26 | |
16 | 27 | ## Configuration |
17 | 28 | -> La configuration se trouve : https://git.resel.fr/confs/dhcp-brest |
18 | 29 | |
19 | -Le fichier de conf dhcpd.conf est généré en créant un fichier contenant d'abord le fichier /etc/dhcp/header.conf qui contient la conf préliminaire du dhcp. Puis le script python ajoute la description statique de chacun des machines inscrites, son ip et son adresse mac. |
|
30 | +Le fichier de conf dhcpd.conf est généré en créant un fichier contenant d'abord le fichier `/etc/dhcp/header.conf` qui contient la conf préliminaire du dhcp. Ensuite, le script python `ldap2dhcp.py` (voir plus bas) ajoute la description statique de chacun des machines inscrites, son ip et son adresse mac à la conf. La conf finale est inscrite dans le fichier `/etc/dhcp/dhcp.conf`. |
|
20 | 31 | |
21 | 32 | ### Configuration préliminaire du DHCP |
22 | 33 | |
23 | -Détaillons le fichier header que vous pouvez trouver dans sa dernière version à : https://git.resel.fr/confs/dhcp-brest/blob/master/header.conf |
|
34 | +Détaillons le fichier `header.conf` (situé dans `/etc/dhcp/`) que vous pouvez trouver dans sa dernière version à : https://git.resel.fr/confs/dhcp-brest/blob/master/header.conf |
|
24 | 35 | |
25 | 36 | Avant d'ajouter toutes les IP des machines au DHCP, il faut configurer les options par défaut : |
26 | - |
|
27 | 37 | ``` |
28 | 38 | authoritative; |
29 | 39 | one-lease-per-client on; |
30 | 40 | always-broadcast on; |
31 | 41 | ping-check on; |
32 | -log-facility local 7; |
|
42 | +log-facility local7; |
|
33 | 43 | |
34 | 44 | option netbios-node-type 2; |
35 | 45 | option netbios-name-servers 172.22.199.1; |
... | ... | @@ -41,8 +51,8 @@ option www-server 172.22.42.80; |
41 | 51 | option irc-server 172.22.199.31; |
42 | 52 | next-server 172.22.42.3; |
43 | 53 | ``` |
44 | - |
|
45 | -À noter que le authoritative permet de dire au DHCP de refuser toute demande illégale d'un client DHCP. |
|
54 | +À noter que le `authoritative;` permet de dire au DHCP de refuser toute demande illégale d'un client DHCP. |
|
55 | +De plus, il n'y a pas d'espace entre `local` et `7;` dans la ligne `log-facility local7;` contrairement à ce qu'il est possible de voir sur internet. On a testé et de mémoire c'est mieux. |
|
46 | 56 | |
47 | 57 | Ensuite, on configure le PXE : |
48 | 58 | |
... | ... | @@ -65,8 +75,8 @@ Voila la partie intéressante : |
65 | 75 | ``` |
66 | 76 | option domain-name "resel.fr"; |
67 | 77 | |
68 | -shared-network "resel-995" { |
|
69 | - |
|
78 | +shared-network "resel-995" |
|
79 | +{ |
|
70 | 80 | # Subnet inscription |
71 | 81 | subnet 172.22.224.0 netmask 255.255.254.0 { |
72 | 82 | authoritative; |
... | ... | @@ -109,6 +119,7 @@ shared-network "resel-999" { |
109 | 119 | default-lease-time 86400; |
110 | 120 | min-lease-time 86400; |
111 | 121 | ``` |
122 | +Vous pouvez noter ici l'absence de la bracket `}` finale pour permettre au reloader de concaténer la description statiques des machines inscrites. |
|
112 | 123 | |
113 | 124 | ### Configuration du daemon |
114 | 125 | |
... | ... | @@ -118,9 +129,18 @@ La ligne intéressante est celle précisant les interfaces : |
118 | 129 | ``` |
119 | 130 | DHCPDARGS = "eth1 eth3" |
120 | 131 | ``` |
132 | +L'interface `eth1` permet sert pour le VLAN utilisateur et l'interface eth3 pour le VLAN inscription. TODO : vérifier cette info. |
|
133 | +A noter que la ligne précédente remplace la ligne suivante dans la configuration par défaut de `isc-dhcp-server` : |
|
134 | +``` |
|
135 | +INTERFACES="" |
|
136 | +``` |
|
121 | 137 | |
122 | -#### Génération et redémarrage |
|
138 | +#### Génération |
|
139 | +Pour la première mise en route du service, le plus simple est de lancer le script `ldap2dhcp.py`. Voir l'article suivant pour plus d'info. |
|
123 | 140 | |
141 | +#### Redémarrage du service |
|
142 | +##### Avec le script (méthode conseillée) |
|
143 | +Pour appliquer la mise à jour du LDAP, ou de la configuration DHCP, il faut redémarrer le service isc-dhcp-server. |
|
124 | 144 | Pour redémarrer le DHCP, de préférence il faut utiliser l'interface admin : section relance DHCP et DNS cliquer sur le bouton DHCP. |
125 | 145 | Cela va lancer une connexion ssh sur [saymyname](Serveurs/saymyname) avec le compte reloader dont la seule action va être de relancer le DHCP. |
126 | 146 | |
... | ... | @@ -135,12 +155,45 @@ host <son nom> |
135 | 155 | option host-name <son hostname>; |
136 | 156 | } |
137 | 157 | ``` |
158 | +Le script écrase le contenu de `dhcp.conf` à chaque exécution. Il faut donc faire attention à ne pas casser la configuration préliminaire `header.conf` pour garantir la relance du service dhcp. |
|
159 | + |
|
160 | +##### Rédemarrage manuel (pour ceux qui aime tout casser) |
|
161 | +Pour effectuer un redémarrage manuel, il est possible de stopper et relancer le service à partir de l'invite de commande. Cette méthode ne prend pas en compte les modifications du LDAP, ni de la conf DHC. Je vous conseille vivement d'utiliser le script de reload. Néanmoins, les commandes à lancer sont : |
|
162 | +``` |
|
163 | +systemctl stop isc-dhcp-server |
|
164 | +``` |
|
165 | +Puis |
|
166 | +``` |
|
167 | +systemctl start isc-dhcp-server |
|
168 | +``` |
|
169 | + |
|
170 | +### Vérifier que les scripts sont bien lancés et fonctionnent |
|
171 | +Deux commandes permettent de vérifier que le service DHCP s'est lancé sans erreurs : |
|
172 | +``` |
|
173 | +tails -f /var/log/syslog |
|
174 | +``` |
|
175 | +et |
|
176 | +``` |
|
177 | +journalctl -xn 100 |
|
178 | +``` |
|
179 | +A noter que le `100` sert à faire apparaitre 100 lignes du journal (au lieu des 10 par défaut). |
|
138 | 180 | |
139 | 181 | ## Ressources utiles |
182 | +### Git ResEl |
|
183 | +* https://git.resel.fr/confs/dhcp-brest |
|
184 | +* https://git.resel.fr/confs/dhcp-rennes |
|
185 | +* https://git.resel.fr/resel/scripts/tree/master/dhcp pour le script `ldap2dhcp.py`. |
|
186 | + |
|
187 | +### Externes |
|
140 | 188 | * https://wiki.debian.org/DHCP_Server |
141 | 189 | |
190 | + |
|
142 | 191 | ## Articles liés |
143 | 192 | * [Saymyname](Serveurs/saymyname) |
193 | +* [Installer un serveur DHCP](Guides/DHCP/Installer-un-serveur-DHCP) (Article précédent) |
|
194 | +* [Configurer un DHCP de secours](Guides/DHCP/Configurer-un-DHCP-de-secours) (Article suivant) |
|
144 | 195 | |
145 | 196 | ## TODO (pour le rédacteur) |
146 | -* Ajouter quelques ressources de plus |
|
... | ... | \ No newline at end of file |
0 | +* Ajouter quelques ressources de plus |
|
1 | +* Vérifier la correspondance interfes-VLAN affirmée dans #configuration-du-daemon |
|
2 | +* Déplacer cette page vers [Configurer un serveur DHCP](Guides/DHCP/Configurer-un-serveur-DHCP) |
|
... | ... | \ No newline at end of file |