Configuration d'un serveur DHCP

Un serveur DHCP permet d'attribuer une configuration IP (adresse, masque, et éventuellement passerelle, serveurs DNS, etc). à des postes clients au sein d'un réseau. Cet article présente la configuration de base d'un serveur DHCP sous Ubuntu Linux et sous MIcrosoft Windows Server.

Rappel : un serveur DHCP, comme n'importe quel serveur doit avoir une configuration IP en adressage statique.

Serveur DHCP sous Ubuntu Linux

Configuration de base

Le service DHCP est implémenté sous Ubuntu Linux avec ISC DCHP (solution développée par l'Internet Systems Consortium). La première étape est donc de télécharger le paquet de ce service : apt-get install isc-dhcp-server.

La configuration IP du service ISC DHCP se trouve dans le fichier /etc/dhcp/dhcp.conf. Ce fichier existe par défaut, avec de nombreuses options commentées. Pour simplifier son utilisation, il est préférable de créer une nouveau fichier dhcp.conf après avoir sauvegardé le fichier par défaut (qui peut servir d'exemple).

 Syntaxe de base du fichier /etc/dhcp/dhcp.conf

default-lease-time X;
max-lease-time X;
subnet W.W.W.W netmask X.X.X.X {
  range Y.Y.Y.Y Z.Z.Z.Z;
  option subnet-mask X.X.X.X;
  option routers X.X.X.X;
  option domain-name-servers X.X.X.X;
  option broadcast-address X.X.X.X;

}

OptionRôle
default-lease-time X; Durée du bail en secondes
max-lease-time X; Durée maximale du bail en seconde

subnet W.W.W.W netmask X.X.X.X {
  range Y.Y.Y.Y Z.Z.Z.Z;
}

Définition de l'étendue des adresses distribuées :

  • subnet : réseau IP (dans lequel se trouve les adresses distribuées)
  • netmask : masque de sous-réseau
  • range : plage d'adresse (de Y.Y.Y.Y à Z.Z.Z.Z)
Options à placer dans subnetRöle
option routers X.X.X.X; Adresse de la passerelle (si nécessaire)
option domain-name-servers X.X.X.X; Adresse du (des) serveur(s) DNS (si nécessaire)
option broadcast-address X.X.X.X; Adresse de diffusion (facultatif)
option subnet-mask X.X.X.X; Masque de sous-réseau

Toutes les options à placer dans subnet sont facultatives. Il est également possible de les définir en dehors d'une étendue si vous avez plusieurs étendues et que vous souhaitez que toutes les étendues aient les même valeurs pour ces options.

Une fois le fichier écrit, vous devez redémarrer le service isc-dhcp-server afin d'appliquer cette nouvelle configuration : service isc-dhcp-server restart

Réservation d'adresses

Il est possible de réserver une adresse IP à une machine en particulier en ajoutant une option dans la définition de l'étendue :

 Instructions à place dans la définition de l'étendueExplications

host nommachine {
  hardware ethernet Y:Y:Y:Y:Y:Y;
  fixed-address Z.Z.Z.Z;
}

  • host nommachine : nom donné à la réservation
  • harware ethernet Y:Y:Y:Y:Y:Y : adresse MAC de la machine
  • fixed-address Z.Z.Z.Z : adresse IP attribuée à la machine

Remarque : les adresses reservées doivent être évidemment hors de la plage prévue pour l'attribution automatique des adresses IP.

Liste des baux

La liste des baux en cours sont disponibles sur le serveur dans le fichier /var/lib/dhcp/dhcp.leases. Ce fichier contient, pour chaque bail, l'adresse IP attribuée, l'adresse MAC de la machine, l'heure du début et l'heure de fin du bail, etc.

Serveur DHCP sous Microsoft Windows Server 2016 et 2019

La configuration du serveur DHCP présentée ici est celle d'un Windows Server avec interface graphique (expérience utilisateur).

Configuration de base

L'installation du service DHCP sous Windows Server se fait via le gestionnaire de serveur :

  1. Accéder à l'assistant d'ajout de rôles (Gérer ->Ajouter des rôles et des fonctionnalités).
  2. Après l'écran d'accueil, choisir une installation basée sur un rôle et une fonctionnalité.
  3. Sélectionner ensuite le serveur sur lequel vous souhaitez installer le service DHCP (si vous ne gérez pas de serveur à distance, vous n'avez normalement que votre serveur local dans la liste).
  4. Dans la sélection des rôles de serveurs, choisir le serveur DHCP et laisser les fonctionnalités par défaut.
  5. Après les différentes pages d'informations, valider l'installation puis fermer l'assistant.

Le service DHCP est maintenant installé sur votre serveur Windows. Dans les outils d'administration, le module DHCP est maintenant disponible et permet de configurer le service.

Pour créer une étendue :

  1. Dérouler l'arborescence du service, faire un clic droit sur l'item IPv4 dépendant du serveur et choisir Nouvelle étendue.
  2. Après l'écran de présentation, choisir un nom pour l'étendue et éventuellement une description.
  3. Définir à l'écran suivant la plage d'adresse IP à attribuer et le masque de sous réseau (au format CIDR ou décimal pointé).
  4. Le service propose ensuite de choisir des adresses à exclure de la plage d'adresses à attribuer.
  5. Définir la durée du bail.
  6. Vous avez ensuite la possibilité de choisir de configurer (ou non) les options d'étendue (routeur, domaine et serveurs DNS, serveurs WINS).
  7. Si vous avez choisi de configurer les options d'étendue, définir (au choix) l'adresse du routeur (passerelle des client), le domaine et serveurs DNS puis les serveurs WINS. Vous pouvez ensuite ou activer l'étendue.
  8. Si vous n'avez pas choisi de configurer les options d'étendue, valider la fin de la configuration.

Si vous n'avez pas choisi de configurer les options d'étendue, le service DHCP ne vous propose pas d'activer l'étendue. Pour activer l'étendue, faire un clic droit dessus et sélectionner activer.

Réservation d'adresses

Afin de créer une réservation d'adresse, il suffit de faire un clic droit sur Réservations dans l'arborescence de l'étendue, choisir Nouvelle réservation et entrer les informations concernant cette réservation (nom, adresse IP et adresse MAC de la machine).

Liste des baux

La liste des baux en cours est disponible dans l'item Baux d'adresses se trouvant dans l'arborescence de l'étendue.