Protocole de configuration dynamique des hôtes (DHCP)

DHCP (Dynamic Host Configuration Protocol) est un service réseau qui permet aux ordinateurs clients d'être configurés automatiquement à partir d'un serveur. Cela évite la configuration manuelle de chaque client du réseau. Les ordinateurs configurés pour être clients DHCP n'ont aucun contrôle sur les paramètres qu'ils reçoivent du serveur DHCP, et cette configuration est totalement transparente pour l'utilisateur.

Les éléments de configuration les plus communs fournis par un serveur DHCP à un client DHCP comprennent :

  • Adresse IP et netmask (masque réseau)

  • Adresse IP de la passerelle par défaut à utiliser

  • Adresses IP des serveurs DNS à utiliser

Cependant, un serveur DHCP peut également fournir des éléments de configuration tels que :

  • Nom d'hôte

  • Nom de domaine

  • Serveur de temps

  • Serveur d'impression

L'avantage d'utiliser un serveur DHCP est qu'un changement dans la configuration du réseau, par exemple un changement d'adresse d'un serveur DNS, n'a alors besoin d'être changé que sur le serveur DHCP. Tous les clients réseau seront reconfigurés lors de leur prochaine connexion au serveur DHCP. Un autre avantage est l'intégration plus facile de nouveaux ordinateurs dans le réseau, puisqu'il n'y a pas besoin de vérifier les adresses IP disponibles. Les conflits dans les allocations d'adresses IP sont également réduits.

Un serveur DHCP peut fournir des paramètres de configuration à l'aide des méthodes suivantes :

Allocation manuelle (adresse MAC)

Cette méthode implique l'utilisation du protocole DHCP pour identifier l'adresse matérielle unique (MAC) de chaque carte réseau connectée au réseau et ensuite de continuellement fournir une configuration constante chaque fois que le client DHCP effectue une demande vers le serveur DHCP en utilisant ce dispositif de réseau. Cela garantit qu'une adresse particulière est attribuée automatiquement à cette carte réseau, basée sur son adresse MAC.

Allocation dynamique (pool d'adresses)

In this method, the DHCP server will assign an IP address from a pool of addresses (sometimes also called a range or scope) for a period of time or lease, that is configured on the server or until the client informs the server that it doesn't need the address anymore. This way, the clients will be receiving their configuration properties dynamically and on a "first come, first served" basis. When a DHCP client is no longer on the network for a specified period, the configuration is expired and released back to the address pool for use by other DHCP Clients. This way, an address can be leased or used for a period of time. After this period, the client has to renegociate the lease with the server to maintain use of the address.

Allocation automatique

Avec cette méthode, le serveur DHCP attribue automatiquement une adresse IP permanente à un appareil en la sélectionnant parmi une gamme d'adresses disponibles. Habituellement, DHCP est utilisé afin d'attribuer une adresse temporaire à un client, mais cependant, un serveur DHCP peut permettre un bail infini.

The last two methods can be considered "automatic" because in each case the DHCP server assigns an address with no extra intervention needed. The only difference between them is in how long the IP address is leased, in other words whether a client's address varies over time. Ubuntu is shipped with both DHCP server and client. The server is dhcpd (dynamic host configuration protocol daemon). The client provided with Ubuntu is dhclient and should be installed on all computers required to be automatically configured. Both programs are easy to install and configure and will be automatically started at system boot.

Installation

Pour installer dhcpd, exécutez la commande suivante dans un terminal :

sudo apt install isc-dhcp-server

Vous devrez probablement changer la configuration par défaut en éditant le fichier /etc/dhcp/dhcpd.conf afin de répondre à vos besoins et ceux des configurations particulières.

Vous pourrez également avoir besoin d'éditer le fichier /etc/default/isc-dhcp-server pour spécifier les interfaces que dhcpd doit écouter.

NOTE : les messages de dhcpd sont envoyés à syslog. Consultez ce journal pour récupérer les messages de diagnostiques.

Configuration

Le message d'erreur qui termine l'installation est un peu déroutant, mais les étapes suivantes vont vous aider à configurer proprement le service :

Le plus souvent, vous voudrez allouer les adresses IP aléatoirement. Ceci peut être fait avec la configuration suivante :

# exemple minimal /etc/dhcp/dhcpd.conf
default-lease-time 600;
max-lease-time 7200;

subnet 192.168.1.0 netmask 255.255.255.0 {
 range 192.168.1.150 192.168.1.200;
 option routers 192.168.1.254;
 option domain-name-servers 192.168.1.1, 192.168.1.2;
 option domain-name "mydomain.example";
} 

Ceci fera que le serveur DHCP donnera aux clients une adresse IP dans la plage 192.168.1.150-192.168.1.200. Il allouera une adresse IP pendant 600 secondes si le client ne demande pas un délai précis. Sinon, le bail maximum (autorisé) sera de 7 200 secondes. Le serveur « conseillera » également au client d'utiliser 192.168.1.254 en tant que passerelle par défaut et les adresses 192.168.1.1 et 192.168.1.2 comme serveurs DNS.

Après un changement dans le fichier de configuration, vous devez redémarrer dhcpd :

sudo systemctl restart isc-dhcp-server.service

Références