vlan sur pfsense virtualisé sur Proxmox
-
Seneque (vers 65 apres JC) : "Il n'y a pas de vents favorables pour celui qui ne sait pas où il va".
Pour utiliser une TV, il suffit d'appuyer sur la zapette, mais pour la dépanner, il faut comprendre comment elle fonctionne.
Un paquet IP comporte les 2 adresses MAC 'source' et 'destination'. Contrairement à un hub, un switch regardera ces adresses :
- il notera, dans sa table ARP, l'adresse MAC 'source' avec le port d'arrivée,
- il recherchera, dans sa table ARP, l'adresse MAC 'destination' et enverra le paquet dans le port associé = port de départ,
- (S'il ne connait pas le port de départ, il effectuera une recherche via une requete ARP).
Ce mécanisme basique (et élémentaire) permet de transmettre un paquet d'une machine P1 vers une machine P2 via 3 switchs A, B et C reliés entre eux (et sans boucle).
Mais si on veut créer un réseau virtuel (VLAN) entre ces machines P1, P2, cela ne suffit plus !
Nécessairement les paquets devront être 'taggés' afin que les switchs, identifiant le n° de VLAN, aiguille correctement.
D'où l'opération de marquage réalisée par le premier switch, et la question du traitement final d'un paquet marqué. Parce que les machines ne savent pas forcément qu'elles utilisent un réseau virtuel : la plupart du temps, les machines ne marquent pas les paquets, ce sont les switchs qui le font.
Avec le schéma suivant, pour le VLAN 10 :
P1 <-> p3 / SW A / p5 <-> p1 / SW B / p2 <-> p1 / SW C / p6 <-> P2
on devra configurer
- SW A p3 : untagged 10
- SW C p6 : untagged 10
- SW A p5 : tagged 10
- SW B p1 : tagged 10
- SW B p2 : tagged 10
- SW C p1 : tagged 10
Et, sans même que P1 et P2 le sache : ils seront seuls à communiquer entre eux. Et ils ne recevront aucun paquet d'autres machines, SAUF si ces autres machines sont aussi reliées à un port en 'untagged 10'.
Il faut noter que les switchs seront donc TOUS administrables. L'ajout d'un switch oblige à configurer ET le switch supplémentaire ET le switch et port auquel il est relié, bref une opération importante.
(Evidement si on utilise un switch non administrable à un endroit avec une seule prise et 2 PC a une conséquence ... inattendue !)
(J'ai déjà écrit sur un collègue qui prétendait connaitre les VLAN, et ne voyait rien de mal à relier 2 switchs administrables via un switch non adinistrable !!)
Le tuto indiqué n'explique, en fait, aucunement les VLAN même si les mots 'tagged' et 'untagged' sont utilisés.
Stop pour moi, je vous ai indiqué déjà beaucoup, tant sur la virtualisation que sur les vlan ...
-
Merci pour votre cours accéléré de réseau et vlan.
Je vais relire attentivement quand je serai dans de meilleurs dispositions. Là il est tard...
En attendant, pour donner des nouvelles, j'arrive à atteindre par ping et tracert le switch qui est dans le vlan 3 depuis l'interface réseau de mon pc qui est dans le vlan par défaut (1),
Mais étrangement, l'interface web dans ce cas ne fonctionne pas. Je pensais que ce serait tout ou rien...
A priori, ce n'est pas le FW qui bloque puisque j'ai autorisé tout le trafic vers l'ip du switch pour ne pas être bloqué par cet élément.
Donc j'arrive encore à une incompréhension de ce que je constate. -
Vous avez indiqué dans votre première réponse :
"pour un port, le 'untagged' est le n° de vlan qui va être mis sur les paquets arrivants et sans vlan, donc les paquets suivront ensuite avec le tag 'untagged'"
=> à travers cette phrase je comprends que le switch va marquer les paquets sans vlan avec le N° de vlan spécifié untagged.Sur cet article : https://www.lecoindunet.com/comprendre-notion-vlan-tagged-untagged-1629
il est indiqué que le switch "retire" le tag sur les ports "untagged" ???
Je cite : "Untagged : le port du switch envoie le trafic après avoir retiré le tag du VLAN."Du coup, il marque ou il enlève la marque ?
=> parce que s'il retire le tag, cela signifie pour moi que peut importe la machine qui émet un paquet, la machine qui sera derrière le port untagged recevra un paquet sans tag et répondra sans tag.
Ainsi, si la machine source A émet depuis un vlan taggé, la machine de destination B recevra le paquet, mais si elle répond, la machine A ne recevra pas la réponse de B car le paquet ne sera pas taggé en retour.Et du coup, cela explique qu'il faut tagger le port pour que la machine B derrière se port répondant à A (qui est dans le vlan taggé) puisse recevoir la réponse.
-
@willis said in vlan sur pfsense virtualisé sur Proxmox:
Merci pour votre cours accéléré de réseau et vlan.
Je vais relire attentivement quand je serai dans de meilleurs dispositions. Là il est tard...
En attendant, pour donner des nouvelles, j'arrive à atteindre par ping et tracert le switch qui est dans le vlan 3 depuis l'interface réseau de mon pc qui est dans le vlan par défaut (1),
Mais étrangement, l'interface web dans ce cas ne fonctionne pas. Je pensais que ce serait tout ou rien...
A priori, ce n'est pas le FW qui bloque puisque j'ai autorisé tout le trafic vers l'ip du switch pour ne pas être bloqué par cet élément.
Donc j'arrive encore à une incompréhension de ce que je constate.EDIT : Et bien contrairement à hier, aujourd'hui ça fonctionne : j'accède bien à l'interface web du switch....
Ce qui est tout à fait cohérent.
Le comportement d'hier était sans doute un bug de mise en cache ...Donc la solution était simple et juste ....
Et découle directement de l'explication de Senec... euh pardon... JDH, il fallait tagger le port du switch sur lequel l'interface de mon PC "sans tag" est connectée. J'avais bien compris, je me suis juste fait avoir par ce bug... -
Mais du coup, pour changer le vlan par défaut et mettre 20 par ex au lieu de 1 (puisque si j'ai bien lu, en terme de sécurité c'est mieux),
Il faut marquer tous les ports de switchs en untagged 20 ? (au lieu de 1 par défaut)
ça change quoi en terme de sécurité ? -
@willis said in vlan sur pfsense virtualisé sur Proxmox:
https://www.lecoindunet.com/comprendre-notion-vlan-tagged-untagged-1629
Il semble que ce soit exact, mais la rédaction prête à confusion ! (D"autres parties idem avec 'VLAN2 PVID 2' ... bref un peu confus !)
Le lien (en anglais) https://networkdirection.net/articles/network-theory/taggeduntaggedandnativevlans/ en plus précis ...
Ce lien explique mieux la situation. Certaines machines ne peuvent tagger les paquets et donc :
- dans le sens machine vers port : le switch va tagger les paquets (non taggés) avec le n° de vlan 'untagged',
- dans le sens port vers machine : les paquets taggés du vlan 'untagged' sont 'détaggé'. (mas les paquets taggés de l'un des vlan 'tagged' ne le sont pas !)
(Si une machine ne tagge pas et que le port n'a pas de 'untagged' ... le paquet est alors taggé du 'native vlan' ou PVID, généralement à 1.)
C'est la pureté de l'échange : un paquet émis sans vlan obtient un retour sans vlan.
Du coup, un élément que j'ai écrit est faux (sans doute) : une machine qui ne tagge pas les paquets traite les paquets taggés sans s'occuper de ce tag.
(Cependant, je ne suis pas totalement sûr de cela, car un paquet reçu taggé est totalement correct : entête correct y compris le checksum. On touche là à la sécurité du principe des VLAN : la sécurité ne réside QUE dans les switchs, il est donc logique que le paquet soit détaggé.)
Le lien expose d'intéressantes questions sur les 'native vlan' et les 'mismatch native vlan' ... Cela encourage à bien maîtriser la config des switchs, et en amont bien avoir compris untagged/tagged ... et à ne pas avoir une confiance absolue dans les vlan !
EDIT : ce que j'ai écrit plus haut est pour certain aspect un peu approximatif ... Néanmoins les principes sont corrects : parler de VLAN sans commencer par expliquer que le paquet ip doit être modifié n'est pas très sérieux !
Les bons liens :
- Wikipedia https://fr.wikipedia.org/wiki/IEEE_802.1Q (le bon protocole pour les vlan ... en visant l'interopérabilité !)
- Frameip : https://www.frameip.com/entete-ethernet/ (décrit ce qu'il faut savoir sur un paquet Ethernet (avant IP) mais ne décrit pas l'utilisation des VLAN)
- Wikipedia (en) : https://en.wikipedia.org/wiki/Virtual_LAN (intéressant et rien à voir avec la traduction française)
-
@jdh
Bonjour,
je me permets de continuer le fil de cette discussion car depuis, j'ai pu poursuivre en suivant vos conseils et j'ai investi dans une machine physique sur laquelle j'ai installé et configuré pfsense. (j'ai réimporté ma configuration et réassigné mes interfaces)
Depuis que j'ai cette machine physique, l'ensemble du réseau est beaucoup plus stable que lorsque le routeur était virtualisé.
Néanmoins, je rencontre une chose que je n'explique pas concernant les vlan toujours :
Depuis mon PC, si je ping une adresse d'un de mes switchs sur le vlan 3, je n'ai pas de réponse.
Si je désactive et réactive ma carte réseau sur mon PC,
je ping à nouveau le switch et je peux me connecter à son interface web.
Puis, au bout de quelques minutes ou après redémarrage, je perds à nouveau la connectivité.
Une idée ?
-
@willis
Et pourtant, en complément, je ping bien l'interface vlan 3 du routeur :
-
Je me réponds à moi-même si ça peut aider quelqu'un :
En configurant une ip virtuelle (avec basculement CARP sur le routeur de secours), en définissant une gateway avec cette ip virtuelle, en définissant cette gateway sur l'interface vlan correspondant, et en configurant mes switchs avec cette gateway, tout fonctionne, je ping et j'accède à mes switchs sans pb et sans perte de ping sur ce vlan.
Le fait d'avoir configuré CARP sur la passerelle de l'interface vlan permet d'ajouter la HA sur ce réseau.
Le but est donc atteint.
-
@willis
Avec les images ça donne ça :
On configure la passerelle pour le VLAN
Ensuite on assigne cette passerelle à l'interface vlan
On définit l'ip virtuelle (la même que la passerelle)
Et sur les switchs, on défini la passerelle.
Du coup, depuis le LAN, je ping et j'accède à l'interface d'administration qui est dans le VLAN3.