Ceci est une ancienne révision du document !
Mise en place d'un serveur DHCP sous Linux
Cette page a pour but de mettre en place un serveur DHCP sous Linux pour distribuer des paramètres IP aux machines d'un réseau. Les programmes utilisés dans ces tutos sont : ISC-DHCP-Server et DNSMasq.
ISC-DHCP-Server
1) Installer le paquet ISC-DHCP-Server
apt-get install isc-dhcp-server
2) Editer le fichier de configuration DHCP /etc/dhcp/dhcpd.conf :
nano /etc/dhcp/dhcpd.conf
Les lignes suivantes permettent de configurer les temps d'allocation d'une adresse IP sur le réseau :
default-lease-time 600; max-lease-time 7200;
Ces lignes permettent de déclarer un sous-réseau et les paramètres attribués aux clients :
subnet 10.100.0.0 netmask 255.255.0.0 { #Déclaration du sous-réseau
range 10.100.0.10 10.100.0.250; #Plage d'adresses IP reservée aux clients DHCP
option routers 10.100.0.1; #Routeurs du réseau (ici passerelle par défaut)
option domain-name "nocterie.local"; #Nom de domaine
option domain-name-servers 1.1.1.1, 9.9.9.9; #Serveurs DNS
}
[!] Ne pas oublier le point virgule après chaque paramètre
3) Editer le fichier de configuration du serveur /etc/default/isc-dhcp-server
nano /etc/default/isc-dhcp-server
Préciser la carte réseau qui répondra aux requêtes DHCP. Ne rien mettre entre les guillemets pour séléctionner toutes les cartes réseau de la machine
INTERFACESv4="enp0s8" #Carte réseau qui répondra aux requêtes DHCP
4) Redémarrer le service isc-dhcp-server
service isc-dhcp-server restart
5) Ouvrir un invité de commande sur une machine client pour tester que cela fonctionne et taper :
ipconfig /renew
Cela force la demande d'adresse IP. Si une adresse est déja attribuée par un autre DHCP(ou si la commande ne fonctionne pas), faire la commande ipconfig /release pour la libérer puis réessayer la commande précédente.
ipconfig /release
Il est déconseillé d'activer plusieurs services DHCP dans le même sous-réseau car il va y avoir un conflit entre les deux.
Cela doit donner ceci :
Reservation d'adresse
Pour réserver une adresse à un client du DHCP, ajouter ces lignes :
host client2 { #nom du client
hardware ethernet 00:JJ:YU:38:AC:45; #adresse mac du client
fixed-address 192.168.1.21; #adresse IP attribuée
}
Documentation ISC-DHCP
DNSMasq
DNSMasq est à la fois un serveur DNS et un serveur DHCP.
Installer le service DNSMasq :
apt-get install dnsmasq
Editer le fichier /etc/dnsmasq.conf :
nano /etc/dnsmasq.conf
Ajouter ces lignes dans le fichier :
interface="enp0s8" #Interface(s) du service DHCP domain-needed #Résoudre les noms DNS avec une extension uniquement bogus-priv filterwin2k localise-queries local=/lan/ domain=local.lan #Domaine local expand-hosts no-negcache resolv-file=/tmp/resolv.conf.auto #Fichier resolv.conf local dhcp-authoritative dhcp-leasefile=/tmp/dhcp.leases # Plage DHCP + Bail de 12h dhcp-range=192.168.1.100,192.168.1.150,12h # Masque de sous-réseau dhcp-option=1,255.255.255.0 # Passerelle par défaut dhcp-option=3,192.168.1.1
Redémarrer le service DNSMasq :
service dnsmasq restart
