VLAN изграден върху BRIDGE интерфейс е още една разновидност за изграждане на виртуални мрежи в Mikrotik. Този вариант е по-иновативен и по-гъвкав спрямо предния вариант. Да започнем с не сложен пример.

Имаме 3 рутера. MTD ще играе ролята на рутер, а MTН и MTS ще играят ролята на суич. Няма да задълбаваме в цялата схема, а ще наблегнем на изграждането на VLAN-ове. PCH1, PCD1 и PCS1 са 3 компютъра принадлежащи на VLAN10 PCH2, PCD2 и PCS2 са 3 компютъра принадлежащи на VLAN20 Ще започнем с рутер MTD. - ether2, ether3 са тагнати портове. През тях трябва да се маркират пакетите от VLAN-овете. - ether4 и ether5 са унтагнати портове.
Първата стъпка е да създадем бридж.
/interface bridge add name=bridge1


Да укажем на бриджа да разпознава тегираните пакети. Грубо казано да включим VLAN филтрацията.
/interface bridge set bridge1 vlan-filtering=yes

Сега трябва да добавяме интерфейси към бриджа. За начало ще добавим интерфейсите ether2 и ether3. Забележете, те ще са във VLAN PVID:1. Това ще са тегирани портове (интерфейси).
/interface bridge port add bridge=bridge1 interface=ether2 pvid=1 /interface bridge port add bridge=bridge1 interface=ether3 pvid=1


Това беше за интерфейс ehter2. По същия начин добавяме в бриджа и интерфейс ether3. Крайния резултат трябва да се както на долната картинка.

До тук имаме изграден бридж и към него добавени два интерфейса (порта). През тези портове трябва да минава маркиран (тегиран) трафик. Същия маркиран трафик ще премине и през бриджа bridge1. За да може да разпределяме трафика към VLAN10 и VLAN20 към бриджа трябва да създадем два виртуални интерфейса. В случая ще са VLAN10 и VLAN20
/interface vlan add interface=bridge1 name=vlan10 vlan-id=10 /interface vlan add interface=bridge1 name=vlan20 vlan-id=20


Забележете, двата VLAN-a са съответно с ID 10 и 20. Това указва, че ще се маркира TCP пакета за VLAN10 и VLAN20. Вече имаме всички интерфейси които са ни необходими. Ако погледнем схемата която имаме ще видим, че маркиран (тагнат) трафик трябва да има на портове ether2, ether3, bridge1. Унтагнати портове трябва да са ether4 и ether5. На тези два порта TCP пакета вече няма да е маркиран.
Трябва да укажем в кой VLAN, кой интерфейс ще участва, кой порт ще е тагнат и кой унтагнат. Ще работим с VLAN-овете в бриджовете. За да разберем как работят VLAN-овете, да разкажем как ще премине TCP пакета създаден от PCD1. - генерираме стандартен TCP пакет от компютъра PCD1, - пакета отива до интерфейс ether4, - на ether4 пакета се модифицира и към него се добавя маркер, че се отнася за VLAN10 - пакета се обработва от бриджа bridge1 и маркиран се пренасочва към виртуалния интерфейс vlan10, - след това пакета ще замине или през ether2 или към ether3 маркиран, - примерно минава през ether2 и се насочва към ether1 на рутера MTH, - пакета все още ще маркиран и ще се посрещне от виртуален интерфейс в бриджа изграден в MTH, - след това все още маркирания пакет ще се предаде на бриджа на MTH, - от бриджа пакета ще се предаде на интерфейса eth2 на рутера MTH и там ще се размаркира, - размаркирания пакет ще пристигне до PCH1. От гореказаното в бриджа трябва да добавим и потове vlan10 и vlan20.
/interface bridge port add bridge=bridge1 interface=vlan10 pvid=10 /interface bridge port add bridge=bridge1 interface=vlan20 pvid=20


Имаме налични всички портове за да дефинираме VLAN трафика.
Добавихме виртуалните портове vlan10 и vlan20 към бриджа. За да работят правилно VLAN10 и VLAN20 трябва да добавим и портове ether4 и ether5. Съответно ще бъдат с ID 10 и 20.
/interface bridge port add bridge=bridge1 interface=ether4 pvid=10 /interface bridge port add bridge=bridge1 interface=ether5 pvid=20




Сега да трябва да укажем кои портове ще са тагнати и кои не в съответните VLAN-ове. Да проверим в bridge1 какви динамични VLAN-ове се дефинираха.

Имаме 3 динамични VLAN-a. Вълнуват ни VLAN с ID 10 и 20. На тези два VLAN-a имаме неправилно дефинирани тагнати и нетагнати портове. Да поправим VLAN-a с ID 10 и 20.
/interface bridge vlan add bridge=bridge1 tagged=ether2,ether3,bridge1 untagged=ether4 vlan-ids=10 /interface bridge vlan add bridge=bridge1 tagged=ether2,ether3,bridge1 untagged=ether5 vlan-ids=20


За целта ще дефинираме IP адреси на vlan10 и vlan20. След това на съшите интерфейси ще пуснем DHCP сървъри. Накрая ще накараме компютрите PCD1 и PCD2 да получат адреси от DHCP сървърите.
/ip address add address=10.0.0.1/24 interface=vlan10 network=10.0.0.0 /ip address add address=172.16.0.1/24 interface=vlan20 network=172.16.0.0



/ip pool add name=dhcp_pool10 ranges=10.0.0.12-10.0.0.21 /ip dhcp-server add address-pool=dhcp_pool10 disabled=no interface=vlan10 name=dhcp10 /ip dhcp-server network add address=10.0.0.0/24 gateway=10.0.0.1 /ip pool add name=dhcp_pool20 ranges=172.16.0.12-172.16.0.21 /ip dhcp-server add address-pool=dhcp_pool20 disabled=no interface=vlan20 name=dhcp20 /ip dhcp-server network add address=172.16.0.0/24 gateway=172.16.0.1
Накрая проверяваме дали PCD1 и PCD2 получават динамично IP от DHCP сървърите. В моя случай всико е наред. По аналогичен начин настройваме MTH и МТS. В крайна сметка трябва да можете да достъпвате всички устройства помежду си от съответните VLAN-ове. Примерно трябва да могат да се виждат помеду си PCH1, PCD1 и PCS1. Както и PCH2, PCD2 и PCS2.
/interface bridge add name=bridge1 vlan-filtering=yes /interface vlan add interface=bridge1 name=vlan10 vlan-id=10 add interface=bridge1 name=vlan20 vlan-id=20 /interface bridge port add bridge=bridge1 interface=ether1 add bridge=bridge1 interface=vlan10 pvid=10 add bridge=bridge1 interface=ether2 pvid=10 add bridge=bridge1 interface=vlan20 pvid=20 add bridge=bridge1 interface=ether3 pvid=20 /interface bridge vlan add bridge=bridge1 tagged=ether1,bridge1 untagged=ether2 vlan-ids=10 add bridge=bridge1 tagged=ether1,bridge1 untagged=ether3 vlan-ids=20
/interface bridge add name=bridge1 vlan-filtering=yes /interface vlan add interface=bridge1 name=vlan10 vlan-id=10 add interface=bridge1 name=vlan20 vlan-id=20 /interface bridge port add bridge=bridge1 interface=ether1 add bridge=bridge1 interface=vlan10 pvid=10 add bridge=bridge1 interface=ether2 pvid=10 add bridge=bridge1 interface=vlan20 pvid=20 add bridge=bridge1 interface=ether3 pvid=20 /interface bridge vlan add bridge=bridge1 tagged=ether1,bridge1 untagged=ether2 vlan-ids=10 add bridge=bridge1 tagged=ether1,bridge1 untagged=ether3 vlan-ids=20