Un mémo sur comment mettre en place un serveur DHCP dynamique sous Debian Stretch (fonctionne aussi pour Ubuntu) avec la gestion de plusieurs VLAN.
Dans cet article, le serveur DHCP va diffuser des adresses IP dans 3 réseaux à travers 3 interfaces réseaux virtuelles :
- VLAN10
- Interface : eth0.1
- Réseau : 10.8.10.0/23
- Passerelle :10.8.11.254
- VLAN12 :
- Interface : eth0.2
- Réseau : 10.8.12.0/24
- Passerelle :10.8.12.254
- VLAN13 :
- Interface : eth0.3
- Réseau : 10.8.13.0/24
- Passerelle :10.8.13.254
Installation et configuration du serveur DHCP
- Installation du serveur DHCP :
apt install isc-dhcp-server
- Indiquer les interfaces réseaux diffusant le DHCP :
nano /etc/default/isc-dhcp-server
INTERFACESv4="eth0.1 eth0.2 eth0.3"
nano /etc/dhcp/dhcpd.conf
- Exemple de configuration :
default-lease-time 600; max-lease-time 7200; option domain-name-servers 10.8.8.20; ##VLAN 10 subnet 10.8.10.0 netmask 255.255.254.0{ option subnet-mask 255.255.254.0; range dynamic-bootp 10.8.10.10 10.8.11.253; option routers 10.8.11.254; option broadcast-address 10.8.11.255; } # VLAN 12 subnet 10.8.12.0 netmask 255.255.255.0{ option subnet-mask 255.255.255.0; range dynamic-bootp 10.8.12.10 10.8.12.253; option routers 10.8.12.254; option broadcast-address 10.8.12.255; } # VLAN 13 subnet 10.8.13.0 netmask 255.255.255.0{ option subnet-mask 255.255.255.0; range dynamic-bootp 10.8.13.10 10.8.13.253; option routers 10.8.13.254; option broadcast-address 10.8.13.255; }
subnet : le réseau
default-lease-time : duré du bail en secondes
max-lease-time : duré maximal du bail en secondes
option broadcast-address : l’adresse broadcaste du réseau
option routers : l’adresse de la passerelle
option subnet-mask : l’adresse du sous réseau
option domain-name-servers : l’adresse du serveur DNS
range : la plage des adresses dynamiques
Configuration des interfaces réseaux des VLAN
- Installer le paquet
vlan
pour la gestion des interfaces réseaux :
apt install vlan
vconfig add eth0 1 vconfig add eth0 2 vconfig add eth0 3
Cette étape permet de paramétrer les adresses IP sur chaque interface réseau à chaud.
ip addr add 10.8.10.1/23 dev eth0.1 ip addr add 10.8.12.1/24 dev eth0.2 ip addr add 10.8.13.1/24 dev eth0.3
/etc/network/interfaces
du serveur :Cette étape permet de paramétrer les adresses IP sur chaque interface réseau en dur.
auto lo iface lo inet loopback ##Adresse du serveur DHCP auto eth0 iface eth0 inet static address 10.8.8.21 netmask 255.255.255.0 network 10.8.8.0 broadcast 10.8.8.255 gateway 10.8.8.254 mtu 1500 vlan_raw_device eth0 dns-nameservers 10.8.8.20 #VLAN 10 auto eth0.1 iface eth0.1 inet static address 10.8.10.1 netmask 255.255.254.0 network 10.8.10.0 broadcast 10.8.11.255 gateway 10.8.11.254 mtu 1500 vlan_raw_device eth0 #VLAN 12 auto eth0.2 iface eth0.2 inet static address 10.8.12.1 netmask 255.255.255.0 network 10.8.12.0 broadcast 10.8.12.255 gateway 10.8.12.254 mtu 1500 vlan_raw_device eth0 #VLAN 13 auto eth0.3 iface eth0.3 inet static address 10.8.13.1 netmask 255.255.255.0 network 10.8.13.0 broadcast 10.8.13.255 gateway 10.8.13.254 mtu 1500 vlan_raw_device eth0
systemctl restart isc-dhcp-server
Bonjour Fred.
Petite question, il n’y aurai pas une erreur de frappe pour le VLAN10 ?
L’IP de la Passerelle dans la description et dans la conf du DHCP est 10.8.11.254 et la dernière adresse du bail est 10.8.11.254.
Ça ne devrait pas être 10.8.10.254 pour la passerelle et 10.8.10.253 pour la dernière adresse dispo dans la distribution des baux du VLAn10 ?
En tout cas très bon site avec plein de choses très intéressantes !
Merci
je me permet de rajouter que dans la description des VLAn12 et 13 tu as mis du /25 alors que dans la conf c’est du /24
le masque en /25 devrait être 255.255.255.128
Merci
Salut memo,
exact, petite boulette sur la plage du VLAN10 et méga boulette sur les masques ! (c’est bien la peine d’avoir mis en ligne un article sur comment calculer les réseaux : https://memo-linux.com/ipcalc-le-calcul-reseau-facile/ )
merci m’sieur pour la correction :-)
c’est moi qui te remercie pour ce site des plus intéressant :)
bonne continuation
Hello,
J’ai un petit doute entre la definition des VLAN et leur ID.
Dans ton explication, tu parles de VLAN 10,12 et 13 sauf que tes interfaces se nomment eth0.1, eth0.2 et eth0.3 alors quelles devraient se nommer eth0.10, eth0.12 et eth0.13 (le numéro après le point corresponds à l’ID de VLAN). En gros, pour moi, avec cette config sur un serveur et un switch au bout du câble configuré en trunk et les VLAN 10,12 et 13 … ca ne correspondra pas…
Merci pour le mémo tout de même :)
Benjamin
Salut Benjamin,
oui faut adapter le mémo par rapport à son matériels et ses conf :-)
Bonjour,
Faut-il connecter le serveur sur un port Trunk?
Bonjour Albeauf,
oui faut configurer en port Trunk
Bonjour,
Quand j’essaye d’installer le paquet vlan cela me dis qu’il n’y a aucune version compatible.
Avez vous une solution ?
J’ai essayé les configs proposées ci-dessus mais lorsque je connecte mon serveur dhcp au switch en mode trunk je n’ai plus accès à mes passerelles.
J’ai seulement accès à une passerelle lorsque j’active le switchport mode access sur un vlan précis.
Qu’ai-je loupé ?
Bonjour Fred,
Je fais actuellement un projet suite à ma formation et je dois configurer un serveur dhcp sous ubuntu, mon souci c’est que votre tuto n’est plus à jours (du moins je crois) concernant le /etc/network/interfaces et j’ai beaucoup de mal à trouver des solutions via le /etc/netplan. Auriez vous une solution?
Merci d’avance
Salut David,
ça sent le projet Openclassroom ça !
Je suis à cette étape aussi