DHCP = Dynamic Host Configuration Protocol
Il s'agit d'un service qui permet d'allouer automatiquement des adresses IP aux clients qui se présentent sur le réseau. Ces adresses sont alloués pour un temps déterminé appelé " bail " (configurable) après un échange de paquets entre le client et le serveur :
DHCPSERVER ==> DHCPOFFER ==> DHCPREQUEST ==> DHCPACK
Il faut impérativement qu'il n'y ait qu'un seul serveur principal sur le réseau. Ce serveur doit avoir une adresse IP fixe.
Ce service implique l'installation de isc-dhcp-server sur le serveur
ISC = Internet Software Consortium
Pour installer le serveur, il faut :
- donner à celui-ci une adresse fixe /etc/network/interfaces
- installer isc-dhcp-server apt-get install isc-dhcp-server
- configurer le fichier /etc/dhcp/dhcpd.conf
- lancer le daemon dhcpd par la commande service isc-dhcp-server start
Il est recommandé de vérifier que :
- le daemon fonctionne à l'aide de la commande ps aux | grep dhcpd
- un client en mode dhcp reçoit bien une adresse IP de la part de serveur DHCP, à l'aide des commandes ifdown eth0
, ifup eth0
et enfin ifconfig
Dans un premier temps, nous allons installer un serveur DHCP sous linux Debian 9. Pour cela nous allons télécharger l'iso sur le site de debian : Lien vers l'ISO debian.org
Ensuite installer l'ISO avec ces paramètres ci-dessous:
- Debian version : 9 ou 10
- RAM : 512 Mo / 1 Go
- Disque Dur : 16 Go
- Carte Réseau : NAT ou Bridged
Nous allons d'abord configurer la carte réseau en NAT ou Bridged pour télécharger des paquets sur Internet et ensuite nous changerons la carte reseau en VMNet1.
Dans la première étape, connectez-vous à votre machine avec un compte avec des privilèges root ou directement avec l'utilisateur root et assurez-vous que votre système Debian est à jour avec les derniers correctifs de sécurité et versions de logiciels et de packages, en exécutant la commande suivante.
Mettre à jour
apt-get update
apt-get upgrade
apt-get
nous permet de mettre à jour le système et d'installer/désinstaller des paquets et des modules en allant les chercher dans des dépôts.
Installer le paquet DHCP
apt-get install isc-dhcp-server
Quelques commandes pour installer des outils supplémentaires
apt-get install open-vm-tools
apt-get install net-tools
Nous allons ensuite changer la configuration de la carte réseau en VMNet1 comme prévu dans l'etape precedente. Voir l'image ci-dessous.
Le fichier /etc/hostname contient le nom de la machine. Il suffit de l'éditer pour changer le nom hôte de la machine. Changer le hostname et ajouter le nom de la machine dans le fichier hosts :
nano /etc/hostname
debian.formation.local
Ajouter dans le fichier hosts qui permet d'affecter des noms d'hôtes à des adresses IP.
nano /etc/hosts
127.0.0.1 localhost
127.0.1.1 debian.formation.local debian
192.168.65.200 debian.formation.local debian
#The following lines are desirable for IPv6 capable hosts
::1 localhost ip6-localhost ip6-loopback
ff02::1 ip6-allnodes
ff02::2 ip6-allrouters
Le fichier /etc/host.conf contient des informations spécifiques pour la configuration de la bibliothèque de résolution de noms. Elle doit contenir un mot-clé de configuration par ligne, suivi par l'information appropriée. Les mots-clés reconnus sont order, trim, multi, nospoof, spoof et reorder.
nano /etc/host.conf
multi on
Le fichier /etc/network/interfaces permet de configurer les cartes réseau de manière permanante. Cette configuration initialisera automatiquement les interfaces "lo" et ens33".
L'interface "lo" est indispensable au système, il est important de l'initialiser. Elle aura systématiquement l'adresse IP 127.0.0.1
.
L'interface "ens33" sera configurée avec l'adresse IP 192.168.65.200
, le masque de sous réseau 255.255.255.0
et la passerelle 192.168.65.254
(ce paramètre est facultatif).
nano /etc/network/interfaces
auto lo
iface lo inet loopback
auto ens33
allow-hotplug ens33
iface ens33 inet static
address 192.168.65.200
netmask 255.255.255.0
Nous allons ensuite lancer les commandes suivantes pour redémarrer les configurations réseaux.
systemctl stop networking
systemctl start networking
ou
service networking stop
service networking start
ou
/etc/init.d/networking restart
service
fonctionne sur les fichiers dans /etc/init.d et a été utilisé en conjonction avec l'ancien système init. systemctl
fonctionne sur les fichiers dans /lib/systemd.
Il est recommandé de vérifier ensuite avec le paramàtre 'status' pour consulter et pour avoir plus de details.
systemctl status networking
Lancer la commander ifconfig
ifconfig
Nous allons maintenant modifier le fichier de configuration dhcp en ajouter une adresse ip réservé pour notre serveur APACHE2
nano /etc/dhcp/dhcpd.conf
default-lease-time 600;
max-lease-time 7200;
subnet 192.168.65.0 netmask 255.255.255.0 {
range 192.168.65.220 192.168.65.229;
}
# réserver une adresse IP pour le client debian
host webmail {
hardware ethernet 00:0C:29:18:25:83;
fixed-address 192.168.65.230;
}
# bannissement du client windows8.1 par @MAC
host WIN-LP1H52JV14 {
hardware ethernet 00:0C:29:78:71:15;
deny booting;
}
Le client webmail (debian) doit avoir une adresse fixe fournie par le serveur DHCP qui est de 192.168.65.230
, Le client windows7 doit recevoir une adresse IP fourni par le serveur DHCP, et nous devons aussi bannir l'adresse MAC de client windows8.1 qui est de 00:0C:29:78:71:15
.
Nous devons aussi indiquer au serveur DHCP l’interface réseau à utiliser
nano /etc/default/isc-dhcp-server
INTERFACES= "ens33"
Nous modifions ensuite le fichier /etc/resolv.conf
qui permet d'indiquer au système quels serveurs interroger pour résoudre un nom de domaine.
nano /etc/resolv.conf
domain formation.local
search formation.local
nameserver 127.0.0.1
nameserver 192.168.65.200
Nous allons ensuite lancer les commandes suivantes pour redémarrer les configurations dhcp.
systemctl stop isc-dhcp-server
systemctl start isc-dhcp-server
ou
service isc-dhcp-server stop
service isc-dhcp-server start
ou
/etc/init.d/isc-dhcp-server restart
Vérifier avec le paramètre 'status' pour consulter les details
systemctl status isc-dhcp-server
Dans ce contexte, nous allons installer et configurer 3 autres clients, il s'agit de :
RAM : 1 Go/2 Go
Disque Dur : 20 Go
Carte réseau : VmNet1
Avec un serveur apache fonctionnelle avec un load balancer
RAM : 1 Go/2 Go
Disque Dur : 20 Go
Carte réseau : VmNet1
RAM : 1 Go/2 Go
Disque Dur : 20 Go
Carte réseau : VmNet1
Configuration de la carte réseau VmNet1
Vérifier l'adresse IP après avoir démarré les clients avec la commande ifconfig
.
windows7
aura une adresse IP de la plage entre 192.168.65.220
et 192.168.65.229
.webmail
aura 192.168.65.230
comme adresse car elle a été reservé par le serveur DHCP.Nous pouvons aussi vérifier avec la commande tail -f /var/log/syslog
la non-réception d'une adresse IP de client windows 8 bannie par le server DHCP, et l'adresse 192.168.65.225
fournie pour le client windows7.
Pour assurer la bonne continuité du service DHCP, nous allons faire des pings vers les clients.
Maintenant que nous avons terminé la configuration de serveur DHCP, nous allons lancer le serveur APACHE sur le navigateur de serveur DHCP. Comme nous avons installé un load balancer, on s’aperçoit en rechargeant la page plusieurs fois de suite que l’on est dirigé soit sur le site "site1.mondomaine.local", soit sur le site "site2.mondomaine.local".