Skip to main content

DHCP

image.png

Présentation

Le paquet ISC-DHCP-Server est une implémentation open source du protocole DHCP (Dynamic Host Configuration Protocol) développée par Internet Systems Consortium (ISC). Voici une présentation de ses caractéristiques principales :

  1. Attribution dynamique des adresses IP : ISC-DHCP-Server permet d'attribuer dynamiquement des adresses IP aux clients du réseau. Cela signifie que les périphériques connectés au réseau peuvent obtenir automatiquement une adresse IP ainsi que d'autres informations de configuration réseau, comme la passerelle par défaut et les serveurs DNS.

  2. Gestion des baux DHCP : Le serveur DHCP maintient une table de baux DHCP, qui répertorie les adresses IP attribuées aux clients ainsi que leur durée de validité. Cette table est utilisée pour gérer efficacement l'allocation des adresses IP et éviter les conflits d'adresses.

  3. Prise en charge des options de configuration avancées : ISC-DHCP-Server prend en charge un large éventail d'options de configuration DHCP, telles que la configuration des serveurs DNS, des serveurs NTP (Network Time Protocol), des serveurs de fichiers, des options de boot PXE (Preboot Execution Environment), etc. Cela permet de fournir aux clients du réseau des informations de configuration supplémentaires selon leurs besoins.

  4. Contrôle d'accès : Le serveur DHCP permet de définir des règles de contrôle d'accès basées sur des critères tels que les adresses MAC des clients ou les plages d'adresses IP disponibles. Cela permet de restreindre l'accès au réseau aux seuls périphériques autorisés.

  5. Compatibilité avec IPv6 : ISC-DHCP-Server prend en charge à la fois IPv4 et IPv6, ce qui permet de gérer l'attribution des adresses IP dans les environnements réseau prenant en charge les deux protocoles.

  6. Sécurité : Le paquet ISC-DHCP-Server intègre des fonctionnalités de sécurité telles que l'authentification des clients DHCP pour garantir l'intégrité du processus d'attribution des adresses IP et prévenir les attaques de type "rogue DHCP".

En résumé, ISC-DHCP-Server est un paquet logiciel puissant et flexible pour la gestion des adresses IP dans un réseau informatique, offrant des fonctionnalités avancées de configuration, de contrôle d'accès et de sécurité. Il est largement utilisé dans les environnements réseau pour simplifier et automatiser la configuration des périphériques connectés.

Site officiel de ISC.

Installation du DHCP

Installation du service dhcp :

apt install isc-dhcp-server

Il faut indiquer au serveur via quelle carte réseau il faut diffuser le DHCP.

Pour se faire on modifie le fichier suivant :

nano /etc/default/isc-dhcp-server

Comme ceci :

# Defaults for isc-dhcp-server (sourced by /etc/init.d/isc-dhcp-server)

# Path to dhcpd's config file (default: /etc/dhcp/dhcpd.conf).
#DHCPDv4_CONF=/etc/dhcp/dhcpd.conf
#DHCPDv6_CONF=/etc/dhcp/dhcpd6.conf

# Path to dhcpd's PID file (default: /var/run/dhcpd.pid).
#DHCPDv4_PID=/var/run/dhcpd.pid
#DHCPDv6_PID=/var/run/dhcpd6.pid

# Additional options to start dhcpd with.
#       Don't use options -cf or -pf here; use DHCPD_CONF/ DHCPD_PID instead
#OPTIONS=""

# On what interfaces should the DHCP server (dhcpd) serve DHCP requests?
#       Separate multiple interfaces with spaces, e.g. "eth0 eth1".
INTERFACESv4=""
INTERFACESv6=""
INTERFACESv4="<nom de l'interface>"

Le nom de l'interface est ce qui apparait dans la réponse à la commande :
ip a

Ajout de la configuration de la plage IP :

nano /etc/dhcp/dhcpd.conf
authoritative;
# option domain-name "e-ecole.org";
option domain-name-servers 192.168.1.1, 1.1.1.1;
option space ipxe;
option ipxe-encap-opts code 175 = encapsulate ipxe;
option ipxe.menu code 39 = unsigned integer 8;
option ipxe.no-pxedhcp code 176 = unsigned integer 8;
option arch code 93 = unsigned integer 16;

# This is the LTSP subnet declaration
subnet 192.168.1.0 netmask 255.255.255.0 {
  range 192.168.1.20 192.168.1.120;
  option ipxe.no-pxedhcp 1;
  option routers 192.168.1.1;
  # On single-NIC setups, usually routers != next-server (=TFTP server)
  # option next-server 192.168.1.1
  if exists ipxe.menu {
    filename "ltsp/ltsp.ipxe";
  } elsif option arch = 00:00 {
    filename "ltsp/undionly.kpxe";
  } elsif option arch = 00:07 {
    filename "ltsp/snponly.efi";
  } elsif option arch = 00:09 {
    filename "ltsp/snponly.efi";
  } else {
    filename "ltsp/unmatched-client";
  }
}
  • Cependant, pour que le DHCP fonctionne avec LTSP, il faut d'abord taper quelques commande supplémentaires.

    En effet, le service DHCP de LTSP (dnsmasq) n'est pas très performant, sauf sur un point, il support le protocole dhcp proxy, utilise si vous avez plusieurs serveurs LTSP sur un même réseau.

    Dans le cas contraire, ISC-DHCP-SERVER est mieux indiqué. Il faut alors indiqué à LTSP que le service DHCP c'est pas dnsmasq, mais ISC, via ces commandes :
    ltsp dnsmasq --proxy-dhcp=0 --real-dhcp=0
    systemctl restart isc-dhcp-server

    Vérifier que le serveur DHCP est démarré et opérationnel