====== 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 : //[[https://wiki.mdekoninck.fr/doku.php?id=mise_en_place_un_serveur_dhcp_linux#isc-dhcp-server|ISC-DHCP-Server]]// et //[[https://wiki.mdekoninck.fr/doku.php?id=mise_en_place_un_serveur_dhcp_linux#dnsmasq|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 :__
{{ :dhcpxp.png |}}
==== 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 ====
[[http://idum.fr/spip.php?article341|Configuration ISC DHCP Linux]]
===== 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 #Fausse les résolution DNS Inverses pour les adresses IP Privées
filterwin2k #Filtrer certaines requêtes DNS inutiles de Windows
localise-queries #Répondre aux requêtes DNS sur la bonne interface
local=/lan/
domain=local.lan #Domaine local
expand-hosts #Ajoute le nom de domaine aux noms d'hôtes
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
**Afficher les baux DHCP en cours :**
cat /var/lib/misc/dnsmasq.leases