Configuration de VLANs
Divulgâchage : Pour faire passer tous les flux réseaux entre le garage et l’arrière cuisine, nous avons ajouté des VLANs à notre infrastructure. Cet article vous explique comment le faire avec un routeur TP-LINK et un serveur ESXi 6.5. On va configurer notre commutateur pour cloisonner les ports dans des réseaux séparés mais en gardant une prise qui recevra tous les paquets (trunk) et les enverra vers l’ESXi. Qu’on configurera ensuite pour séparer ces paquets vers des interfaces réseaux virtuelle sur lesquelles on pourra brancher nos machines virtuelles.
Cloisonner un réseau, c’est bien, mais plus on cloisonne, plus il faut ajouter de câbles et de cartes au routeur. Lorsqu’on atteint la limite physique, on peut passer aux cartes virtuelles et aux VLANs. Et la limite peut arriver plus vite que prévu…
Chez les arsouyes, la limite a été atteinte lorsque nous avons cumulé nos connexions internet :
- La baie de brassage est dans l’arrière cuisine. C’est là qu’arrivent notre fibre et notre ADSL. C’est là aussi que se trouvent notre commutateur Gigabit.
- La baie des serveurs est dans le garage. On y retrouve notre NAS (un DELL R310). Et parce qu’on a préféré économiser sur les machines physiques, les autres serveurs sont virtualisés dans notre ESXi (un DELL R620), y compris notre routeur PfSense.
- Trois câbles RJ45 Gigabit vont d’une baie à l’autre. Trois prises RJ45 dans un garage, c’est déjà pas mal, mais ça va nous limiter.
Le NAS et le routeur ayant chacun besoin d’un câble gigabit vers le LAN, il ne reste qu’un câble pour les deux connexions internet. On pourrait ajouter un quatrième câble mais d’un autre côté, l’ADSL correspond à peine à 0,4% du débit réseau (4Mbps les beaux jours), et en plus, elle n’est utilisée qu’en cas de panne côté fibre (ce qui arrive plus vite que prévu).
On va donc partager le câble pour les deux connexions et vu que nos équipements le permettent, on va aussi utiliser des VLANs pour cloisonner ces réseaux et éviter que les boxes se voient.
Mais c’est quoi un VLAN ?
Globalement, un VLAN, c’est un réseau local virtuel (Virtual LAN si vous n’aviez pas encore saisi). Les systèmes voient des réseaux différents, les utilisent comme de vrais réseaux, mais en vrai, il n’y a qu’un seul équipement physique.
La première façon de procéder, c’est de cloisonner les réseau au niveau des commutateurs. Vous assignez des ports à des VLANs et le commutateur évite de faire passer des trames Ethernet de l’un à l’autre. Les systèmes se croient isolés, sur des commutateurs différents, alors qu’il n’y en a qu’un.
Pour aller plus loin, on peut aussi permettre aux paquets de plusieurs VLANs de partager certains ports du commutateur. L’heureux élu, qu’on qualifie alors de trunk, aura accès aux trames Ethernet de tous ces VLANs. Pour trier ces trames, un identifiant de vlan est inséré dans la trame qui est donc modifiée pour la bonne cause (on dit aussi taguée, pour les détails, voir la norme IEEE 802.1Q).
L’idée de base était de mettre un autre commutateur à l’autre bout du câble et faire passer les VLAN d’un commutateur à l’autre. Les commutateurs utilisant les identifiants pour trier les trames. Les machines branchées sur ces commutateurs peuvent alors communiquer entre elles sans s’apercevoir de la supercherie.
Et là où ça devient vraiment utile, c’est que ces trames modifiées peuvent aussi être gérées par les systèmes d’exploitation. C’est alors lui qui trie les trames et simule alors des cartes réseaux virtuelles. Tout le reste du système voit ces cartes comme n’importe quelle autre carte physique mais en réalité, tout emprunte le même câble.
Dans notre cas, nous allons utiliser notre commutateur TL-SG1024DE pour isoler les réseaux sur des VLANs différents. Un port trunk sera connecté à l’ESXi.
Configuration du commutateur
On va commencer par la configuration du commutateur pour gérer nos VLANs. Notre infrastructure utilise un TL-SG1024DE, mais le principe reste similaire sur tous les commutateurs administrable, il faudra adapter la démarche à vos menus respectifs.
Authentification et adresse IP
La gestion de ce commutateur se fait via une interface web par HTTP.
Par défaut, il récupère son adresse via le DHCP et s’il n’en trouve pas,
se rabat sur 192.168.0.1/24
. Quelques limitations à savoir
:
- Le commutateur écoute sur tous les VLANs, donc si plusieurs serveurs DHCP sont disponibles, il prendra la première adresse qu’il recevra, pas toujours celle que vous pensez.
- L’interface n’est pas disponible en HTTPS, s’y connecter depuis un réseau de confiance (e.g. un VLAN) peut donc être prudent si on veut éviter qu’un attaquant espionne le trafic.
- L’interface web est disponible depuis tous les VLANs. Un attaquant ne peut pas voir votre trafic sur un autre VLAN, mais il peut toujours tenter une connexion via le sien.
Pour votre première connexion, le nom d’utilisateur et le mot de
passe sont tous deux admin
. Pour les changer, il suffit de
se rendre dans le menu System / User Account. Vous pouvez alors
fournir un nouveau nom d’utilisateur et un nouveau mot de passe.
Pour éviter les problèmes de DHCP, vous pouvez configurer l’adresse IP de manière statique. Allez alors dans le menu System / IP Setting. Désactivez le DHCP et renseignez votre configuration IP (adresse, masque et passerelle).
Configuration des VLANs
Comme prévu, nous allons configurer des VLANs 802.1Q. Pour ça, on va dans le menu VLAN / 802.1Q VLAN (oui, c’était si simple). On coche la case Enable puis on clique sur Apply.
Comme nous avons largement assez de ports disponibles, nous avons choisi de doubler les ports attribués aux VLANs. En cas de soucis, on pourra brasser une prise murale vers n’importe quel port et diagnostiquer plus facilement. On a donc la configuration suivante :
Ports | Utilisation |
---|---|
1 à 18 | Réseau local (LAN) |
19 et 20 | Trunk (freebox et redbox) |
21 et 22 | Réseau de la freebox |
23 et 24 | Réseau de la redbox |
Il ne reste plus qu’à mettre en œuvre cette configuration. Pour chaque VLAN, et toujours dans ce menu VLAN / 802.1Q VLAN, il faudra renseigner les éléments suivants :
- Un identifiant. Un nombre arbitrairement choisi entre 1 et 4094.
- Un nom. 10 caractères maximum pour décrire ce que le VLAN est sensé représenter.
Le VLAN 1… Il a pour nom
defaults_VLAN
qui fait 13 caractères. Si vous configurez ce VLAN, vous devrez changer son nom car l’interface refusera de garder l’ancien puisqu’il est trop long…Avant la mise à jours du 2 mai 2018, il n’était pas non plus possible de le configurer. Tous les ports étaient indiqués comme en faisant partie (untagged) mais heureusement, les autres VLANs fonctionnaient comme prévu.
- Les ports untagged. Ceux qui ne font partie que de ce VLAN. Leurs trames ne contiennent donc pas d’identifiant. Les équipement branchés sur ces ports ignoreront que des VLANs sont utilisés.
- les ports tagged. Ceux qui font partie de plusieurs VLANs. Leurs trames sont donc modifiées et contiennent les identifiants pour que les équipement puissent les répartir.
En vrai, le port avec tag peut ne faire partie que d’un seul VLAN. L’utilité est proche de zéro mais c’est techniquement faisable.
Après chaque ajout ou modification, le tableau en bas de page est actualisé pour vous permettre de connaître l’appartenance des ports aux VLANs. Pour nous, ça donne le tableau suivant.
Configuration de l’ESXI
Bien que pfSense accepte les VLAN 802.1Q, nous le feront sur ESXi. D’un côté parce que c’est pratique mais surtout parce que ESXi refuse que d’autres s’en charge et supprime arbitrairement les tags des paquets émis par les VM (donc si pfSense tag, l’ESXi retire le tag et le paquet est perdu dans le switch).
Pour cette partie, nous utilisons l’interface de configuration web d’ESXi 6.5.0. Si vous préférez utiliser un autre client, les principes restent les mêmes mais les menus peuvent changer.
Pour commencer, il faut avoir un commutateur virtuel correspondant à votre carte réseau. Si vous n’en avez pas déjà, passez par le menu Mise en réseau / Commutateurs virtuels et cliquez sur Ajouter un commutateur virtuel standard. Vous pouvez alors lui donner un nom et choisir la carte réseau correspondante.
La prise en compte des VLANs se fait ensuite via la création de groupes de ports que vous retrouverez dans le menu Mise en réseau / groupes de ports. Cliquer sur Ajouter un groupe de ports et renseignez le nom, l’identifiant du VLAN et le commutateur correspondant.
Et voilà ! Lorsque vous aurez besoin de brancher une machine sur ce VLAN, vous n’aurez qu’à brancher sa carte sur le groupe de ports correspondant. Par exemple, notre routeur se retrouve avec 5 cartes réseaux sans savoir qu’il s’agit de VLAN.
Et après ?
Avec ces réglages, les paquets réseaux des deux boxes internet empruntent le même câble entre la baie et le garage mais restent virtuellement séparés. Les boxes ne se voient pas (et les machines qui y serait branchées ne verront pas l’autre côté) et nous économisons des câbles.
La mutualisation d‘un câble pour plusieurs réseaux pourrait introduire un goulot d’étranglement. Les réseaux se partageant le débit du câble commun. C’est pour cette raison que certains commutateurs sont équipés de ports spécifiques ayant un débit largement supérieur aux autre ports (e.g. 48 ports RJ45 à 1Gbps + 2 ports fibres à 10Gbp).
De notre côté, la connexion ADSL n’étant utilisée qu’en cas de panne de la fibre, les débits sont donc utilisés à des moments différents. Et si, d’aventure, on utilisait l’ADSL en même temps, ça ne représenterait qu’au maximum 5Mbps, une goute d’eau négligeable.