Les éléments clés d’une configuration DHCP

Progression du Module
0% Terminé

Avant de passer au module qui va détailler l'installation et la configuration d'un serveur DHCP, je termine par un chapitre qui va rapidement expliquer la configuration des 3 éléments clés au sein d'une architecture DHCP : le serveur DHCP, le client DHCP et le relais DHCP.

I. Configuration du serveur DHCP

Afin que le serveur DHCP puisse distribuer des adresses IP, il est nécessaire de lui fournir un réservoir d’adresses, dans lequel il pourra puiser. Ce réservoir est aussi appelé plage d’adresses (address range). Il est alors possible de définir plusieurs plages de façon disjointe ou contigüe.

REMARQUE : les adresses du ou des segments, ne figurant dans aucun plage ne seront absolument pas distribuées et peuvent alors faire l’objet d’une attribution statique. De même, on peut exclure à des fins d’adressage statique certaines adresses ou blocs d’adresses compris dans une plage.

A l’inverse, il est possible d’effectuer des réservations d’adresses en limitant l’attribution de celles-ci à un client possédant une adresse physique spécifique (aussi appelé client identifier). Ce mécanisme peut s’avérer utile pour des machines dont l’adresse IP doit rester fixe, mais dont on souhaite contrôler de manière centralisée et automatique le paramétrage IP. Il est également possible de fournir systématiquement la même adresse IP à un équipement connecté à un port de service donné.

Dans le fichier de configuration, il faut déclarer le nom de domaine FQDN ainsi que l’adresse (ou les adresses) du serveur de noms et leur masque de sous-réseau :

option domain-name "mydmn.org" ;
option domain-name-server 192.168.2.1,192.168.2.2 ;
option subnet-mask 255.255.255.0

Ensuite, on définit les paramètres des baux :

default-lease-time 3600 ;
max-lease-time 86400 ;
ddns-update-style none;

Il faut alors déclarer l’étendue des adresses, en n’omettant surtout pas le routeur principal en cas de changement de sous-réseau:

subnet 192.168.1.0 netmask 255.255.255.0 {
  range 192.168.1.100 192.168.1.200;
  option routers 192.168.1.1;
}

On peut alors déclarer de façon systématique tous les postes ou les équipements devant disposer d’une adresse fixée :

host mailbox {
  hardware ethernet 00:56:bc:77:02:a2;
  fixed-address mailbox.mydmn.org;
}

Dans un second module on détaillera les différentes possibilités avancées de configuration d’un serveur DHCP. Pour le moment nous nous contenterons de décrire les règles principales.

Lorsque l’on souhaite s’assurer que le serveur DHCP est opérationnel, il suffit simplement d’exécuter la commande suivante :

# netstat -anup|grep dhcp
udp              0             0.0.0.0 :67                          0.0.0.0:*

ATTENTION : lors de l’utilisation sur un même segment de plusieurs serveurs DHCP, l’intersection des plages d’adresses conjointes des différents serveurs doit absolument être vide. Sinon, cela risque d’induire de l’ambiguïté dans les affectations et les renouvellements de baux. En fait, les serveurs DHCP n’échangent aucune information entre eux, concernant les baux qu’ils ont à traiter.

 

II. Configuration du client DHCP

Au niveau d’un client, le fait de dépendre d’un serveur DHCP se traduit par la configuration suivante, sur un poste Windows :

On voit clairement, ici, que l’on requiert les services d’un serveur DHCP en lui demandant de fournir au poste en question, une adresse IP de façon automatique.

En termes de définition, pour un client GNU/Linux, la configuration s’effectue directement dans le fichier de paramétrage lié à l’interface réseau :

  • /etc/sysconfig/network-scripts/ifcfg-ethx (pour une distribution CentOS 6.x)
  • /etc/sysconfig/network-scripts/ifcfg-ensx (pour une distribution CentOS 7.x)
  • /etc/network/interfaces (pour une distribution Debian et dérivés)

 

Exemple : configuration de l’interface eth0 sur Debian :

auto eth0
iface eth0 inet dhcp

Pour un poste ou une machine sous une distribution de type CentOS, la déclaration s’effectue dans le fichier ifcfg-ethx (où x représente le numéro d’interface associée) du répertoire /etc/sysconfig/network-scripts :

DEVICE=eth0
TYPE=Ethernet
ONBOOT=yes
BOOTPROTO=dhcp
HWADDR=28:0F:AF:4A:A7:00
NAME="System eth0"

III. Configuration du relais DHCP

Comme on l’a déjà mentionné, le relais DHCP possède une adresse IP fixe. Donc, la première chose à faire est d’éditer le fichier d’interfaces réseau (en fonction de la distribution GNU/Linux sur laquelle on se trouve) et d’y ajouter l’adresse IP du relais.

Puis, il faut éditer le fichier dhcpd-relay (ou dhcp3-relay sur une distribution Debian), pour y ajouter l’adresse IP du serveur DHCP et l’interface utilisée pour communiquer avec  lui :

# Adresse du serveur DHCP
SERVERS="192.168.1.12"
# Interface utilisée par le relais DHCP
INTERFACES="eth2"

Seulement alors, il est possible de démarrer le service de relayage des trames DHCP, au niveau du serveur l’hébergeant.

En résumé, côté client il est facile de configurer une affectation automatique de l’adressage IP depuis un serveur DHCP. Le plus compliqué reste la configuration du serveur lui-même. Si l’on représente les différents échanges mentionnés ci-dessus, sous forme d’un graphe d’état, on peut schématiser cela de la façon suivante, avec les quatre états principaux (encadrés blancs, ci-dessous) :

IMPORTANT : lorsqu’un réseau d’entreprise possède déjà un serveur DHCP, il vaut mieux ne pas en initialiser un nouveau. Sinon, ça risque de poser problème, car les deux serveurs vont répondre aux requêtes de diffusion en simultané et potentiellement vont attribuer des adresses identiques ou inadaptées.

Partagez cet article Partager sur Twitter Partager sur Facebook Partager sur Linkedin Partager sur Google+ Envoyer par mail

Philippe PIERRE

A exercé de nombreuses années en tant qu'administrateur de base de données et comme administrateur Système Unix/Linux. Il a enseigné les réseaux au CNAM (Paris). Aujourd'hui, employé en tant qu'ingénieur infrastructure, au sein d'un laboratoire pharmaceutique et administrant un cluster de calculs HPC, il connaît parfaitement les environnements GNU/Linux dans le cadre d'une entreprise et des systèmes de haute disponibilité. Il aime partager son expérience.

philippe-pierre has 68 posts and counting.See all posts by philippe-pierre