DHCP est un protocole réseau permettant l'auto-configuration des paramètres IP d'une machine en lui offrant une adresse, une masque de sous-réseau mais aussi éventuellement une passerelle par défaut ainsi que des DNS. La majorité des “box ADSL” disposent d'un DHCP mais il peut être utile de créer son propre serveur pour pouvoir offrir des services personnalisés (PXE par exemple).
Sous Debian, l'installation se fait en un rien de temps.
aptitude install isc-dhcp-server
Après l'installation du paquet le serveur DHCP va tenter de démarrer, cela doit normalement échouer car la configuration n'est pas réalisée. Elle fait l'objet de l'étape suivante.
Il est évident que pour fonctionner au mieux le serveur DHCP ne doit pas changer d'adresse. On va donc lui donner une adresse fixe qui entrera dans le sous-réseau que l'on déclarera dans la configuration DHCP plus tard.
On édite le fichier /etc/network/interfaces et on doit avoir une configuration de ce type. Ici le serveur DHCP aura l'adresse 192.168.0.253 et ne possède qu'une seule carte réseau.
auto lo iface lo inet loopback allow-hotplug eth0 iface eth0 inet static address 192.168.0.253 netmask 255.255.255.0 network 192.168.0.0 broadcast 192.168.0.255 gateway 192.168.0.254
Il faut penser à recharger la configuration des interfaces.
service networking restart
Toute la configuration qui va nous intéresser ici se fait dans le fichier /etc/dhcp/dhcpd.conf. Il est conseillé (on ne sait jamais) de sauvegarder la version initiale du fichier.
cp /etc/dhcp/dhcpd.conf /etc/dhcp/dhcpd.conf.back
Une fois cela effectué, on peut refaire la configuration “from scratch”.
Pour cet exemple, on va mettre en place une configuration DHCP pour une réseau on ne peut plus classique :
Voici le fichier /etc/dhcp/dhcpd.conf que cela donnera.
ddns-update-style none; # Définitions pour tous les réseaux # On peut mettre ce que l'on veut option domain-name "chezmoi.me"; # DNS option domain-name-servers 8.8.8.8, 8.8.4.4; # Masque par défaut options subnet-mask 255.255.255.0; # Passerelle option routers 192.168.0.254; ################################### # Serveur DHCP principal authoritative; # Pour les logs log-facility local7; # Déclaration du sous-réseau subnet 192.168.0.0 netmask 255.255.255.0 { # L'option dynamic-bootp n'est pas obligatoire # Les adresses allouables via DHCP iront de 192.168.0.2 à 192.168.0.127 range dynamic-bootp 192.168.0.2 192.168.0.127; }
Une fois la configuration terminé, on démarre le serveur DHCP et on le laisse faire son travail.
service isc-dhcp-server start