c1dd26db365d17775c7a53065fd45acee2b99dfb
R\303\251seau/DHCP.md
... | ... | @@ -0,0 +1,146 @@ |
1 | +Dynamic Host Configuration Protocol (DHCP) |
|
2 | +====================================== |
|
3 | + |
|
4 | +-> [Voir la configuration DHCP de Rennes](Rennes/Réseau/DHCP) |
|
5 | + |
|
6 | +## Généralités |
|
7 | + |
|
8 | +Le serveur DHCP est hébergé sur la VM [saymyname](Serveurs/saymyname) |
|
9 | + |
|
10 | +Le serveur DHCP utilisé est isc-dhcp |
|
11 | + |
|
12 | +## Utilisation |
|
13 | + |
|
14 | +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) |
|
15 | + |
|
16 | +## Configuration |
|
17 | +-> La configuration se trouve : https://git.resel.fr/confs/dhcp-brest |
|
18 | + |
|
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. |
|
20 | + |
|
21 | +### Configuration préliminaire du DHCP |
|
22 | + |
|
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 |
|
24 | + |
|
25 | +Avant d'ajouter toutes les IP des machines au DHCP, il faut configurer les options par défaut : |
|
26 | + |
|
27 | +``` |
|
28 | +authoritative; |
|
29 | +one-lease-per-client on; |
|
30 | +always-broadcast on; |
|
31 | +ping-check on; |
|
32 | +log-facility local 7; |
|
33 | + |
|
34 | +option netbios-node-type 2; |
|
35 | +option netbios-name-servers 172.22.199.1; |
|
36 | +option netbios-dd-server 172.22.199.1; |
|
37 | +option ntp-servers 172.22.199.1; |
|
38 | +option pop-server 172.22.42.105; |
|
39 | +option nntp-server 172.22.42.105; |
|
40 | +option www-server 172.22.42.80; |
|
41 | +option irc-server 172.22.199.31; |
|
42 | +next-server 172.22.42.3; |
|
43 | +``` |
|
44 | + |
|
45 | +À noter que le authoritative permet de dire au DHCP de refuser toute demande illégale d'un client DHCP. |
|
46 | + |
|
47 | +Ensuite, on configure le PXE : |
|
48 | + |
|
49 | +``` |
|
50 | +filename "pxelinux.0"; |
|
51 | + |
|
52 | +if substring (option vendor-class-identifier, 0, 17) = "NetBSD:i386:libsa" |
|
53 | +{ |
|
54 | + if filename = "boot.cfg" |
|
55 | + { |
|
56 | + filename "tftp:bsd/netbsd-boot.cfg"; |
|
57 | + } else if filename = "netbsd" { |
|
58 | + filename "tftp:bsd/netbsd-INSTALL.gz"; |
|
59 | + } |
|
60 | +} |
|
61 | +``` |
|
62 | + |
|
63 | +Voila la partie intéressante : |
|
64 | + |
|
65 | +``` |
|
66 | +option domain-name "resel.fr"; |
|
67 | + |
|
68 | +shared-network "resel-995" { |
|
69 | + |
|
70 | + # Subnet inscription |
|
71 | + subnet 172.22.224.0 netmask 255.255.254.0 { |
|
72 | + authoritative; |
|
73 | + range 172.22.224.3 172.22.225.250; |
|
74 | + default-lease-time 120; |
|
75 | + max-lease-time 300; |
|
76 | + option domain-name-servers 172.22.225.253; |
|
77 | + option routers 172.22.225.254; |
|
78 | + option broadcast-address 172.22.225.255; |
|
79 | + option subnet-mask 255.255.254.0; |
|
80 | + } |
|
81 | +} |
|
82 | + |
|
83 | +shared-network "resel-999" { |
|
84 | + |
|
85 | + # Subnet inscription-999 (inscription over ethernet) |
|
86 | + subnet 172.22.226.0 netmask 255.255.254.0 { |
|
87 | + authoritative; |
|
88 | + range 172.22.226.3 172.22.227.250; |
|
89 | + default-lease-time 120; |
|
90 | + max-lease-time 300; |
|
91 | + option domain-name-servers 172.22.227.253; |
|
92 | + option routers 172.22.227.254; |
|
93 | + option broadcast-address 172.22.227.255; |
|
94 | + option subnet-mask 255.255.254.0; |
|
95 | + } |
|
96 | + # Subnet utilisateurs |
|
97 | + subnet 172.22.192.0 netmask 255.255.224.0 { |
|
98 | + option domain-name-servers 172.22.199.229, 172.22.42.1, 172.23.42.229; |
|
99 | + option routers 172.22.199.1; |
|
100 | + option subnet-mask 255.255.224.0; |
|
101 | + #range 172.22.200.000 172.22.223.254; |
|
102 | + } |
|
103 | + |
|
104 | + group { |
|
105 | + use-host-decl-names off; |
|
106 | + option domain-name-servers 172.22.199.229, 172.22.199.11; |
|
107 | + option routers 172.22.199.1; |
|
108 | + option broadcast-address 172.22.223.255; |
|
109 | + default-lease-time 86400; |
|
110 | + min-lease-time 86400; |
|
111 | +``` |
|
112 | + |
|
113 | +### Configuration du daemon |
|
114 | + |
|
115 | +Par ailleurs, le fichier `/etc/default/isc-dhcp-server` contient la configuration du lancement du daemon. |
|
116 | +La ligne intéressante est celle précisant les interfaces : |
|
117 | + |
|
118 | +``` |
|
119 | +DHCPDARGS = "eth1 eth3" |
|
120 | +``` |
|
121 | + |
|
122 | +#### Génération et redémarrage |
|
123 | + |
|
124 | +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 | +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 | + |
|
127 | +Pour regénérer le DHCP, le script `/srv/reloader/scripts/dhcp/ldap2dhcp.py` va questionner le ldap et récupérer toutes les ips et macs de machines inscrites, |
|
128 | +puis il va générer un host dans la conf du dhcp suivant la syntaxe |
|
129 | + |
|
130 | +``` |
|
131 | +host <son nom> |
|
132 | +{ |
|
133 | + fixed-address <son ip>; |
|
134 | + hardware ethernet <sa mac>; |
|
135 | + option host-name <son hostname>; |
|
136 | +} |
|
137 | +``` |
|
138 | + |
|
139 | +## Ressources utiles |
|
140 | +* https://wiki.debian.org/DHCP_Server |
|
141 | + |
|
142 | +## Articles liés |
|
143 | +* [Saymyname](Serveurs/saymyname) |
|
144 | + |
|
145 | +## TODO (pour le rédacteur) |
|
146 | +* Ajouter quelques ressources de plus |
|
... | ... | \ No newline at end of file |