Recherche de site Web

Comment configurer le serveur et le client DHCP sur CentOS et Ubuntu


DHCP (abréviation de Dynamic Host Configuration Protocol) est un protocole client/serveur qui permet à un serveur d'attribuer automatiquement une adresse IP et d'autres paramètres de configuration associés (tels que le masque de sous-réseau). et passerelle par défaut) vers un client sur un réseau.

Le DHCP est important car il empêche un administrateur système ou réseau de configurer manuellement les adresses IP des nouveaux ordinateurs ajoutés au réseau ou des ordinateurs déplacés d'un sous-réseau à un autre.

L'adresse IP attribuée par un serveur DHCP à un client DHCP fait l'objet d'un « bail », la durée du bail varie normalement en fonction de la durée d'un L'ordinateur client nécessitera probablement la connexion ou la configuration DHCP.

Dans cet article, nous expliquerons comment configurer un serveur DHCP dans les distributions CentOS et Ubuntu Linux pour attribuer automatiquement une adresse IP à un ordinateur client.

Installation du serveur DHCP dans CentOS et Ubuntu

Le package serveur DCHP est disponible dans les référentiels officiels des distributions Linux grand public, l'installation est assez simple, exécutez simplement la commande suivante.

yum install dhcp		        #CentOS
sudo apt install isc-dhcp-server	#Ubuntu

Une fois l'installation terminée, configurez l'interface sur laquelle vous souhaitez que le démon DHCP serve les requêtes dans le fichier de configuration /etc/default/isc-dhcp-server ou /etc/sysconfig/dhcpd.

vim /etc/sysconfig/dhcpd		 #CentOS
sudo vim /etc/default/isc-dhcp-server	 #Ubuntu

Par exemple, si vous souhaitez que le démon DHCPD écoute sur eth0, définissez-le à l'aide de la directive suivante.

DHCPDARGS=”eth0”

Enregistrez le fichier et quittez.

Configuration du serveur DHCP dans CentOS et Ubuntu

Le fichier de configuration principal DHCP se trouve dans /etc/dhcp/dhcpd.conf, qui doit contenir les paramètres de ce qu'il faut faire, où faire quelque chose et tous les paramètres réseau à fournir. aux clients.

Ce fichier consiste essentiellement en une liste d'instructions regroupées en deux grandes catégories :

  • Paramètres globaux : spécifiez comment effectuer une tâche, s'il faut effectuer une tâche ou quels paramètres de configuration réseau fournir au client DHCP.
  • Déclarations : définissez la topologie du réseau, indiquez l'état d'un client, proposez des adresses aux clients ou appliquez un groupe de paramètres à un groupe de déclarations.

Maintenant, ouvrez et modifiez le fichier de configuration pour configurer votre serveur DHCP.

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

------------ On Ubuntu ------------
sudo vim /etc/dhcp/dhcpd.conf				

Commencez par définir les paramètres globaux qui sont communs à tous les réseaux supportés, en haut du fichier. Ils s'appliqueront à toutes les déclarations :

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

Ensuite, vous devez définir un sous-réseau pour un sous-réseau interne, c'est-à-dire 192.168.1.0/24 comme indiqué.

subnet 192.168.1.0 netmask 255.255.255.0 {
        option routers                  192.168.1.1;
        option subnet-mask              255.255.255.0;
        option domain-search            "tecmint.lan";
        option domain-name-servers      192.168.1.1;
        range   192.168.10.10   192.168.10.100;
        range   192.168.10.110   192.168.10.200;
}

Notez que les hôtes qui nécessitent des options de configuration spéciales peuvent être répertoriés dans les instructions d'hôte (voir la page de manuel dhcpd.conf).

Maintenant que vous avez configuré votre démon de serveur DHCP, vous devez démarrer le service pour le moment et lui permettre de démarrer automatiquement au prochain démarrage du système, et vérifier s'il est opérationnel à l'aide des commandes suivantes.

------------ On CentOS ------------ 
systemctl start dhcpd
systemctl enable dhcpd
systemctl enable dhcpd

------------ On Ubuntu ------------
sudo systemctl start isc-dhcp-server
sudo systemctl enable isc-dhcp-server
sudo systemctl enable isc-dhcp-server

Ensuite, autorisez les requêtes adressées au démon DHCP sur le pare-feu, qui écoute sur le port 67/UDP, en exécutant.

------------ On CentOS ------------ 
firewall-cmd --zone=public --permanent --add-service=dhcp
firewall-cmd --reload 

#------------ On Ubuntu ------------
sudo ufw allow 67/udp
sudo ufw reload

Configuration des clients DHCP

Enfin, vous devez tester si le serveur DHCP fonctionne correctement. Connectez-vous à quelques machines clientes sur le réseau et configurez-les pour recevoir automatiquement les adresses IP du serveur.

Modifiez le fichier de configuration approprié pour l'interface sur laquelle les clients recevront automatiquement les adresses IP.

Configuration du client DHCP sur CentOS

Sur CentOS, les fichiers de configuration de l'interface se trouvaient dans /etc/sysconfig/network-scripts/.

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

Ajoutez les options ci-dessous :

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

Enregistrez le fichier et redémarrez le service réseau (ou redémarrez le système).

systemctl restart network

Configuration du client DHCP sur Ubuntu

Sur Ubuntu 16.04, vous pouvez configurer toutes les interfaces dans le fichier de configuration /etc/network/interfaces.

   
sudo vi /etc/network/interfaces

Ajoutez-y ces lignes :

auto  eth0
iface eth0 inet dhcp

Enregistrez le fichier et redémarrez les services réseau (ou redémarrez le système).

sudo systemctl restart networking

Sur Ubuntu 18.04, la mise en réseau est contrôlée par le programme Netplan. Vous devez par exemple éditer le fichier approprié dans le répertoire /etc/netplan/.

sudo vim /etc/netplan/01-netcfg.yaml 

Activez ensuite dhcp4 sous une interface spécifique, par exemple sous Ethernets, ens0, et commentez les configurations liées aux adresses IP statiques :

network:
  version: 2
  renderer: networkd
  ethernets:
    ens0:
      dhcp4: yes

Enregistrez les modifications et exécutez la commande suivante pour appliquer les modifications.

sudo netplan apply 

Pour plus d'informations, consultez les pages de manuel dhcpd et dhcpd.conf.

man dhcpd
man dhcpd.conf

Dans cet article, nous avons expliqué comment configurer un serveur DHCP dans les distributions Linux CentOS et Ubuntu. Si vous avez besoin de plus de précisions sur un point, vous pouvez poser une question via le formulaire de commentaires ci-dessous, ou simplement partager vos commentaires avec nous.