RouterOS nastavení trunk portů

RouterOS nastavení trunk portů
« kdy: 25. 08. 2020, 21:56:05 »
Zdravím, potřeboval bych poradit jak upravit nastavení VLAN na mikrotiku a to konkrétně trunk portů.
Původní nastavení na obrázku vlevo na VLAN vytvořený jako interface a přidány na port 1. Port2 je přidán do bridge s jednou z vlan.
Já bych, ale potřeboval vytvořit ještě jeden trunk port, který bude obsahovat část stejných vlan jako port 1 viz práva část obrázku. Ovšem netuším jak to správně na mikrotik routeru nastavit.
Nastavení ostatních zařízení je pro ilustraci zbytku topologie. Díky


Re:RouterOS nastavení trunk portů
« Odpověď #1 kdy: 26. 08. 2020, 07:30:14 »
Jestli správně rozumím dotazu, pak:
  • Nastavíte vlany na jednotlivých portech (místo na bridge) - tedy ether1 bude pod sebou mít
  • Založíte tolik bridgů, kolik vlan
  • Do každého bridge propojíte nikoliv celé ehter porty, ale podle potřeby jen příslušné vlan

Jinak dlužno poznamenat, že bridge je na lacinějších mikrotik routerech zabiják výkonu. Vše musí téct přes CPU.
Existují však modely, u kterých se dá navolit to, co požadujete, přímo v nastavení switche. Tady je tabulka switch chipů a modelů: https://wiki.mikrotik.com/wiki/Manual:Switch_Chip_Features.

M_D

Re:RouterOS nastavení trunk portů
« Odpověď #2 kdy: 26. 08. 2020, 08:50:51 »
Ano, takto udělané to bude vždy celé řešit CPU a je to metoda snad několik let mrtvá, ale stále funkční.
Udělám jeden bridge a do něj dám ether1 až ether4, pod bridge vlans vyjmenuji všechny VLANy, které se toho bridge týkají, určím na kterém portu je která přípustná, která je/není tagovaná na jednotlivých portech. Pokud daná VLANa má být pak v daném routeru i zpracovávaná na L3 a routováno do/z ní, tak ji přidám i na vlastní bridge a následně pod interface vlan jen pro tuto udělám vlan interface nad tím bridge, na to pak dávám IP, firewall pravidla atd.
Takto konfigurace způsobí, že router vše co jde, tak přenese do HW offloadingu a zbytek bude řešit CPU, to už bude záviset na schopnosti konkrétního modelu.

/interface bridge
add name=bridge-lan pvid=1 frame-types=admit-all
/interface bridge port
add bridge=bridge-lan interface=ether1
add bridge=bridge-lan interface=ether2
add bridge=bridge-lan interface=ether3
add bridge=bridge-lan interface=ether4
/interface bridge vlan
add bridge=bridge-lan untagged=ether1,ether2,ether3,ether4,bridge-lan vlan-ids=1
add bridge=bridge-lan tagged=ether1,ether3,ether4,bridge-lan vlan-ids=2
add bridge=bridge-lan tagged=ether1,ether3,bridge-lan vlan-ids=3
add bridge=bridge-lan tagged=ether3,ether4,bridge-lan vlan-ids=4
add bridge=bridge-lan tagged=ether3,ether4,bridge-lan vlan-ids=5
/interface vlan
add name=vlan2 interface=bridge-lan vlan-id=2
add name=vlan3 interface=bridge-lan vlan-id=3
add name=vlan4 interface=bridge-lan vlan-id=4
add name=vlan5 interface=bridge-lan vlan-id=5
/ip address
add address=192.168.1.1/24 interface=bridge-lan
add address=192.168.2.1/24 interface=vlan2
add address=192.168.3.1/24 interface=vlan3
add address=192.168.4.1/24 interface=vlan4
add address=192.168.5.1/24 interface=vlan5

Pokud některé VLAN má router jen přepouštět mezi porty na L2 úrovni, tak pro ně je /interface vlan ..., /ip ... zbytečné. Až toto bude fungovat, tak se daném bridge zapne filtrování VLAN, aby začal router vynucovat konkrétní vlany na dané porty (/interface bridge set bridge-lan ingress-filtering=yes vlan-filtering=yes). Zde obvykle dojde k propadu výkonu, protože hodně těch swich chipů má podporu pro VLANy, ale neumí v HW filtrování.

M_D

Re:RouterOS nastavení trunk portů
« Odpověď #3 kdy: 26. 08. 2020, 09:24:49 »
Jinak, jak vidím ještě ten obrázek, tak není uvedne typ, ale pokud je to nějaký ten malý pětiportovoý router, tak v základu je konfigurován tak, že ether1 je zapojen přímo do CPU a ether2-5 je zapojee do switch chipu, protože na ether1 je v základu očekáván WAN port, takže z něj stejně musí vše do CPU, přežvýká a vyplivne další linkou do switch chipu. Takže pokud chci zapojení portů dle obrázku, tak v menu switch switch1 volba switch all ports připojí i ether1 do switche. Tím ale veškerá komunikace mezi CPU a vším ostatním prochází jen jednou interní linkou, takže je lepší se udržet toho, že WAN je na ether1 a se switchem blbnu na ether2-5.
A pak ether2 je evidetně jako access port, takže vlany nežádoucí na něm, tak pak paranoik:
...
/interface bridge port
add bridge=bridge-lan interface=ether1
add bridge=bridge-lan interface=ether2 pvid=1 frame-types=admit-only-untagged-and-priority-tagged
add bridge=bridge-lan interface=ether3
...

Re:RouterOS nastavení trunk portů
« Odpověď #4 kdy: 27. 08. 2020, 10:36:26 »
M_D to píše naprosto správně, a ano metoda přes jeden bridge na jednu VLAN je dávno mrtvá, zůstala tam jen kvůli kompatibilitě.
Dodal bych ale; nenastavovat porty jako untagged v sekci /bridge/vlan, ale místo toho nastavit správné PVID portu v sekci /bridge/ports. Příslušný port pak spadne do nastavené VLAN jako untagged automaticky jakmile je ve stavu UP a nevznikne vám potenciální konflikt mezi kofigurací PVID a VLANy
Pokud totiž nastavíte nějaký port jako untagged v jedné VLAN třeba 10 a PVID z jiné VLAN třeba 20 , bude port dostávat všechny pakety které přijdou ve VLAN 10, ale odchozí komunikace bude markovaná do VLAN 20. Nehledě na to že vám mtik bez pindů povolí nastavit port jako untagged na více VLANách a to je pak o zábavu postaráno. Lepší je se statickému nastavení untagged úplne vyhnout.