Auteur Sujet: Need Help ! - Conf CRS305 -> RB5009 - vlan/trunk....  (Lu 4180 fois)

0 Membres et 1 Invité sur ce sujet

Jimbo-77

  • Abonné Sosh fibre
  • *
  • Messages: 90
  • La Madeleine (59)
Need Help ! - Conf CRS305 -> RB5009 - vlan/trunk....
« le: 27 mai 2023 à 19:46:19 »
Hello !

Comme expliqué dans un autre post, je suis en train de mette en place une configuration avec trois équipements Mikrotik.
Lorsque j'utilise le RB5009 seul ou via le CRS305 sans trunk, ça fonctionne. Par contre dès que j'essaye de mettre ma conf cible (ci-dessous), impossible d'avoir un truc fonctionnel.



J'ai suivi les posts, instruction, lu la doc Mikrotik concernant les vlan et la partie trunk, mais impossible de m'en sortir.

Voilà où j'en suis, la partie LAN fonctionne. En étant connecté via le routeur, j'arrive à accéder à tout mon LAN. Par contre, la partie internet ne fonctionne pas.
En l'état la requête dhcp pour obtenir une IP publique ne fonctionne pas. Ca n'arrive pas jusqu'au CRS305 (d'après capture faite via l'interface web).

Par contre, je vois les paquets côté routeur, mais sans le vlan id à 832. Je pense donc que faute de vlan, les paquets ne passent pas le trunk.
J'ai essayé différentes choses côté interface vlan, bridge port... Mais toujours le même comportement. :(

Ci-joint les conf des deux équipements :
Configuration du switch - CR305

# jan/02/1970 04:10:50 by RouterOS 7.9
# software id = S7JD-AWF5
#
# model = CRS305-1G-4S+
# serial number = HEC08VZ852G
/interface bridge
add admin-mac=48:A9:8A:B1:86:B3 auto-mac=no comment=defconf name=bridge pvid=\
    20 vlan-filtering=yes
/interface ethernet
set [ find default-name=sfp-sfpplus1 ] auto-negotiation=no speed=2.5Gbps
/interface vlan
add interface=bridge name=vlan20-int vlan-id=20
/interface list
add name=WAN
add name=LAN
add name=MGMT
/interface wireless security-profiles
set [ find default=yes ] supplicant-identity=MikroTik
/ip hotspot profile
set [ find default=yes ] html-directory=hotspot
/port
set 0 name=serial0
/interface bridge port
add bridge=bridge comment=defconf disabled=yes frame-types=\
    admit-only-untagged-and-priority-tagged interface=ether1
add bridge=bridge comment=defconf frame-types=admit-only-vlan-tagged \
    interface=sfp-sfpplus1 pvid=832
add bridge=bridge comment=defconf interface=sfp-sfpplus2
add bridge=bridge comment=defconf interface=sfp-sfpplus3
add bridge=bridge comment=defconf frame-types=\
    admit-only-untagged-and-priority-tagged interface=sfp-sfpplus4 pvid=20
/interface bridge vlan
add bridge=bridge tagged=sfp-sfpplus2 vlan-ids=832
add bridge=bridge tagged=sfp-sfpplus2 vlan-ids=20
add bridge=bridge untagged=sfp-sfpplus4 vlan-ids=1
/interface list member
add interface=sfp-sfpplus1 list=LAN
add interface=sfp-sfpplus2 list=LAN
add interface=sfp-sfpplus3 list=LAN
add interface=sfp-sfpplus4 list=LAN
add interface=ether1 list=MGMT
/ip address
add address=192.168.1.5/24 comment=defconf interface=bridge network=\
    192.168.1.0
add address=192.168.88.5/24 interface=ether1 network=192.168.88.0
/ip dns
set servers=192.168.1.1
/ip traffic-flow
set interfaces=ether1
/system identity
set name=JimCore
/system note
set show-at-login=no
/system routerboard settings
set boot-os=router-os
/tool sniffer
set filter-interface=sfp-sfpplus2


Configuration du routeur - RB5009
# jan/02/1970 03:13:32 by RouterOS 7.9.1
# software id = 9RLD-WK5C
#
# model = RB5009UG+S+
# serial number = HE708XF9NJC
/interface bridge
add admin-mac=48:A9:8A:75:E6:99 auto-mac=no comment=defconf name=bridge pvid=\
    20 vlan-filtering=yes
/interface vlan
add disabled=yes interface=bridge name=vlan20-lan vlan-id=20
add interface=bridge name=vlan832-internet vlan-id=832
/interface bonding
add mode=802.3ad name=bonding1 slaves=ether3,ether4
/interface list
add comment=defconf name=WAN
add comment=defconf name=LAN
/interface wireless security-profiles
set [ find default=yes ] supplicant-identity=MikroTik
/ip dhcp-client option
add code=60 name=vendor-class-identifier value=0x736167656d
add code=77 name=userclass value="0x2b46535644534c5f6c697665626f782e496e746572\
    6e65742e736f66746174686f6d652e4c697665626f7833"
add code=90 name=authsend value="0x0*************************************************"
/ip pool
add name=pool_lan ranges=192.168.1.100-192.168.1.200
/ip dhcp-server
add address-pool=pool_lan interface=bridge lease-time=1w name=LAN
/ipv6 dhcp-client option
add code=16 name=class-identifier value=0x0000040e0005736167656d
add code=15 name=userclass value="0x002b46535644534c5f6c697665626f782e496e7465\
    726e65742e736f66746174686f6d652e6c697665626f78340a"
add code=11 name=authsend value="0x**************************************************"
/ipv6 dhcp-server
add address-pool=pool_FT_6 interface=bridge name=DHCPv6 route-distance=5
/interface bridge filter
# in/out-bridge-port matcher not possible when interface (vlan832-internet) is not slave
add action=set-priority chain=output dst-port=67 ip-protocol=udp log=yes \
    log-prefix="Set CoS6 on DHCP request IPv4" mac-protocol=ip new-priority=6 \
    out-interface=vlan832-internet passthrough=yes src-port=68
# in/out-bridge-port matcher not possible when interface (vlan832-internet) is not slave
add action=set-priority chain=output dst-port=547 ip-protocol=udp log=yes \
    log-prefix="Set CoS6 on DHCP request IPv6" mac-protocol=ipv6 \
    new-priority=6 out-interface=vlan832-internet passthrough=yes
/interface bridge port
add bridge=bridge comment=defconf frame-types=\
    admit-only-untagged-and-priority-tagged interface=ether2 pvid=20
add bridge=bridge comment=defconf frame-types=\
    admit-only-untagged-and-priority-tagged interface=ether5 pvid=20
add bridge=bridge comment=defconf frame-types=\
    admit-only-untagged-and-priority-tagged interface=ether6 pvid=20
add bridge=bridge comment=defconf frame-types=\
    admit-only-untagged-and-priority-tagged interface=ether7 pvid=20
add bridge=bridge comment=defconf interface=sfp-sfpplus1
add bridge=bridge frame-types=admit-only-untagged-and-priority-tagged \
    interface=ether1 pvid=20
add bridge=bridge frame-types=admit-only-untagged-and-priority-tagged \
    interface=bonding1 pvid=20
/ip neighbor discovery-settings
set discover-interface-list=LAN
/ipv6 settings
set disable-ipv6=yes
/interface bridge vlan
add bridge=bridge tagged=sfp-sfpplus1 vlan-ids=832
add bridge=bridge tagged=sfp-sfpplus1 vlan-ids=20
/interface list member
add comment=defconf interface=bridge list=LAN
add comment=defconf interface=ether1 list=LAN
add interface=ether8 list=LAN
add interface=vlan832-internet list=WAN
add interface=ether2 list=LAN
add interface=ether5 list=LAN
add interface=ether6 list=LAN
add interface=ether7 list=LAN
add interface=vlan20-lan list=LAN
/ip address
add address=192.168.88.1/24 comment=defconf interface=ether8 network=\
    192.168.88.0
add address=192.168.1.1/24 interface=bridge network=192.168.1.0
/ip dhcp-client
add dhcp-options=hostname,clientid,authsend,userclass,vendor-class-identifier \
    disabled=yes interface=vlan832-internet
/ip dhcp-server lease
add address=192.168.1.12 mac-address=00:05:CD:14:76:70
add address=192.168.1.25 mac-address=00:60:2F:9A:38:C3
add address=192.168.1.23 mac-address=00:1D:63:2E:11:D6
add address=192.168.1.18 mac-address=58:D3:49:15:38:57
add address=192.168.1.28 mac-address=58:D3:49:19:C1:14
add address=192.168.1.34 mac-address=58:D3:49:CB:49:FF
add address=192.168.1.32 client-id=1:64:95:6c:7d:a9:f2 mac-address=\
    64:95:6C:7D:A9:F2 server=LAN
/ip dhcp-server network
add address=192.168.1.0/24 dns-server=192.168.1.1 domain=home gateway=\
    192.168.1.1 netmask=24
add address=192.168.88.0/24 comment=defconf dns-server=192.168.88.1 gateway=\
    192.168.88.1
/ip dns
set allow-remote-requests=yes servers=80.10.246.7,81.253.149.14
/ip dns static
add address=192.168.88.1 comment=defconf name=router.lan
add address=192.168.1.1 name=router.lan
add address=192.168.1.1 name=router.home
add address=192.168.1.6 name=Jimnas2.home
add address=192.168.1.160 name=jimroon.home
add address=192.168.1.3 name=JimSwitch.home
add address=192.168.1.1 name=jimrouter.home
add address=192.168.1.5 name=jimswitch2.home
/ip firewall filter
add action=accept chain=input comment=\
    "defconf: accept established,related,untracked" connection-state=\
    established,related,untracked
add action=drop chain=input comment="defconf: drop invalid" connection-state=\
    invalid
add action=accept chain=input comment="defconf: accept ICMP" protocol=icmp
add action=accept chain=input comment=\
    "defconf: accept to local loopback (for CAPsMAN)" dst-address=127.0.0.1
add action=drop chain=input comment="defconf: drop all not coming from LAN" \
    in-interface-list=!LAN
add action=accept chain=forward comment="defconf: accept in ipsec policy" \
    ipsec-policy=in,ipsec
add action=accept chain=forward comment="defconf: accept out ipsec policy" \
    ipsec-policy=out,ipsec
add action=fasttrack-connection chain=forward comment="defconf: fasttrack" \
    connection-state=established,related hw-offload=yes
add action=accept chain=forward comment=\
    "defconf: accept established,related, untracked" connection-state=\
    established,related,untracked
add action=drop chain=forward comment="defconf: drop invalid" \
    connection-state=invalid
add action=drop chain=forward comment=\
    "defconf: drop all from WAN not DSTNATed" connection-nat-state=!dstnat \
    connection-state=new in-interface-list=WAN
/ip firewall nat
add action=masquerade chain=srcnat comment="defconf: masquerade" \
    ipsec-policy=out,none out-interface-list=WAN
/ipv6 firewall address-list
add address=::/128 comment="defconf: unspecified address" list=bad_ipv6
add address=::1/128 comment="defconf: lo" list=bad_ipv6
add address=fec0::/10 comment="defconf: site-local" list=bad_ipv6
add address=::ffff:0.0.0.0/96 comment="defconf: ipv4-mapped" list=bad_ipv6
add address=::/96 comment="defconf: ipv4 compat" list=bad_ipv6
add address=100::/64 comment="defconf: discard only " list=bad_ipv6
add address=2001:db8::/32 comment="defconf: documentation" list=bad_ipv6
add address=2001:10::/28 comment="defconf: ORCHID" list=bad_ipv6
add address=3ffe::/16 comment="defconf: 6bone" list=bad_ipv6
/ipv6 firewall filter
add action=accept chain=input comment=\
    "defconf: accept established,related,untracked" connection-state=\
    established,related,untracked
add action=drop chain=input comment="defconf: drop invalid" connection-state=\
    invalid
add action=accept chain=input comment="defconf: accept ICMPv6" protocol=\
    icmpv6
add action=accept chain=input comment="defconf: accept UDP traceroute" port=\
    33434-33534 protocol=udp
add action=accept chain=input comment=\
    "defconf: accept DHCPv6-Client prefix delegation." dst-port=546 protocol=\
    udp src-address=fe80::/10
add action=accept chain=input comment="defconf: accept IKE" dst-port=500,4500 \
    protocol=udp
add action=accept chain=input comment="defconf: accept ipsec AH" protocol=\
    ipsec-ah
add action=accept chain=input comment="defconf: accept ipsec ESP" protocol=\
    ipsec-esp
add action=accept chain=input comment=\
    "defconf: accept all that matches ipsec policy" ipsec-policy=in,ipsec
add action=drop chain=input comment=\
    "defconf: drop everything else not coming from LAN" in-interface-list=\
    !LAN
add action=accept chain=forward comment=\
    "defconf: accept established,related,untracked" connection-state=\
    established,related,untracked
add action=drop chain=forward comment="defconf: drop invalid" \
    connection-state=invalid
add action=drop chain=forward comment=\
    "defconf: drop packets with bad src ipv6" src-address-list=bad_ipv6
add action=drop chain=forward comment=\
    "defconf: drop packets with bad dst ipv6" dst-address-list=bad_ipv6
add action=drop chain=forward comment="defconf: rfc4890 drop hop-limit=1" \
    hop-limit=equal:1 protocol=icmpv6
add action=accept chain=forward comment="defconf: accept ICMPv6" protocol=\
    icmpv6
add action=accept chain=forward comment="defconf: accept HIP" protocol=139
add action=accept chain=forward comment="defconf: accept IKE" dst-port=\
    500,4500 protocol=udp
add action=accept chain=forward comment="defconf: accept ipsec AH" protocol=\
    ipsec-ah
add action=accept chain=forward comment="defconf: accept ipsec ESP" protocol=\
    ipsec-esp
add action=accept chain=forward comment=\
    "defconf: accept all that matches ipsec policy" ipsec-policy=in,ipsec
add action=drop chain=forward comment=\
    "defconf: drop everything else not coming from LAN" in-interface-list=\
    !LAN
/system clock
set time-zone-name=Europe/Paris
/system identity
set name=JimRouter
/system logging
add prefix=-DHCP- topics=dhcp
add prefix="FW -" topics=firewall
add topics=bridge
/system note
set show-at-login=no
/system ntp client
set enabled=yes
/system ntp client servers
add address=ntp.midway.ovh
add address=chronos.univ-brest.fr
add address=chronos.espci.fr
/tool mac-server
set allowed-interface-list=LAN
/tool mac-server mac-winbox
set allowed-interface-list=LAN
/tool sniffer
set filter-interface=vlan20-lan

Merci d'avance pour votre aide.

Jim
« Modifié: 28 mai 2023 à 12:22:30 par Jimbo-77 »

zoc

  • Abonné Orange Fibre
  • *
  • Messages: 4 259
  • Antibes (06) / Mercury (73)
Need Help ! - Conf CRS305 -> RB5009 - vlan/trunk....
« Réponse #1 le: 27 mai 2023 à 20:06:26 »
Il y a quelques trucs évidents qui ne vont pas:
  • Tu mets ton DHCPv4/v6 sur l'interface bridge, donc effectivement ca sort sans VLAN. Il faut mettre DHCP (v4 et v6) sur l'interface vlan832-internet
  • Dans la config du CRS, le VLAN 832 est targué sur une seule interface, donc tout ce qui arrive sur cette interface pour ce VLAN ne peut aller... nulle part. Donc clairement déjà il faut que VLAN832 soit targué sur l'interface connectée à l'ONT et sur l'interface connectée au port WAN du RB.

Ces 2 actions devraient déjà permettre d'avoir internet sur le LAN (Pour peu que les options DHCP et la CoS soient faits correctement,  je n'ai pas vérifié. Pour la suite, on verra plus tard.

Jimbo-77

  • Abonné Sosh fibre
  • *
  • Messages: 90
  • La Madeleine (59)
Need Help ! - Conf CRS305 -> RB5009 - vlan/trunk....
« Réponse #2 le: 27 mai 2023 à 21:42:17 »
Il y a quelques trucs évidents qui ne vont pas:
  • Tu mets ton DHCPv4/v6 sur l'interface bridge, donc effectivement ca sort sans VLAN. Il faut mettre DHCP (v4 et v6) sur l'interface vlan832-internet
  • Dans la config du CRS, le VLAN 832 est targué sur une seule interface, donc tout ce qui arrive sur cette interface pour ce VLAN ne peut aller... nulle part. Donc clairement déjà il faut que VLAN832 soit targué sur l'interface connectée à l'ONT et sur l'interface connectée au port WAN du RB.

Ces 2 actions devraient déjà permettre d'avoir internet sur le LAN (Pour peu que les options DHCP et la CoS soient faits correctement,  je n'ai pas vérifié. Pour la suite, on verra plus tard.
Pour la partie dhcp à la base il était sur l’interface vlan832. La conf que j’ai postée est celle de ma dernière tentative. Pour le principe je te testerai demain.

Pour le deuxième point c’est noté. Je regarde ça.

Merci pour ces premiers retours.  :)

Jimbo-77

  • Abonné Sosh fibre
  • *
  • Messages: 90
  • La Madeleine (59)
Need Help ! - Conf CRS305 -> RB5009 - vlan/trunk....
« Réponse #3 le: 28 mai 2023 à 01:17:41 »
Je viens juste de vérifier la partie dhcp client et j'ai bien paramètre l'interface 832 :

/ip dhcp-client
add dhcp-options=hostname,clientid,authsend,userclass,vendor-class-identifier \
    disabled=yes interface=vlan832-internet

Où as-tu vu que le bridge était configuré pour le dhcp ?

zoc

  • Abonné Orange Fibre
  • *
  • Messages: 4 259
  • Antibes (06) / Mercury (73)
Need Help ! - Conf CRS305 -> RB5009 - vlan/trunk....
« Réponse #4 le: 28 mai 2023 à 07:13:08 »
Effectivement. J’ai du confondre avec la config serveur dhcp.

pinomat

  • Abonné Orange Fibre
  • *
  • Messages: 207
  • THIONVILLE 57
Need Help ! - Conf CRS305 -> RB5009 - vlan/trunk....
« Réponse #5 le: 28 mai 2023 à 09:52:33 »
J'ai suivi les posts, instruction, lu la doc Mikrotik concernant les vlan et la partie trunk, mais impossible de m'en sortir.

D'après ce que je connais sur la config des VLAN sur les Mikrotik, on attache le VLAN à l'interface Ethernet et l'interface Ethernet au bridge... Dans ta configuration, tu attaches le VLAN au bridge (de mémoire, cela désactive le HW offloading).

Non conforme
/interface vlan
add interface=[b]bridge [/b]name=vlan832-internet vlan-id=832
/interface bridge
add admin-mac=48:A9:8A:75:E6:99 auto-mac=no comment=defconf name=bridge pvid=\
    20 vlan-filtering=yes
/interface bridge port
add bridge=bridge comment=defconf interface=sfp-sfpplus1
/interface bridge vlan
add bridge=bridge tagged=sfp-sfpplus1 vlan-ids=832

Conforme
/interface vlan
add interface=[b]sfp-sfpplus1[/b] name=vlan832-internet vlan-id=832
/interface bridge
add admin-mac=48:A9:8A:75:E6:99 auto-mac=no comment=defconf name=bridge pvid=\
    20 vlan-filtering=yes
/interface bridge port
add bridge=bridge comment=defconf interface=sfp-sfpplus1
/interface bridge vlan
add bridge=bridge tagged=sfp-sfpplus1 vlan-ids=832

2) J'ajouterai l'interface bridge au bridge du CRS305 et je tagguerai le VLAN 832.

3) Il y a aussi ceci un problème sur le CRS305, tu mets pvid = 832, ce qui signifie que tout ce qui les paquets en egress sur ce port seront détaggués.

add bridge=bridge comment=defconf frame-types=admit-only-vlan-tagged \
    interface=sfp-sfpplus1 [b]pvid=832[/b]

Il faudrait refaire le schéma avec le nom de chaque port .

Jimbo-77

  • Abonné Sosh fibre
  • *
  • Messages: 90
  • La Madeleine (59)
Need Help ! - Conf CRS305 -> RB5009 - vlan/trunk....
« Réponse #6 le: 28 mai 2023 à 11:34:10 »
Merci d'avoir pris le temps de jeter un oeil.
C'est pas encore ça mais voici les dernières actions/statut.

D'après ce que je connais sur la config des VLAN sur les Mikrotik, on attache le VLAN à l'interface Ethernet et l'interface Ethernet au bridge... Dans ta configuration, tu attaches le VLAN au bridge (de mémoire, cela désactive le HW offloading).


Conforme
/interface vlan
add interface=[b]sfp-sfpplus1[/b] name=vlan832-internet vlan-id=832
/interface bridge
add admin-mac=48:A9:8A:75:E6:99 auto-mac=no comment=defconf name=bridge pvid=\
    20 vlan-filtering=yes
/interface bridge port
add bridge=bridge comment=defconf interface=sfp-sfpplus1
/interface bridge vlan
add bridge=bridge tagged=sfp-sfpplus1 vlan-ids=832

Modification effectuée.

/interface vlan
add disabled=yes interface=bridge name=vlan20-lan vlan-id=20
add interface=sfp-sfpplus1 name=vlan832-internet vlan-id=832

/interface bridge port
add bridge=bridge comment=defconf frame-types=\
    admit-only-untagged-and-priority-tagged interface=ether2 pvid=20
add bridge=bridge comment=defconf frame-types=\
    admit-only-untagged-and-priority-tagged interface=ether5 pvid=20
add bridge=bridge comment=defconf frame-types=\
    admit-only-untagged-and-priority-tagged interface=ether6 pvid=20
add bridge=bridge comment=defconf frame-types=\
    admit-only-untagged-and-priority-tagged interface=ether7 pvid=20
add bridge=bridge comment=defconf interface=sfp-sfpplus1
add bridge=bridge frame-types=admit-only-untagged-and-priority-tagged \
    interface=ether1 pvid=20
add bridge=bridge frame-types=admit-only-untagged-and-priority-tagged \
    interface=bonding1 pvid=20

/interface bridge vlan
add bridge=bridge tagged=sfp-sfpplus1 vlan-ids=832
add bridge=bridge tagged=sfp-sfpplus1 vlan-ids=20

2) J'ajouterai l'interface bridge au bridge du CRS305 et je tagguerai le VLAN 832.

Fait aussi.

/interface bridge port
add bridge=bridge comment=defconf disabled=yes frame-types=\
    admit-only-untagged-and-priority-tagged interface=ether1
add bridge=bridge comment=defconf frame-types=admit-only-vlan-tagged \
    interface=sfp-sfpplus1 pvid=832
add bridge=bridge comment=defconf interface=sfp-sfpplus2
add bridge=bridge comment=defconf interface=sfp-sfpplus3
add bridge=bridge comment=defconf frame-types=\
    admit-only-untagged-and-priority-tagged interface=sfp-sfpplus4 pvid=20
/interface bridge vlan
add bridge=bridge tagged=sfp-sfpplus2,sfp-sfpplus1,bridge vlan-ids=832
add bridge=bridge tagged=sfp-sfpplus2 vlan-ids=20
add bridge=bridge untagged=sfp-sfpplus4 vlan-ids=1

3) Il y a aussi ceci un problème sur le CRS305, tu mets pvid = 832, ce qui signifie que tout ce qui les paquets en egress sur ce port seront détaggués.

add bridge=bridge comment=defconf frame-types=admit-only-vlan-tagged \
    interface=sfp-sfpplus1 [b]pvid=832[/b]

Là, j'avoue que je ne te suis pas. Je suis preneur d'un complément d'explication.
Pourquoi les paquets seraient détaggués ?

Il faudrait refaire le schéma avec le nom de chaque port .

Je vais essayer de faire ça cet après-midi.
Schéma du post initial mis à jour.

Sinon les requêtes dhcp ont l'air de bien être tagguées et envoyés via l'interface sfp1


Par contre, suite aux dernière modifications, j'ai perdu la main sur le CRS305 via le routeur.

Je remets les dernière configurations :

Routeur (RB5009):
# may/28/2023 11:52:23 by RouterOS 7.9.1
# software id = 9RLD-WK5C
#
# model = RB5009UG+S+
# serial number = HE708XF9NJC
/interface bridge
add admin-mac=48:A9:8A:75:E6:99 auto-mac=no comment=defconf name=bridge pvid=\
    20 vlan-filtering=yes
/interface vlan
add disabled=yes interface=bridge name=vlan20-lan vlan-id=20
add interface=sfp-sfpplus1 name=vlan832-internet vlan-id=832
/interface bonding
add mode=802.3ad name=bonding1 slaves=ether3,ether4
/interface list
add comment=defconf name=WAN
add comment=defconf name=LAN
/interface wireless security-profiles
set [ find default=yes ] supplicant-identity=MikroTik
/ip dhcp-client option
add code=60 name=vendor-class-identifier value=0x736167656d
add code=77 name=userclass value="0x2b46535644534c5f6c697665626f782e496e746572\
    6e65742e736f66746174686f6d652e4c697665626f7833"
add code=90 name=authsend value="***********************************************"
/ip pool
add name=pool_lan ranges=192.168.1.100-192.168.1.200
/ip dhcp-server
add address-pool=pool_lan interface=bridge lease-time=1w name=LAN
/ipv6 dhcp-client option
add code=16 name=class-identifier value=0x0000040e0005736167656d
add code=15 name=userclass value="0x002b46535644534c5f6c697665626f782e496e7465\
    726e65742e736f66746174686f6d652e6c697665626f78340a"
add code=11 name=authsend value="0x0*******************************"
/ipv6 dhcp-server
add address-pool=pool_FT_6 interface=bridge name=DHCPv6 route-distance=5
/interface bridge filter
# in/out-bridge-port matcher not possible when interface (vlan832-internet) is not slave
add action=set-priority chain=output dst-port=67 ip-protocol=udp log=yes \
    log-prefix="Set CoS6 on DHCP request IPv4" mac-protocol=ip new-priority=6 \
    out-interface=vlan832-internet passthrough=yes src-port=68
# in/out-bridge-port matcher not possible when interface (vlan832-internet) is not slave
add action=set-priority chain=output dst-port=547 ip-protocol=udp log=yes \
    log-prefix="Set CoS6 on DHCP request IPv6" mac-protocol=ipv6 \
    new-priority=6 out-interface=vlan832-internet passthrough=yes
/interface bridge port
add bridge=bridge comment=defconf frame-types=\
    admit-only-untagged-and-priority-tagged interface=ether2 pvid=20
add bridge=bridge comment=defconf frame-types=\
    admit-only-untagged-and-priority-tagged interface=ether5 pvid=20
add bridge=bridge comment=defconf frame-types=\
    admit-only-untagged-and-priority-tagged interface=ether6 pvid=20
add bridge=bridge comment=defconf frame-types=\
    admit-only-untagged-and-priority-tagged interface=ether7 pvid=20
add bridge=bridge comment=defconf interface=sfp-sfpplus1
add bridge=bridge frame-types=admit-only-untagged-and-priority-tagged \
    interface=ether1 pvid=20
add bridge=bridge frame-types=admit-only-untagged-and-priority-tagged \
    interface=bonding1 pvid=20
/ip neighbor discovery-settings
set discover-interface-list=LAN
/ipv6 settings
set disable-ipv6=yes
/interface bridge vlan
add bridge=bridge tagged=sfp-sfpplus1 vlan-ids=832
add bridge=bridge tagged=sfp-sfpplus1 vlan-ids=20
/interface list member
add comment=defconf interface=bridge list=LAN
add comment=defconf interface=ether1 list=LAN
add interface=ether8 list=LAN
add interface=vlan832-internet list=WAN
add interface=ether2 list=LAN
add interface=ether5 list=LAN
add interface=ether6 list=LAN
add interface=ether7 list=LAN
add interface=vlan20-lan list=LAN
/ip address
add address=192.168.88.1/24 comment=defconf interface=ether8 network=\
    192.168.88.0
add address=192.168.1.1/24 interface=bridge network=192.168.1.0
/ip dhcp-client
add dhcp-options=hostname,clientid,authsend,userclass,vendor-class-identifier \
    interface=vlan832-internet
/ip dhcp-server lease
add address=192.168.1.12 mac-address=00:05:CD:14:76:70
add address=192.168.1.25 mac-address=00:60:2F:9A:38:C3
add address=192.168.1.23 mac-address=00:1D:63:2E:11:D6
add address=192.168.1.18 mac-address=58:D3:49:15:38:57
add address=192.168.1.28 mac-address=58:D3:49:19:C1:14
add address=192.168.1.34 mac-address=58:D3:49:CB:49:FF
add address=192.168.1.32 client-id=1:64:95:6c:7d:a9:f2 mac-address=\
    64:95:6C:7D:A9:F2 server=LAN
/ip dhcp-server network
add address=192.168.1.0/24 dns-server=192.168.1.1 domain=home gateway=\
    192.168.1.1 netmask=24
add address=192.168.88.0/24 comment=defconf dns-server=192.168.88.1 gateway=\
    192.168.88.1
/ip dns
set allow-remote-requests=yes servers=80.10.246.7,81.253.149.14
/ip dns static
add address=192.168.88.1 comment=defconf name=router.lan
add address=192.168.1.1 name=router.lan
add address=192.168.1.1 name=router.home
add address=192.168.1.6 name=Jimnas2.home
add address=192.168.1.160 name=jimroon.home
add address=192.168.1.3 name=JimSwitch.home
add address=192.168.1.1 name=jimrouter.home
add address=192.168.1.5 name=jimswitch2.home
/ip firewall filter
add action=accept chain=input comment=\
    "defconf: accept established,related,untracked" connection-state=\
    established,related,untracked
add action=drop chain=input comment="defconf: drop invalid" connection-state=\
    invalid
add action=accept chain=input comment="defconf: accept ICMP" protocol=icmp
add action=accept chain=input comment=\
    "defconf: accept to local loopback (for CAPsMAN)" dst-address=127.0.0.1
add action=drop chain=input comment="defconf: drop all not coming from LAN" \
    in-interface-list=!LAN
add action=accept chain=forward comment="defconf: accept in ipsec policy" \
    ipsec-policy=in,ipsec
add action=accept chain=forward comment="defconf: accept out ipsec policy" \
    ipsec-policy=out,ipsec
add action=fasttrack-connection chain=forward comment="defconf: fasttrack" \
    connection-state=established,related hw-offload=yes
add action=accept chain=forward comment=\
    "defconf: accept established,related, untracked" connection-state=\
    established,related,untracked
add action=drop chain=forward comment="defconf: drop invalid" \
    connection-state=invalid
add action=drop chain=forward comment=\
    "defconf: drop all from WAN not DSTNATed" connection-nat-state=!dstnat \
    connection-state=new in-interface-list=WAN
/ip firewall nat
add action=masquerade chain=srcnat comment="defconf: masquerade" \
    ipsec-policy=out,none out-interface-list=WAN
/ipv6 dhcp-client
add add-default-route=yes dhcp-options=authsend,userclass,class-identifier \
    dhcp-options=authsend,userclass,class-identifier disabled=yes interface=\
    vlan832-internet pool-name=pool_FT_6 request=prefix
/ipv6 firewall address-list
add address=::/128 comment="defconf: unspecified address" list=bad_ipv6
add address=::1/128 comment="defconf: lo" list=bad_ipv6
add address=fec0::/10 comment="defconf: site-local" list=bad_ipv6
add address=::ffff:0.0.0.0/96 comment="defconf: ipv4-mapped" list=bad_ipv6
add address=::/96 comment="defconf: ipv4 compat" list=bad_ipv6
add address=100::/64 comment="defconf: discard only " list=bad_ipv6
add address=2001:db8::/32 comment="defconf: documentation" list=bad_ipv6
add address=2001:10::/28 comment="defconf: ORCHID" list=bad_ipv6
add address=3ffe::/16 comment="defconf: 6bone" list=bad_ipv6
/ipv6 firewall filter
add action=accept chain=input comment=\
    "defconf: accept established,related,untracked" connection-state=\
    established,related,untracked
add action=drop chain=input comment="defconf: drop invalid" connection-state=\
    invalid
add action=accept chain=input comment="defconf: accept ICMPv6" protocol=\
    icmpv6
add action=accept chain=input comment="defconf: accept UDP traceroute" port=\
    33434-33534 protocol=udp
add action=accept chain=input comment=\
    "defconf: accept DHCPv6-Client prefix delegation." dst-port=546 protocol=\
    udp src-address=fe80::/10
add action=accept chain=input comment="defconf: accept IKE" dst-port=500,4500 \
    protocol=udp
add action=accept chain=input comment="defconf: accept ipsec AH" protocol=\
    ipsec-ah
add action=accept chain=input comment="defconf: accept ipsec ESP" protocol=\
    ipsec-esp
add action=accept chain=input comment=\
    "defconf: accept all that matches ipsec policy" ipsec-policy=in,ipsec
add action=drop chain=input comment=\
    "defconf: drop everything else not coming from LAN" in-interface-list=\
    !LAN
add action=accept chain=forward comment=\
    "defconf: accept established,related,untracked" connection-state=\
    established,related,untracked
add action=drop chain=forward comment="defconf: drop invalid" \
    connection-state=invalid
add action=drop chain=forward comment=\
    "defconf: drop packets with bad src ipv6" src-address-list=bad_ipv6
add action=drop chain=forward comment=\
    "defconf: drop packets with bad dst ipv6" dst-address-list=bad_ipv6
add action=drop chain=forward comment="defconf: rfc4890 drop hop-limit=1" \
    hop-limit=equal:1 protocol=icmpv6
add action=accept chain=forward comment="defconf: accept ICMPv6" protocol=\
    icmpv6
add action=accept chain=forward comment="defconf: accept HIP" protocol=139
add action=accept chain=forward comment="defconf: accept IKE" dst-port=\
    500,4500 protocol=udp
add action=accept chain=forward comment="defconf: accept ipsec AH" protocol=\
    ipsec-ah
add action=accept chain=forward comment="defconf: accept ipsec ESP" protocol=\
    ipsec-esp
add action=accept chain=forward comment=\
    "defconf: accept all that matches ipsec policy" ipsec-policy=in,ipsec
add action=drop chain=forward comment=\
    "defconf: drop everything else not coming from LAN" in-interface-list=\
    !LAN
/system clock
set time-zone-name=Europe/Paris
/system identity
set name=JimRouter
/system logging
add prefix=-DHCP- topics=dhcp
add prefix="FW -" topics=firewall
add topics=bridge
/system note
set show-at-login=no
/system ntp client
set enabled=yes
/system ntp client servers
add address=ntp.midway.ovh
add address=chronos.univ-brest.fr
add address=chronos.espci.fr
/tool mac-server
set allowed-interface-list=LAN
/tool mac-server mac-winbox
set allowed-interface-list=LAN
/tool sniffer
set filter-interface=vlan832-internet

Switch (CRS305):
# jan/02/1970 19:28:21 by RouterOS 7.9
# software id = S7JD-AWF5
#
# model = CRS305-1G-4S+
# serial number = HEC08VZ852G
/interface bridge
add admin-mac=48:A9:8A:B1:86:B3 auto-mac=no comment=defconf name=bridge pvid=\
    20 vlan-filtering=yes
/interface ethernet
set [ find default-name=sfp-sfpplus1 ] auto-negotiation=no speed=2.5Gbps
/interface vlan
add interface=bridge name=vlan20-int vlan-id=20
/interface list
add name=WAN
add name=LAN
add name=MGMT
/interface wireless security-profiles
set [ find default=yes ] supplicant-identity=MikroTik
/ip hotspot profile
set [ find default=yes ] html-directory=hotspot
/port
set 0 name=serial0
/interface bridge port
add bridge=bridge comment=defconf disabled=yes frame-types=\
    admit-only-untagged-and-priority-tagged interface=ether1
add bridge=bridge comment=defconf frame-types=admit-only-vlan-tagged \
    interface=sfp-sfpplus1 pvid=832
add bridge=bridge comment=defconf interface=sfp-sfpplus2
add bridge=bridge comment=defconf interface=sfp-sfpplus3
add bridge=bridge comment=defconf frame-types=\
    admit-only-untagged-and-priority-tagged interface=sfp-sfpplus4 pvid=20
/interface bridge vlan
add bridge=bridge tagged=sfp-sfpplus2,sfp-sfpplus1,bridge vlan-ids=832
add bridge=bridge tagged=sfp-sfpplus2 vlan-ids=20
add bridge=bridge untagged=sfp-sfpplus4 vlan-ids=1
/interface list member
add interface=sfp-sfpplus1 list=LAN
add interface=sfp-sfpplus2 list=LAN
add interface=sfp-sfpplus3 list=LAN
add interface=sfp-sfpplus4 list=LAN
add interface=ether1 list=MGMT
/ip address
add address=192.168.1.5/24 comment=defconf interface=bridge network=\
    192.168.1.0
add address=192.168.88.5/24 interface=ether1 network=192.168.88.0
/ip dns
set servers=192.168.1.1
/ip traffic-flow
set interfaces=ether1
/system identity
set name=JimCore
/system note
set show-at-login=no
/system routerboard settings
set boot-os=router-os
/tool sniffer
set filter-interface=sfp-sfpplus2

« Modifié: 28 mai 2023 à 12:27:49 par Jimbo-77 »

pinomat

  • Abonné Orange Fibre
  • *
  • Messages: 207
  • THIONVILLE 57
Need Help ! - Conf CRS305 -> RB5009 - vlan/trunk....
« Réponse #7 le: 28 mai 2023 à 12:23:35 »
Là, j'avoue que je ne te suis pas. Je suis preneur d'un complément d'explication.
Pourquoi les paquets seraient détaggués ?
Je ne parle pas bien français quelques fois...

Je vais essayer de l'expliquer simplement (en espérant pas trop me planter). Si tu mets pvid=832 sur une interface (disons sfp1) et que tu branches un PC derrière :
1) Tous les paquets envoyés par le PC arrive sur le switch sans tag.
2) Le port va ajouter un tag 832 à les paquets reçus sur cette interface. Les paquets transiterons sur le VLAN 832.
3) Lorsque le switch transmet un paquet vers le PC, il va filtrer les paquets du VLAN 832 et supprimer le tag dès avant qu'il sorte de l'interface sfp1.

J'espère que c'est plus clair.

Jimbo-77

  • Abonné Sosh fibre
  • *
  • Messages: 90
  • La Madeleine (59)
Need Help ! - Conf CRS305 -> RB5009 - vlan/trunk....
« Réponse #8 le: 28 mai 2023 à 13:10:30 »
Je ne parle pas bien français quelques fois...

Je vais essayer de l'expliquer simplement (en espérant pas trop me planter). Si tu mets pvid=832 sur une interface (disons sfp1) et que tu branches un PC derrière :
1) Tous les paquets envoyés par le PC arrive sur le switch sans tag.
2) Le port va ajouter un tag 832 à les paquets reçus sur cette interface. Les paquets transiterons sur le VLAN 832.
3) Lorsque le switch transmet un paquet vers le PC, il va filtrer les paquets du VLAN 832 et supprimer le tag dès avant qu'il sorte de l'interface sfp1.

J'espère que c'est plus clair.
Le comportement que tu décris, ce n’est pas quand on est en admit-only-untagged-and-priority-tagged ?
J’ai cru comprendre que lorsqu’on est en tagged-only les paquets restent taggués.

pinomat

  • Abonné Orange Fibre
  • *
  • Messages: 207
  • THIONVILLE 57
Need Help ! - Conf CRS305 -> RB5009 - vlan/trunk....
« Réponse #9 le: 28 mai 2023 à 16:08:27 »
Le comportement que tu décris, ce n’est pas quand on est en admit-only-untagged-and-priority-tagged ?
J’ai cru comprendre que lorsqu’on est en tagged-only les paquets restent taggués.

Le frame-type filtre les paquets entrants dans le switch (ingress). Si tu configures un port avec un frame type à :
admit-all : Le port accepte tous les types de trames entrants (avec et sans VLAN)
admit-only-untagged-and-priority-tagged : le port accepte uniquement les trames sans VLAN (ou si c'est le VLAN 0 je crois)
admit-only-vlan-tagged : le port accepte uniquement les trames avec VLAN

Le PVID permet de définir à quel VLAN un port appartient. Si un port X appartient à un PVID Y, le port X devient membre de ce VLAN Y. Donc les paquets avec un VLAN Y seront de facto autorisés à sortir par ce port. Ensuite, les paquets entrants par le port X seront modifiés en accord avec ce PVID. Il y a peut-être une particularité si le paquet entrant est déjà taggué avec un VLAN Z, je pense qu'il pourrait être autorisé à entrer sans être modifier. Mais en pratique, cela ne devrait pas arriver dans une configuration "type" comme ce que tu veux faire. L'objectif est que seul les paquets avec un VLAN 832 passe par ce port, non ?

Jimbo-77

  • Abonné Sosh fibre
  • *
  • Messages: 90
  • La Madeleine (59)
Need Help ! - Conf CRS305 -> RB5009 - vlan/trunk....
« Réponse #10 le: 28 mai 2023 à 16:39:23 »
Le frame-type filtre les paquets entrants dans le switch (ingress). Si tu configures un port avec un frame type à :
admit-all : Le port accepte tous les types de trames entrants (avec et sans VLAN)
admit-only-untagged-and-priority-tagged : le port accepte uniquement les trames sans VLAN (ou si c'est le VLAN 0 je crois)
admit-only-vlan-tagged : le port accepte uniquement les trames avec VLAN

Le PVID permet de définir à quel VLAN un port appartient. Si un port X appartient à un PVID Y, le port X devient membre de ce VLAN Y. Donc les paquets avec un VLAN Y seront de facto autorisés à sortir par ce port. Ensuite, les paquets entrants par le port X seront modifiés en accord avec ce PVID. Il y a peut-être une particularité si le paquet entrant est déjà taggué avec un VLAN Z, je pense qu'il pourrait être autorisé à entrer sans être modifier. Mais en pratique, cela ne devrait pas arriver dans une configuration "type" comme ce que tu veux faire. L'objectif est que seul les paquets avec un VLAN 832 passe par ce port, non ?
Je comprends bien ton explication mais je comprends toujours pas pourquoi ils seront détaggués 😆.
Plus j’essaye de comprendre et je suis perdu 😁.

Pour répondre à ta question, le port sfp1 du CRS305 ne verra que les paquets en 832. Même s’il pourrait y en avoir avec d’autres vlan puisqu’il y a des vlan pour le téléphone et la tv.
Mais perso, il n’y a qu’interner qui m’intéresse.


yeocti

  • Abonné Sosh fibre
  • *
  • Messages: 211
  • Plougastel-Daoulas (29)
Need Help ! - Conf CRS305 -> RB5009 - vlan/trunk....
« Réponse #11 le: 28 mai 2023 à 18:33:27 »
Bonjour,

Voici une piste de configuration. J'ai considéré que la configuration était vierge.
En partant de la configuration par défaut, il faudra simplement modifier/supprimer certaines choses.

Par ailleurs, en l'absence de précisions dans le premier post, je considère les postulats suivants :
- Le LAN est sur le VLAN 20 et le réseau est 192.168.20.0/24
- Le Management se fait sur le VLAN 99 et le réseau est 192.168.99.0/24

L'adresse IP du switch sera 192.168.99.253.
L'adresse IP du routeur sera : 192.168.99.254

Je n'ai pas forcément respecté le nom de tes interfaces ni ton plan d'adressage.
La configuration présentée ci-dessous constitue surtout un début de solution.
J'espère ne pas avoir fait trop d'erreur de copié-collé (oui, je suis flemmard).


Configuration du CRS305

Je considère que la configuration est vierge, comme si la commande suivante avait été lancée.
/system/reset-configuration no-defaults=yes

On commence par créer le bridge sur lequel on ajoute tous les ports SFP. Dans un premier temps, le bridge vlan filtering n'est PAS activé.
Le port ethernet qui sert à l'administration reste en dehors afin de conserver l'accès en cas de problème.
/interface bridge
    add name=bridge disabled=no auto-mac=yes protocol-mode=rstp;
    :local bMACIsSet 0;
    :foreach k in=[/interface find where !(slave=yes   || passthrough=yes   || name~"bridge")] do={
        :local tmpPortName [/interface get $k name];
        :if ($bMACIsSet = 0) do={
            :if ([/interface get $k type] = "ether") do={
            /interface bridge set "bridge" auto-mac=no admin-mac=[/interface get $tmpPortName mac-address];
            :set bMACIsSet 1;
            }
        }
        :if (([/interface get $k type] != "ppp-out") && ([/interface get $k type] != "lte")) do={
            /interface bridge port
            add bridge=bridge interface=$tmpPortName comment=defconf;
        }
   }

Ensuite, on crée une interface MGMT sur le VLAN 99 qui servira à administrer le switch.
Ainsi, on aura toujours accès au switch lorsque le bridge vlan filtering sera activé.
/interface vlan add interface=bridge name=MGMT vlan-id=99

On attribue une IP à l'interface précedemment créée ainsi qu'au port ether1.
/ip address add address=192.168.99.253/24 interface=MGMT network=192.168.99.0
/ip address add address=192.168.88.5/24 interface=ether1 network=192.168.88.0

Ensuite, on configure les VLANs.
- Sur le port SFP1, on accepte uniquement les paquets tagués avec le VLAN 832 ;
- Sur le port SFP2, on accepte les paquets tagués avec le VLAN 20, le VLAN 99 ou le VLAN 832 ;
    - Avoir le VLAN 99 sur ce port permet l'administration depuis le LAN.
- Sur le port SFP4, on accepte uniquement les paquets tagués avec le VLAN 20 (éventuellement 99 si cette patte du LAN doit pouvoir administrer le switch).

Le fait de taguer le bridge permet au CPU (et donc à l'interface correspondante) d'avoir accès aux paquets.
Sur les ports tagués, le PVID reste à 1. Ce VLAN n'existant pas, les paquets seront rejetés.
/interface bridge vlan add bridge=bridge tagged=sfp-sfpplus1,sfp-sfpplus2 vlan-ids=832
/interface bridge vlan add bridge=bridge tagged=sfp-sfpplus2,sfp-sfpplus4 vlan-ids=20
/interface bridge vlan add bridge=bridge tagged=bridge,sfp-sfpplus2 vlan-ids=99

/interface bridge port add bridge=bridge frame-types=admit-only-vlan-tagged interface=sfp-sfpplus1
/interface bridge port add bridge=bridge frame-types=admit-only-vlan-tagged interface=sfp-sfpplus2
/interface bridge port add bridge=bridge frame-types=admit-only-vlan-tagged interface=sfp-sfpplus4

On configure les switch rules pour mettre la CoS à 6.
Le port correspond au port sur lequel arrivent les paquets. Ici, les paquets arrivent du routeur, donc sur sfp-sfpplus2.
/interface ethernet switch rule add comment="Orange - Set CoS6 on ARP request" mac-protocol=arp new-vlan-priority=6 ports=sfp-sfpplus2 switch=switch1 vlan-id=832
/interface ethernet switch rule add comment="Orange - Set CoS6 on DHCPv4 request" dst-port=67 mac-protocol=ip new-vlan-priority=6 ports=sfp-sfpplus2 protocol=udp switch=switch1 vlan-id=832
/interface ethernet switch rule add comment="Orange - Set CoS6 on DHCPv6 request" dst-port=547 mac-protocol=ipv6 new-vlan-priority=6 ports=sfp-sfpplus2 protocol=udp switch=switch1 vlan-id=832
/interface ethernet switch rule add comment="Orange - Set CoS6 on ICMPv4 request" mac-protocol=ip new-vlan-priority=6 ports=sfp-sfpplus2 protocol=icmp switch=switch1 vlan-id=832
/interface ethernet switch rule add comment="Orange - Set CoS6 on ICMPv6 request" mac-protocol=ipv6 new-vlan-priority=6 ports=sfp-sfpplus2 protocol=icmp switch=switch1 vlan-id=832

Cette configuration se limite à configurer une interface de management, le bridge et les VLAN associés.
Le switch n'a pas internet, n'est pas sécurisé, etc etc. C'est à faire.

Configuration du RB5009

Je considère que la configuration est vierge, comme si la commande suivante avait été lancée.
/system/reset-configuration no-defaults=yes

On commence par créer le bridge sur lequel on ajoute tous les ports ethernet et le sfp1. Dans un premier temps, le bridge vlan filtering n'est PAS activé.
Attention, tous les ports ethernet sont dans le bridge. Je n'ai prévu aucun port ethernet pour l'administration en cas de problème.
/interface bridge
    add name=bridge disabled=no auto-mac=yes protocol-mode=rstp;
    :local bMACIsSet 0;
    :foreach k in=[/interface find where !(slave=yes   || passthrough=yes   || name~"bridge")] do={
        :local tmpPortName [/interface get $k name];
        :if ($bMACIsSet = 0) do={
            :if ([/interface get $k type] = "ether") do={
            /interface bridge set "bridge" auto-mac=no admin-mac=[/interface get $tmpPortName mac-address];
            :set bMACIsSet 1;
            }
        }
        :if (([/interface get $k type] != "ppp-out") && ([/interface get $k type] != "lte")) do={
            /interface bridge port
            add bridge=bridge interface=$tmpPortName comment=defconf;
        }
   }

Ensuite, on crée les interfaces correspondantes aux VLANs, y compris une interface pour le management.
Ainsi, on aura toujours accès au routeur lorsque le bridge vlan filtering sera activé.
/interface vlan add interface=bridge name=vlan20-lan vlan-id=20
/interface vlan add interface=bridge name=MGMT vlan-id=99
/interface vlan add interface=bridge name=wan-oge-net vlan-id=832

On attribue une IP aux interfaces VLAN créées (sauf wan-oge-net qui obtiendra l'IP publique Orange via DHCP).
/ip address add address=192.168.99.254/24 interface=MGMT network=192.168.99.0
/ip address add address=192.168.20.254/24 interface=vlan20-lan network=192.168.20.0

Ensuite, on configure les VLANs.
- Sur le port SFP1, on accepte les paquets tagués avec le VLAN 20, le VLAN 99 ou le VLAN 832 ;
- Sur les ports ether1-8, les paquets seront tagués en entrée, détagués en sortie.
    - Il n'est pas nécessaire d'ajouter ces ports en untagged. Ils le seront automatiquement lorsque le PVID des ports sera configuré.

Le fait de taguer le bridge permet au CPU (et donc à l'interface correspondante) d'avoir accès aux paquets.
Sur les ports tagués, le PVID reste à 1. Ce VLAN n'existant pas, les paquets seront rejetés.
/interface bridge vlan add bridge=bridge tagged=bridge,sfp-sfpplus1 vlan-ids=20
/interface bridge vlan add bridge=bridge tagged=bridge,sfp-sfpplus1 vlan-ids=99
/interface bridge vlan add bridge=bridge tagged=bridge,sfp-sfpplus1 vlan-ids=832

/interface bridge port add bridge=bridge frame-types=admit-only-vlan-tagged interface=sfp-sfpplus1
/interface bridge port add bridge=bridge frame-types=admit-only-untagged-and-priority-tagged interface=ether1-8 pvid=20

Ensuite, on configure un serveur DHCP sur le LAN
/ip pool add name="dhcp-lan" ranges=192.168.20.100-192.168.20.200;
/ip dhcp-server add name=defconf address-pool="dhcp-lan" interface=vlan20-lan lease-time=30m disabled=no;
/ip dhcp-server network add address=192.168.20.0/24 gateway=192.168.20.254 dns-server=192.168.20.254;

Le client DHCP :
/ip dhcp-client option add code=60 name=vendor-class-identifier value=0x736167656d
/ip dhcp-client option add code=77 name=userclass value="0x2b46535644534c5f6c697665626f782e496e7465726e65742e736f66746174686f6d652e4c697665626f7833"
/ip dhcp-client option add code=90 name=authsend value="0x0*************************************************"

/ip dhcp-client add add-default-route=yes dhcp-options="clientid,oge - 60,oge - 77,oge - 90" interface=wan-oge-net

Cette configuration se limite à configurer le bridge et les VLAN associés ainsi que les interfaces pour les VLANs et le DHCP.
Il n'y a pas de pare-feu (ie. par ex. le VLAN 99 est accessible sans restriction depuis le VLAN 20 et vice-versa) et pas de sécurisation particulière. C'est à faire.

Finalisation

Une fois tout ceci fait, on peu activer le bridge vlan filtering sur le switch et le routeur.
Il sera toujours possible d'accéder au switch et au routeur via leur IP respective.

/interface/bridge/set "bridge" vlan-filtering=yes