DHCP sous Debian 9 – Installation et configuration.

Quelque soit la taille de votre réseau informatique, ce dernier se base forcément sur TCP/IP.
Mais comment gérer ces adresses IP ?
Utiliser des Ip fixes peut être une solution si vous n’êtes pas amené à bouger vos postes d’un réseau à l’autre.
Si votre réseau atteint une taille relativement conséquente, gérer les IP fixes vous prendra du temps, demandera une rigueur importante, et la moindre modification tiendra de la gageure.
Imaginez vous changer les DNS sur un parc de 200 machines, changer 200 fois les mêmes paramètres etc …

La solution c’est le DHCP avec réservation MAC. Cela a un double avantage:

  • vous n’aurez plus à configurer les adresses directement sur les postes et équipements, et ceux ci pourront avoir l’adresse que vous aurez choisie.
  • les modifications se font en quelques commandes mais à un seul endroit, le serveur DHCP.

 

Nous verrons dans cet article comment configurer un serveur DHCP sous Debian 9, et comment gérer les réservations MAC.

Définitions d’usage

DHCP: Dynamic Host Configuration Protocol, il vous permet d’obtenir des adresses IP distribuées par une machine serveur.
Pour faire simple votre poste est connecté sur un réseau, il lance une trame (une requête) de type DHCP Discover pour savoir si un serveur DHCP est présent sur le réseau.
Le serveur répond qu’il est bien disponible et fournit un IP, c’est le DHCPOFFER.
Votre poste répond par une trame DHCPREQUEST qui avertit que l’offre a bien été acceptée.
Enfin le serveur termine par un DHCPACK qui valide l’allocation du bail.

 

Adresse MAC: appelée également adresse physique, elle identifie une interface réseau de manière unique.

 

Mise en place d’un serveur DHCP.

 

Nous admettrons le réseau type suivant:

Au premier lancement de notre serveur Debian fraîchement installé, nous changerons le nom du serveur.

nano /etc/hostname

Dans le cadre de ce tuto nous nommerons le serveur « serveurDHCP » (soit le FQDN serveurDHCP.domain.local).

Puis nous redémarrerons.

reboot

Nous paramétrerons ensuite l’interface réseau du serveur avec une IP fixe:

nano /etc/network/interfaces
  # This file describes the network interfaces available on your system
  # and how to activate them. For more information, see interfaces(5).

  source /etc/network/interfaces.d/*

  # The loopback network interface
  auto lo
  iface lo inet loopback

  # The primary network interface
  allow-hotplug ens33
  iface ens33 inet static
  address 10.0.0.10
  netmask 255.255.255.0
  gateway 10.0.0.254

Et nous indiquerons les serveurs DNS à utiliser:

nano /etc/resolv.conf
  nameserver 10.0.0.5

Nous passerons en root puis nous exécuterons une mise à jour des dépôts et des paquets.

apt-get update && apt-get upgrade

Puis nous redémarrerons.

En utilisateur root, nous installerons le paquet nécessaire « isc-dhcp-server »:

apt-get install isc-dhcp-server

Nous pourrons éditer le fichier de configuration « /etc/dhcp/dhcpd.conf » afin de configurer le serveur.

nano /etc/dhcp/dhcpd.conf

Nous rajouterons (ou modifierons) les champs suivants:

Option domain-name « domain.local »;  Permet de spécifier le nom du domaine sur lequel est votre machine.
Option domain-name-servers 10.0.0.5; Définit le serveur DNS, distribué par le serveur DHCP, à utiliser sur le réseau.
default-lease-time 600; Temps par défaut de l’attribution d’une IP à un équipement.
max-lease-time 7200; Temps maximum de l’attribution d’une IP à un équipement.

subnet 10.0.0.0 netmask 255.255.255.0 {
range 10.0.0.50 10.0.0.70;
Le champs subnet permet de définir le réseau IP sur lequel nous travaillons.
Le champs range définit la plage IP que gérera le serveur DHCP.

 

option routers 10.0.0.254; permet de définir une passerelle.

Nous obtiendrons donc le fichier suivant:

Option domain-name "domain.local";
Option domain-name-servers 10.0.0.5;

default-lease-time 600;
max-lease-time 7200;

subnet 10.0.0.0 netmask 255.255.255.0 {
  range 10.0.0.50 10.0.0.70;
  option routers 10.0.0.254;
}

Puis nous redémarrerons les services DHCP:

service isc-dhcp-server restart

Nous connecterons ensuite notre PC sur le réseau afin de savoir si ce dernier obtient la bonne adresse IP.
Pour ce faire et pour s’éviter d’éventuels doutes nous ouvrirons un ligne de commande et nous taperons:

ipconfig /release
ipconfig /renew

/release permet de vider complètement la configuration DHCP précédemment acquise et remet tout à zéro.
/renew permet de faire une demande d’adresse auprès de notre serveur.

Nous obtiendrons alors une IP dans la plage definie, ici l’adresse 10.0.0.50

 

Reservation MAC.

L’IP obtenue précédemment est distribuée en fonction des disponibilités sur la plage d’adresse. Ainsi notre poste est susceptible de changer d’adresse au court des mois et semaines à venir.
Nous allons donc réserver une adresse en fonction de son adresse MAC. Pour ce faire nous rajouterons le bloc suivant:

group {
            use-host-decl-names true;
            host W10-1709 {
                                       hardware ethernet 00:0c:29:50:91:c7;
                                       fixed-address 10.0.0.69;

La rubrique group permet de déclarer un groupe de machines. Nous rajouterons dedans le champs use-host-decl-names true; afin d’utiliser des noms purement déclaratifs dans notre configuration DHCP.
Nous définirons donc le poste W10-1709 et indiquerons son adresse MAC et l’IP qui lui est réservée.

Nous obtiendrons donc le fichier de configuration suivant:

Option domain-name "domain.local";
Option domain-name-servers 10.0.0.5;

default-lease-time 600;
max-lease-time 7200;

subnet 10.0.0.0 netmask 255.255.255.0 {
  range 10.0.0.50 10.0.0.70;
        group {
        use-host-decl-names true;

                host W10-1709 {
                        hardware ethernet 00:0c:29:50:91:c7;
                        fixed-address 10.0.0.69;
                        }
                }
option routers 10.0.0.254;
}

Puis nous redémarrerons les services DHCP:

service isc-dhcp-server restart

De nouveau pour s’éviter d’éventuels doutes nous ouvrirons une ligne de commande sur le poste client et nous taperons:

ipconfig /release
ipconfig /renew

Nous obtiendrons alors le résultat suivant:

Cette entrée a été publiée dans Linux. Sauvegarder le permalien.
%d blogueurs aiment cette page :