6

Serveur DHCP multi VLAN

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
  • Configuration du DHCP :
    • Indiquer les interfaces réseaux diffusant le DHCP :
    • nano /etc/default/isc-dhcp-server
      INTERFACESv4="eth0.1 eth0.2 eth0.3"
    • Configurer les différents réseaux du DHCP :
      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;
            }
        
    • Définition des paramètres :
    • 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
  • Ajouter les interfaces réseau :
  • vconfig add eth0 1
    vconfig add eth0 2
    vconfig add eth0 3
    
  • Définir une adresse IP par interface réseau :
  • 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
    
  • Ajouter les interfaces réseaux dans le fichier /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
    
  • Démarrer le serveur DHCP :
  • systemctl restart isc-dhcp-server
  • Pour connaître les adresse IP de libre dans chaque VLAN, utiliser l’outil dhcpd-pools.

Partager l'article :





fred

"Dire que l'on s'en fiche du droit à la vie privée sous prétexte qu'on a rien à cacher, c'est comme déclarer que l'on se fiche du droit à la liberté d'expression sous prétexte qu'on a rien à dire." Edward Snowden

6 commentaires

  1. 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

  2. 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

  3. c’est moi qui te remercie pour ce site des plus intéressant :)
    bonne continuation

  4. 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

  5. Salut Benjamin,
    oui faut adapter le mémo par rapport à son matériels et ses conf :-)

Laisser un commentaire

Votre adresse de messagerie ne sera pas publiée. Les champs obligatoires sont indiqués avec *