Recherche de site Web

Comment installer un serveur DHCP dans CentOS, RHEL et Fedora


DHCP (Dynamic Host Configuration Protocol) est un protocole réseau qui permet à un serveur d'attribuer automatiquement une adresse IP et de fournir d'autres paramètres de configuration réseau associés à un client sur un réseau, depuis un pool IP prédéfini.

Cela signifie que chaque fois qu'un client (connecté au réseau) démarre, il obtient une adresse IP « dynamique », par opposition à une adresse IP « statique » qui ne change jamais. L'adresse IP attribuée par un serveur DHCP au client DHCP fait l'objet d'un « bail », la durée du bail peut varier en fonction de la durée pendant laquelle un client est susceptible d'avoir besoin de la connexion ou de la configuration DHCP.

Dans ce didacticiel, nous expliquerons comment installer et configurer un serveur DHCP dans les distributions CentOS/RHEL et Fedora.

Configuration de l'environnement de test

Nous allons utiliser l'environnement de test suivant pour cette configuration.

DHCP Server - CentOS 7 
DHCP Clients - Fedora 25 and Ubuntu 16.04

Comment fonctionne DHCP ?

Avant d’aller plus loin, expliquons brièvement le fonctionnement de DHCP :

  • Lorsqu'un ordinateur client (configuré pour utiliser DHCP) et connecté à un réseau est allumé, il transmet un message DHCPDISCOVER au serveur DHCP.
  • Et une fois que le serveur DHCP a reçu le message de requête DHCPDISCOVER, il répond avec un message DHCPOFFER.
  • Ensuite, le client reçoit le message DHCPOFFER et envoie un message DHCPREQUEST au serveur indiquant qu'il est prêt à obtenir la configuration réseau proposée dans le DHCPOFFER. message fort>.
  • Enfin et surtout, le serveur DHCP reçoit le message DHCPREQUEST du client et envoie le message DHCPACK indiquant que le client est désormais autorisé à utiliser l'adresse IP qui lui est attribuée. .

Étape 1 : Installation du serveur DHCP dans CentOS

1. L'installation de DCHP est assez simple, exécutez simplement la commande ci-dessous.

yum -y install dhcp

Important : En supposant que plusieurs interfaces réseau soient connectées au système, mais que vous souhaitez que le serveur DHCP ne soit démarré que sur l'une des interfaces, définissez le serveur DHCP pour démarrer uniquement sur cette interface comme suit.

2. Ouvrez le fichier /etc/sysconfig/dhcpd, ajoutez le nom de l'interface spécifique à la liste des DHCPDARGS, par exemple si le l'interface est eth0, puis ajoutez :

DHCPDARGS=eth0

Enregistrez le fichier et quittez.

Étape 2 : configuration du serveur DHCP dans CentOS

3. Pour commencer, pour configurer un serveur DHCP, la première étape consiste à créer le fichier de configuration dhcpd.conf, et le fichier de configuration DHCP principal est normalement / etc/dhcp/dhcpd.conf (qui est vide par défaut), il conserve toutes les informations réseau envoyées aux clients.

Cependant, il existe un exemple de fichier de configuration /usr/share/doc/dhcp*/dhcpd.conf.sample, qui constitue un bon point de départ pour configurer un serveur DHCP.

Et il existe deux types d'instructions définies dans le fichier de configuration DHCP, à savoir :

  • paramètres : indiquez comment effectuer une tâche, s'il faut effectuer une tâche ou quelles options de configuration réseau envoyer au client DHCP.
  • déclarations – spécifiez la topologie du réseau, définissez les clients, proposez des adresses pour les clients ou appliquez un groupe de paramètres à un groupe de déclarations.

Par conséquent, commencez par copier l’exemple de fichier de configuration en tant que fichier de configuration principal, comme ceci :

cp /usr/share/doc/dhcp-4.2.5/dhcpd.conf.example /etc/dhcp/dhcpd.conf 

4. Maintenant, ouvrez le fichier de configuration principal et définissez les options de votre serveur DHCP :

vi /etc/dhcp/dhcpd.conf 

Commencez par définir les paramètres globaux suivants qui s'appliqueront à tous les sous-réseaux (précisez les valeurs qui s'appliquent à votre scénario) en haut du fichier :

option domain-name "tecmint.lan";
option domain-name-servers ns1.tecmint.lan, ns2.tecmint.lan;
default-lease-time 3600; 
max-lease-time 7200;
authoritative;

5. Maintenant, définissez un sous-réseau ; dans cet exemple, nous allons configurer DHCP pour le réseau LAN 192.168.56.0/24 (n'oubliez pas d'utiliser les paramètres qui s'appliquent à votre scénario) :

subnet 192.168.56.0 netmask 255.255.255.0 {
        option routers                  192.168.56.1;
        option subnet-mask              255.255.255.0;
        option domain-search            "tecmint.lan";
        option domain-name-servers      192.168.56.1;
        range   192.168.56.10   192.168.56.100;
        range   192.168.56.120  192.168.56.200;
}

Étape 3 : attribuer une adresse IP statique au client DHCP

Vous pouvez attribuer une adresse IP statique à un ordinateur client spécifique sur le réseau, définissez simplement la section ci-dessous dans le fichier /etc/dhcp/dhcpd.conf, où vous devez spécifier explicitement ses adresses MAC et les adresses IP fixes. IP à attribuer :

host ubuntu-node {
	 hardware  ethernet 00:f0:m4:6y:89:0g;
	 fixed-address 192.168.56.105;
 }

host fedora-node {
	 hardware  ethernet 00:4g:8h:13:8h:3a;
	 fixed-address 192.168.56.110;
 }

Enregistrez le fichier et fermez-le.

Remarque : Vous pouvez connaître ou afficher l'adresse MAC Linux à l'aide de la commande suivante.

ifconfig -a eth0 | grep HWaddr

6. Démarrez maintenant le service DHCP pour le moment et activez-le pour qu'il démarre automatiquement au prochain démarrage du système, à l'aide des commandes suivantes :

---------- On CentOS/RHEL 7 ---------- 
systemctl start dhcpd
systemctl enable dhcpd

---------- On CentOS/RHEL 6 ----------
service dhcpd start
chkconfig dhcpd on

7. Ensuite, n'oubliez pas d'autoriser le service DHCP (le démon DHCPD écoute sur le port 67/UDP) comme ci-dessous :

---------- On CentOS/RHEL 7 ----------
firewall-cmd --add-service=dhcp --permanent 
firewall-cmd --reload 

---------- On CentOS/RHEL 6 ----------
iptables -A INPUT -p tcp -m state --state NEW --dport 67 -j ACCEPT
service iptables save

Étape 4 : configuration des clients DHCP

8. Vous pouvez désormais configurer vos clients sur le réseau pour recevoir automatiquement les adresses IP du serveur DHCP. Connectez-vous à la machine client et modifiez le fichier de configuration de l'interface Ethernet comme suit (ne prenez pas en compte le nom/numéro de l'interface) :

vi /etc/sysconfig/network-scripts/ifcfg-eth0

Ajoutez les options ci-dessous :

DEVICE=eth0
BOOTPROTO=dhcp
TYPE=Ethernet
ONBOOT=yes

Enregistrez le fichier et quittez.

9. Vous pouvez également effectuer les réglages à l'aide de l'interface graphique sur un ordinateur de bureau, définir la méthode sur Automatique (DHCP), comme indiqué dans la capture d'écran ci-dessous (bureau Ubuntu 16.04).

10. Redémarrez ensuite les services réseau comme suit (vous pouvez éventuellement redémarrer le système) :

---------- On CentOS/RHEL 7 ----------
systemctl restart network

---------- On CentOS/RHEL 6 ----------
service network restart

À ce stade, si tous les paramètres étaient corrects, vos clients devraient recevoir automatiquement les adresses IP du serveur DHCP.

Vous pouvez également lire :

  1. Comment installer et configurer le serveur DHCP ISC multirésident sur Debian Linux
  2. 10 commandes « IP » utiles pour configurer les interfaces réseau

Dans ce didacticiel, nous vous avons montré comment configurer un serveur DHCP dans RHEL/CentOS. Utilisez le formulaire de commentaires ci-dessous pour nous répondre. Dans un prochain article, nous vous montrerons comment configurer un serveur DHCP dans Debian/Ubuntu. D’ici là, restez toujours connecté à TecMint.