Qu’est-ce que le DHCP?
DHCP signifie Dynamic Host Configuration Protocol. DHCP est un protocole réseau standardisé utilisé sur les réseaux de protocole Internet pour distribuer dynamiquement les paramètres de configuration du réseau, tels que les adresses IP pour les interfaces et les services. Le serveur DHCP peut être n’importe quel serveur (Linux ou Windows) utilisé pour distribuer automatiquement les adresses IP aux clients du réseau. Étant donné que le serveur DHCP attribue automatiquement des adresses IP à tous les systèmes, un administrateur système ou réseau n’a pas besoin d’attribuer manuellement des adresses IP à chaque machine du réseau. DHCP est un administrateur système ou réseau qui gère des milliers de systèmes.
Dans ce tutoriel, voyons comment installer et configurer le serveur DHCP dans les systèmes CentOS et Ubuntu. Pour les besoins de ce tutoriel, j’utiliserai les trois systèmes suivants:
- Serveur minimal CentOS 7 64 bits (serveur DHCP)
- Ubuntu 15.04 serveur minimal 64 bits (Serveur DHCP)
- Ubuntu 14.04 Desktop (Client DHCP)
Note d’avertissement : N’utilisez pas deux serveurs DHCP ou plus en même temps sur votre réseau. Les systèmes clients peuvent ne pas être en mesure d’obtenir les adresses IP des plusieurs serveurs DHCP et cela entraîne un problème de conflit d’adresses IP. Si la fonction DHCP est activée par défaut sur votre routeur ou votre commutateur, vous devez également l’éteindre.
Plus important encore, vous devez attribuer une adresse IP statique à la carte d’interface réseau de votre serveur DHCP.
Installez le serveur DHCP dans CentOS
Voyons d’abord comment installer et configurer le serveur DHCP dans CentOS 7 64 bits. Les mêmes étapes fonctionneront sur CentOS 6.x et d’autres versions plus anciennes.
Connectez-vous en tant qu’utilisateur root.
Pour installer le serveur DHCP sur le système CentOS, exécutez :
yum install dhcp
1.1 Configuration
Dans CentOS 6.x systèmes, nous devons assigner l’interface sur laquelle vous souhaitez que votre serveur DHCP s’exécute dans le fichier /etc/sysconfig/dhcpd. Dans mon cas, je n’ai qu’une seule interface sur mon système (eth0), j’ai donc attribué eth0.
AVERTISSEMENT: Ce fichier n’est PLUS utilisé dans CentOS 7.systèmes x. Si vous êtes ici pour restreindre les interfaces sur lesquelles dhcpd doit écouter, sachez que dhcpd n’écoute * que * sur les interfaces pour lesquelles il trouve une déclaration de sous-réseau dans dhcpd.conf. Cela signifie que l’énumération explicite des interfaces également en ligne de commande ne devrait pas être requise dans la plupart des cas.
Si vous utilisez CentOS 6.x system, edit file /etc/sysconfig/dhcpd,
vi /etc/sysconfig/dhcpd
Assign the network interface:
# Command line options hereDHCPDARGS=eth0
Save and close the file.
Then, copy the sample dhcp configuration file to /etc/dhcp/ directory.
cp /usr/share/doc/dhcp-4.2.5/dhcpd.conf.example /etc/dhcp/dhcpd.conf
Now, edit dhcpd.conf file,
vi /etc/dhcp/dhcpd.conf
Make the changes as shown below.
Définissez le nom de domaine et les serveurs de noms de domaine :
# option definitions common to all supported networks... option domain-name "unixmen.local"; option domain-name-servers server.unixmen.local;
Si ce serveur DHCP est le serveur DHCP officiel du réseau local, vous devez décommenter la ligne suivante :
authoritative;
Définissez le sunbet, la plage d’adresses IP, le domaine et les serveurs de noms de domaine comme ci-dessous:
# A slightly different configuration for an internal subnet. subnet 192.168.1.0 netmask 255.255.255.0 { range 192.168.1.20 192.168.1.30; option domain-name-servers server.unixmen.local; option domain-name "unixmen.local"; option routers 192.168.1.1; option broadcast-address 192.168.1.255; default-lease-time 600; max-lease-time 7200; }
Si vous souhaitez attribuer une adresse IP fixe à votre client, vous devez entrer son identifiant MAC et l’adresse IP dans la directive suivante. Par exemple, je souhaite attribuer une adresse IP fixe 192.168.1.15 à mon client Ubuntu, j’ai donc modifié la directive suivante comme indiqué ci-dessous.
host ubuntu-client { hardware ethernet 00:22:64:4f:e9:3a; fixed-address 192.168.1.15; }
Après avoir effectué toutes les modifications souhaitées, enregistrez et fermez le fichier. Soyez conscient que si vous avez d’autres entrées inutilisées sur le dhcpd.fichier conf, commentez-les. Sinon, vous rencontrerez des problèmes lors du démarrage du service dhcpd.
Maintenant, démarrez le service dhcpd et faites-le démarrer automatiquement à chaque redémarrage.
Sur CentOS 7.x systems:
systemctl enable dhcpd
systemctl start dhcpd
Sur CentOS 6.x systems:
service dhcpd start
chkconfig dhcpd on
C’est tout. Maintenant, accédez à la section « Configurer les clients DHCP » et configurez vos clients pour obtenir automatiquement les adresses IP du serveur DHCP.
Certains d’entre vous voudront peut-être configurer un serveur DHCP dans les systèmes Ubuntu. Si vous en faites partie, reportez-vous à la section suivante.
Installez le serveur DHCP dans Ubuntu
Voyons comment installer et configurer le serveur DHCP dans un serveur 64 bits Ubuntu 15.04.
Pour installer le serveur DHCP sur Ubuntu 15.04, entrez la commande suivante:
sudo apt-get install isc-dhcp-server
2.1 Configuration
La configuration du serveur DHCP n’est pas si difficile. Tout d’abord, nous devons assigner sur quelles interfaces le serveur DHCP (dhcpd) doit-il servir les requêtes DHCP. Dans mon cas, je n’ai qu’une seule interface sur mon système (eth0), j’ai donc attribué eth0.
Pour ce faire, éditez le fichier /etc/default/isc-dhcp-server,
sudo vi /etc/default/isc-dhcp-server
Assignez l’interface réseau:
INTERFACES="eth0"
Enregistrez et fermez le fichier.
Maintenant, modifiez dhcpd.fichier de configuration,
sudo vi /etc/dhcp/dhcpd.conf
Effectuez les modifications comme indiqué ci-dessous.
Définissez le nom de domaine et les serveurs de noms de domaine :
# option definitions common to all supported networks... option domain-name "unixmen.local"; option domain-name-servers server.unixmen.local;
Si ce serveur DHCP est le serveur DHCP officiel du réseau local, vous devez décommenter la ligne suivante:
authoritative;
Définissez le sunbet, la plage d’adresses IP, le domaine et les serveurs de noms de domaine comme ci-dessous :
# A slightly different configuration for an internal subnet. subnet 192.168.1.0 netmask 255.255.255.0 { range 192.168.1.20 192.168.1.30; option domain-name-servers server.unixmen.local; option domain-name "unixmen.local"; option routers 192.168.1.1; option broadcast-address 192.168.1.255; default-lease-time 600; max-lease-time 7200; }
Si vous souhaitez attribuer une adresse IP fixe adresse à votre client, vous devez entrer son identifiant MAC et son adresse IP dans la directive suivante. Par exemple, je souhaite attribuer une adresse IP fixe 192.168.1.15 à mon client Ubuntu, j’ai donc modifié la directive suivante comme indiqué ci-dessous.
host ubuntu-client { hardware ethernet 00:22:64:4f:e9:3a; fixed-address 192.168.1.15; }
Après avoir effectué toutes les modifications souhaitées, enregistrez et fermez le fichier. Soyez conscient que si vous avez des entrées inutilisées sur le dhcpd.fichier conf, commentez-les tous. Sinon, vous obtiendrez des problèmes lors du démarrage du service dhcp.
Maintenant, redémarrez le service dhcp:
Dans Ubuntu 15.04:
sudo systemctl restart isc-dhcp-server
Dans Ubuntu 14.04 et systèmes plus anciens:
sudo service isc-dhcp-server restart
De même, vous pouvez démarrer / arrêter le service dhcp comme indiqué ci-dessous:
In Ubuntu 15.04 systems:
sudo systemctl start isc-dhcp-server
sudo systemctl stop isc-dhcp-server
In Ubuntu 14.04 and older systems:
sudo service isc-dhcp-server start
sudo service isc-dhcp-server stop
Configure DHCP Clients
Now, go to the client configuration network settings and change the IP settings to Automatic (DHCP).
Here is my Lubuntu 14.04 settings:
Redémarrez le réseau ou redémarrez le système client pour obtenir automatiquement l’adresse IP du serveur DHCp.
Maintenant, vous devriez voir que l’adresse IP a été automatiquement attribuée aux clients à partir du serveur DHCP.
Exécutez la commande suivante à partir du terminal système client :
sudo ifconfig
Exemple de sortie :
Comme vous le voyez dans l’image ci-dessus, Mon système de bureau Ubuntu 14.04 qui a l’id MAC 00:22:64:4f:e9:3a a obtenu une adresse IP fixe (192.168.1.15) du serveur DHCP.
C’est tout. Le serveur DHCP est prêt.
Santé!