====== 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