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.