VLANS 802.1Q avec Linux et un switch HP Procurve

Cet article est écrit pour une version de Linux CENTOS, mais elle fonctionne aussi avec les distribution REDHAT LIKE comme Redhat Linux, Fedora, et Redhat Entreprise.


Après avoir installé votre distribution votre réseau fonctionne en mode classique.

Mon PC sous Linux est connecté sur l’interface 26 du switch HP Procurve.

On va créer 1 vlan qui va cloisonner les ports pour un usage internet. Ces ports ne seront pas utilisés pour notre exemple mais ils m’ont servi à connecter la seconde carte réseau de ma machine qui est un firewall de réseau local.

On crée ensuite deux réseaux qui vont contenir des machines sur deux range IP différents et un Vlan nommé ADMIN qui sera le vlan où je vais mettre des stations d’administrateurs réseau.

1ère étape – Création des vlans sur le switch

Connectez vous au switch par telnet ou port console si vous n’avez pas encore paramétré le switch.

Entrez votre mot de passe et vous arrivez sur un prompt « le_nom_de_mon_switch# »

tapez la commande « conf t » pour passer en mode configuration, que vous visulaisez par le prompt modifié : « le_nom_de_mon_switch(config)# ».

Tapez les commandes suivantes suivi de la touche entrée à chaque ligne. A chaque commande le prompt peut changer mais je ne l’indiquerai pas ici pour que cela soit plus clair.

vlan 10
name "INTERNET"
untagged 1-10
exit

vlan 12
name "VLAN_12"
untagged 11-20
tagged 26
exit

vlan 14
name "VLAN_DMZ"
untagged 21-24
tagged 26
exit

vlan 20
name "VLAN_ADMIN"
ip address 192.168.2.1 255.255.255.0
tagged 26
exit

write memory

logout

Vous êtes maintenant déconnecté du switch.

Explications :

Voici ce que veut dire chaque ligne que j’ai utilisé.
– vlan XX, crée le vlan identifié par un nombre quelconque hormis le 1 qui est le numéro des ports par défaut et peut poser problèmes si vous avez des switches de plusieurs constructeurs interconnectés.

– name « CE_QUE_JE_VEUX », on donne un nom « sympa » au vlan pour mieux l’identifier, attention, le nom est limité à 12 caractères.

– untagged 21-24 , indique les ports du switch que je vais affecter au vlan en question, ici c’est une plage de ports, mais vous pouvez indiquer des ports individuellement. Ces ports sont non taggés ce qui veut dire que l’information de vlan ne sera pas transmise dans la trame IP, ils sont destinés à recevoir les stations de travail ou les serveurs.

– tagged 26, indique que le port 26 que j’ai utilisé pour connecter mon switch va être taggé et recevoir les informations de vlan. Ces informations ( dits tags 802.1Q ) serviront à mon PC à déterminer de quel vlan vient l’information qu’il reçoit afin qu’il puisse la traiter au mieux.

-exit, sort de la configuration du vlan actuel et revient au prompt (config) « normal ».

2ème étape – Paramétrer le serveur Linux

– La méthode « classique » pour utiliser une interface réseau avec du 802.1Q est la suivante :

modprobe 8021q # Charge le module du noyau

ifconfig eth0 0.0.0.0 up # monte l'interface réseau sans adresse ip

vconfig add eth0 12 # crée le vlan numéro 12

ifconfig eth0.12 192.168.1.1 up # monte une interface vlan nommée eth0.12

– La méthode REDHAT :

Editer le fichier /etc/sysconfig/network et ajouter le paramètre suivant :

VLAN=yes

Lancer la commande « netconfig -d eth0.12 » pour créer la configuration de l’interface dédiée au vlan 12. Faites de même pour chaque interface que vous voulez utiliser.

Ici, pour nous eth0.12, eth0.14 et eth0.20.

Entrez les données du réseau à votre convenance, ici affectez une ip dans le range 192.168.2.0/24 à l’interface eth0.20 pour être conforme à notre réseau d’administration.

Vérifiez que vous trouvez bien dans le dossier /etc/sysconfig/network-scripts des fichiers nommés ifcfg-eth0.XX où XX sont les numéros de vlans que vous avez créé. Il y a un fichier par interface sous REDHAT.

Une fois prêts, relancez le réseau avec la commande « service network restart » ou « /etc/init.d/network restart ».

Une fois le réseau démarré, faites « ifconfig » pour voir apparaître vos interfaces.

Réliez si cela n’est pas encore fait le port 26 de votre switch à votre carte eth0 du serveur linux et testez de joindre les stations de travail connectées chacune à son réseau d’affectation.

Testez aussi de joindre votre switch par telnet sur l’adresse 192.168.2.1 qu’on lui a affecté plus haut à partir d’une machine du réseau d’administration.

Activez le routage sur votre Linux si ce PC doit devenir routeur, voire firewall comme le sera ma machine de test.

Pour ce faire, éditez le fichier /etc/sysctl.conf et modifiez la ligne suivante comme suit :

net.ipv4.ip_forward = 1

Relancez le réseau et votre linux route le trafic d’une carte à l’autre.

Planchez vous ensuite sur la doc iptables si vous voulez en faire un firewall.

Problèmes éventuels

Il arrive que le routage ne fonctionne pas bien et que certains trafics réseau se perdent alors qu’un simple ping fonctionne correctement.

Cela est certainement dû au MTU de votre carte réseau qui est la taille maximale que peut transmettre la carte réseau.

Un paquet ethernet fait 1500 octets , avec les tags ajoutés, les paquets grossissent et la carte commence à perdre des paquets trop volumineux.

Modifiez le MTU en ajoutant la variable « MTU=1900 » dans le fichier de configuration ifcfg-ethXX vu plus haut. Essayez différentes valeurs au dessus de 1500 ou au dessous, jusqu’à obtenir le fonctionnement désiré.

Laisser un commentaire

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

Ce site utilise Akismet pour réduire les indésirables. En savoir plus sur comment les données de vos commentaires sont utilisées.