Skip to content

Serveur DHCP sous Linux

I- Présentation du serveur DHCP :

Le serveur DHCP permet de distribuer des paramètres IP aux clients.

Au minimum, les paramètres suivants devront être transmis :

  • Adresse IP
  • Masque
  • Passerelle par défaut
  • Serveur(s) DNS

Ces paramètres seront fournis pour une certaine durée (durée de bail). On peut aussi effectuer une réservation d'adresse en indiquant au serveur l'adresse MAC d'une machine à qui on veut toujours affecter la même adresse IP (serveurs, imprimantes, etc.).

Le serveur DHCP le plus utilisé sous Unix et Linux est un serveur fourni par l'ISC (Internet Software Consortium), l'organisme public qui gère Internet. Ce serveur est Open Source.

II- Installation et utilisation de base du serveur :

Pour installer le serveur DHCP, il suffit de taper la commande :

apt install isc-dhcp-server

Pour démarrer le serveur, tapez :

/etc/init.d/isc-dhcp-server start

Pour arrêter le serveur, tapez :

/etc/init.d/isc-dhcp-server stop

Pour redémarrer le serveur, tapez :

/etc/init.d/isc-dhcp-server restart

La configuration du serveur se fait à partir du fichier /etc/dhcp/dhcpd.conf (ce fichier peut varier selon la version de DHCP et la distribution de linux).

Commencez par faire une sauvegarde de ce fichier avec cette commande :

cp /etc/dhcp/dhcpd.conf /etc/dhcp/dhcpd.conf.old

Pour configurer votre serveur vous aller éditer le fichier /etc/dhcpd.conf avec le logiciel vi :

vi /etc/dhcpd/dhcpd.conf

A chaque fois que vous voulez tester un changement de configuration, relancez le serveur :

/etc/init.d/isc-dhcp-server restart

Avec un client Linux pour redemander une adresse au serveur DHCP on utilise la commande :

dhclient

III- Configuration du serveur DHCP :

Instructions :

  • L'adresse de mon réseau est 192.168.X.0/24 (X sera fourni par le formateur)
  • Je voudrais distribuer des adresses IP dans la plage d'adresses suivante :
  • De 192.168.X.101 à 192.168.X.110
  • L'adresse de ma passerelle sera 192.168.X.254
  • L'adresse de mon serveur DNS est 212.27.54.252
  • Le domaine DNS auquel j'appartiens est torcylac.greta.fr
  • Le serveur Windows doit toujours obtenir l'adresse 192.168.X.1
  • L'imprimante doit toujours obtenir l'adresse 192.168.X.200

Pour effectuer cette configuration, il faut aller sur le serveur et modifier les directives du fichier /etc/dhcp/dhcpd.conf

Dans ce fichier, toutes les lignes commençant par # ne sont pas prises en compte.

Exemple de fichier de configuration à modifier selon vos besoins :

# CONFIGURATION GENERALE

# Durée du bail par défaut et du bail maximum
default-lease-time 7200;
max-lease-time 14400;

# Adresse des serveurs DNS et nom du domaine auquel on appartient
option domain-name-servers 193.252.19.3;
option domain-name "mondomaine.fr";

# CONFIGURATION D'UN (SOUS-)RESEAU

# On peut déclarer plusieurs réseaux si on en a besoin
subnet 192.168.2.0 netmask 255.255.255.0 {
    # Plage des adresses IP que l'on peut distribuer
    range 192.168.2.3 192.168.2.9;
    # Durée du bail par défaut et du bail maximum
    default-lease-time 7200;
    max-lease-time 14400;
    # Masque de sous-réseau, broadcast, passerelle par défaut
    option subnet-mask 255.255.255.0;
    option broadcast-address 192.168.2.255;
    option routers 192.168.2.252;
    # Adresse des serveurs DNS et nom du domaine
    option domain-name-servers 192.168.2.252;
    option domain-name "gtn77.greta.fr";
}

IV- Réservation d'adresses MAC :

Pour réserver une adresse MAC on va déclarer les machines avec la directive host.

# CONFIGURATION D'UN GROUPE DE MACHINES CONNUES
group
{
    # Le nom à droite de host sera aussi le nom DNS de l'hôte
    use-host-decl-names on;
    # CONFIGURATION D'UNE MACHINE REPEREE PAR SON @ MAC
    # On peut déclarer plusieurs machines si on en a besoin

    # Déclaration de l'imprimante
    host imprimante {
        # Il sera repéré par l'adresse MAC de sa carte réseau
        hardware ethernet 00:80:C8:59:8F:63;
        # Il aura toujours l'adresse IP 101
        fixed-address 192.168.2.101;
    }

    # Idem pour la machine server
    host server {
        hardware ethernet 00:60:52:07:42:fa;
        fixed-address 192.168.2.200;
    }
}

V- Vérification du bon fonctionnement :

Pour vérifier que le serveur DHCP est en fonctionnement, vous pouvez regarder si le DHCP est dans la liste des processus de Linux :

ps ax

Si le serveur est en échec, un message d'erreur aura été noté dans le journal du système Linux. Pour voir le journal Linux il faut taper :

tail /var/log/syslog

Pour vérifier côté client que les hôtes reçoivent bien des adresses, il faire :

  • Sous Windows :

  • Sous Linux :

Enfin pour vérifier côté serveur que les baux ont bien été attribués, on peut regarder le fichier des baux d'adresses :

less /var/lib/dhcp/dhcpd.leases