Bon, petit cours résumé sur les VLAN et les routeurs. Pour simplifier un routeur c'est tout d'abord un switch sur lequel on a connecté en interne un ou 2 ports à un CPU qui a un ou 2 ports.
Les ports du CPU on peut les appeller ethXYZ. Les ports du switch sont appellé ports 0 à N.
Ton routeur qui tourne sur le CPU ne fait que gérer les règles entre ethX et ethY en associant un eth côté LAN et l'autre côté WAN. Les 2 ports du CPU sont connectés au même switch. Comment donc cela est géré dans le switch?
Et bien c'est grace aux VLAN ID (VID). Le VLAN ID est une donnée L2 sur un paquet ethernet en plus du MAC et du l'identifiant de protocole au dessus (IPv4 le plus souvent). Elle n'est pas systematique au contraire la majorité des paquets n'ont pas de VID.
Prenons le cas d'un PC connecté au switch. Celui ci emet un paquet en broadcast. Si c'est un switch bête et méchant, le paquet reçu est réémis sur tout les ports tel que (sauf bien sûr le port ayant reçu le paquet). Dans le cas d'un switch configurable tel que tu as là, le paquet est reçu sur un port (3 par exemple). Si le paquet a déjà un VID dans son entête L2, il est comparé aux VIDs autorisés pour le port et marqué comme taggé (TAGGED sur certains switchs). Si le paquet ne match aucun VID, il est ignoré. Si par contre le paquet n'est pas marqué, le switch va lui attribuer EN INTERNE un VID appelé port VID ou PVID. Il est du coup evident qu'il ne peut y avoir qu'un seul PVID par port. Sur openwrt le PVID est affiché comme le VID "non marqué".
Ensuite le switch reçoit donc un paquet en broadcast qui match un VID, ce qu'il fait c'est qu'il le réèmet sur tout les ports concernés par le VID (cad non "arrêté" sur openwrt). S'il est taggé le paquet et emis sur le port avec le VID dans le paquet. Si c'est le PVID (non marqué) sur un port, il est emis sans VID.
Edit:
Si on reprend l'exemple d'un PC connecté sur le port 3 et qui envoie un paquet vers le net et en utilisant ton image sur la config du switch openwrt. Par défaut il n'est pas taggé. Il entre dans le port 3. Pas taggé et port 3 = le switch le tagge PVID = 1. Il ressort ensuite grâce à la MAC sur un autre port ayant le VID =1, à fortiori sur le port 5 = port CPU. Du switch port 5 il sort non taggé pour aller sur le port ethX du CPU. Là le CPU fait sont tralala (NAT, firewall, routage, filtrage L3/L4/porn, etc.) puis sort un paquet complètement transformé sur un autre ethY qui si ton schéma est exact sur le port 6 du switch. Le port 6 du switch voit arriver un paquet non taggé donc lui ajoute le tag PVID = 2 puis le fait sortir port 4 sans tag à fortiori.
Pour resumer: PC ---> port 3 PVID = 1 port CPU ---> ethX CPU ethY ---> port 6 PVID = 2 port 4 ---> net
Suite:
Ce que l'on voit donc dans la config par defaut c'est que les ports 0..3 vont sur le port CPU et le port 4 communique uniquement avec le port 5. Sans tag (c'est uniquement en interne du switch que le tag est mis).
Pour avoir internet avec Free, il faut que le routeur envoi des paquets avec le tag VID 836. On a 2 possibilités:
- soit c'est le CPU qui envoi des paquets taggé 836. Dans ce cas il faut mettre le WAN sur ethY.836 => force le CPU a envoyer des paquets taggé VID 836. Potentiellement il faut configurer le switch pour accepter les paquets VID 836 sur le port connecté à ethY, et a le transmettre sur le port marqué WAN (port 4?) en taggé aussi.
- soit c'est le switch qui tagge tout seul. Le WAN du CPU reste ethY, mais le port du switch a un PVID de 836 (c'est à dire untagged et VID 836). Le port WAN lui est sur le VID 836 en taggé.
Edit: content que ça marche. Si ça se trouve ça peut peut-être fonctionner aussi directement sur le port SFP.