DHCP sur Debian

NB: Le tuto à été fait du temps de Debian 7, j'ai modifié les commandes pour que le tuto soit d'actualité, il est donc possible que les screens ne correspondent pas exactement à la commande cité

L'objectif de ce tutoriel est d'apprendre à mettre en place un serveur DHCP sous Linux.
Un serveur DHCP (Dynamic Host Configuration Protocol) a pour rôle de distribuer de façon automatique, des adresses IP à des clients pour une durée déterminée.
Au lieu d'affecter manuellement à chaque hôte une adresse statique, ainsi que tous les paramètres tels que (serveur de noms, passerelle par défaut, nom du réseau), un serveur DHCP alloue à un client, un bail d'accès au réseau, pour une durée déterminée (durée du bail). Le serveur passe en paramètres au client toutes les informations dont il a besoin.

Pour cela, j'ai utilisé 3 VMs:

  • Une VM Debian
  • Une VM Windows 10
  • Une VM Windows Serveur 2016

DHCP de base

Partie Debian

Premièrement faire les mises à jour:

apt-get update
apt-get upgrade

Télécharger le paquet dhcp-serveur

apt-get install isc-dhcp-server

Une fois tous les paquets nécessaires installés, je passe mon Vcom de Ext a Privé (pour que les VMs puissent parler entre elles). Je configure mon réseau pour qu’il soit en 192.168.0.0:

ip a (pour voir les paramètres de la carte actuellement)

On a bien notre nouvelle IP, qui correspond au réseau des VM On peut aussi passer par le fichier de configuration qui se trouve ici:

nano /etc/network/interfaces

On peut voir le loopback network, qui nous sera pas utile dans ce cas la. En dessous, on peut voir deux lignes qui concernent le eth0, notre carte réseau. Nous allons remplacer la dernière ligne (iface eth0 inet dhcp) par:

Ces lignes nous permettent de passer à une IP statique, au lieu de demander à un DHCP. Attention ! Pour que la configuration soit prise en compte, il faut redémarrer l’interface réseau. Pour cela:

systemctl restart networking

Pas de eth0 en vu ?! Pas de soucis, il suffit de faire la commande:

ifup eth0

Et la revoilà ! Maintenant nous allons attaquer vraiment le DHCP. Pour cela, on va commencer par le configurer:

nano /etc/dhcp/dhcpd.conf

Nous allons modifier quelques lignes dans ce fichier:

Ici, nous avons le domaine dans lequel se rattache la VM, et les DNS à utiliser. Vu que nos VM en sont qu'à leur début, je me contente du domaine que j’ai mis à l’installation, et des DNS Google.

Voila la partie qui concerne notre futur DHCP. Subnet est le nom du réseau, netmask le masque. Range est la plage qu'on veut attribuer à notre DHCP. Ici, les VM auront une IP de 192.168.0.10 à 192.168.0.20. Option router correspond à la passerelle. N’oubliez pas de décommenter (= enlever les # en début de ligne) les lignes que vous avez modifiés. Vous pouvez sauvegarder (ctrl X, O, entrée) Pour prendre en compte les changements, il faut redémarrer le service DHCP:

systemctl restart isc-dhcp-server 

Voila, le DHCP est fini !

Partie Windows (La VM qui utilise le DHCP)

Avant de faire ça, pensez à mettre le Vcom de votre VM en privé, pour que les VMs communiquent entre elles. Une fois le serveur mis en place, il suffit d'ouvrir un cmd (WIN +R, cmd) et taper ces commandes:

ipconfig /release

Ici on peut voir que la VM n’a plus d’IP, on va lui en donner une avec:

ipconfig /renew

Windows va aller chercher automatiquement sa nouvelle ip via le DHCP. Et voilà ! Notre VM Linux a donné une IP à notre Windows 10!

DHCP avancé: Réservation DHCP

Dans certains cas, il est important que l’adresse IP d’une machine soit toujours la même. Nous allons voir comment fixer une IP à une machine.
Il faut d’abord retrouver l’adresse MAC de la machine concerné. Pour cela, deux façon de faire:

  • En passant par le Centre réseau et partage:
  • Ou bien via le cmd en tapant la commande getmac:

Dans notre cas, l’adresse MAC est: 00-15-5D-04-21-07 Une fois l’adresse MAC notée, on ouvre le fichier de configuration du DHCP sur la VM Linux:

Lithium correspond au nom de la machine (mais vous pouvez mettre ce que vous voulez), hardware ethernet correspond à l’adresse MAC de la machine, et fixed-address est l’IP qu’on veut attribuer à la machine. Sauvegardez, et redémarrez le service avec:

systemctl restart isc-dhcp-server 

Coté Windows, il suffit de faire dans le cmd:

ipconfig /release

Ici on peut voir que la VM n’a plus d’ip, on va lui demander de chercher son IP avec:

ipconfig /renew

Et voilà, la VM a son IP fixé par le DHCP !

DHCP avancé: Multi réseau

Dans certains cas, il peut exister plusieurs réseau différents, mais qui doivent être gérés par le DHCP. Nous allons voir comment configurer le DHCP pour qu’il puisse gérer deux réseaux distincts. Tout d’abord, il faut rajouter une carte réseau à notre VM Linux. Pour cela, après l’avoir éteint, il faut aller dans les paramètres de la VM,ajouter un matériel, et carte réseau

Une fois la carte configurée (Je créé un nouveau réseau, appelé réseau public), je peux relancer ma VM Je fais un ifconfig voir si j’ai bien mes deux cartes réseau:

Pas de eth1 en vue ? Essayez la commande suivante:

ifup eth1

Et la voilà ! Il faut ensuite la configurer, exactement comme au début du tuto (mais avec un réseau différent !)

J’ai désormais deux réseaux différents, sur eth0 192.168.0.0 et sur eth1 192.168.1.0. Passons à la configuration du DHCP:

nano /etc/dhcp/dhcpd.conf

En dessous de mon premier réseau, je vais ajouter le nouveau:

Une fois cela fait, il faut redémarrer le service:

systemctl restart isc-dhcp-server 

Côté Windows, je change mon Vcom pour passer dans le “Réseau Public” Je relance mes deux commandes:

ipconfig /release
ipconfig /renew

Ma VM est désormais dans l’autre réseau !

Maintenant vous savez faire un DHCP directement sur Debian ! A bientôt pour d'autres tutos ;)