VLAN в MikroTik върху BTIDGE интерфейс

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

01

Имаме 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

02
03

Да укажем на бриджа да разпознава тегираните пакети. Грубо казано да включим VLAN филтрацията.

/interface bridge set bridge1 vlan-filtering=yes

04

Добавяне на портове към бриджа

Сега трябва да добавяме интерфейси към бриджа. За начало ще добавим интерфейсите 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

05
06

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

07

До тук имаме изграден бридж и към него добавени два интерфейса (порта). През тези портове трябва да минава маркиран (тегиран) трафик. Същия маркиран трафик ще премине и през бриджа bridge1. За да може да разпределяме трафика към VLAN10 и VLAN20 към бриджа трябва да създадем два виртуални интерфейса. В случая ще са VLAN10 и VLAN20

Изграждане на VLAN интерфейси

/interface vlan add interface=bridge1 name=vlan10 vlan-id=10 /interface vlan add interface=bridge1 name=vlan20 vlan-id=20

08
09

Забележете, двата VLAN-a са съответно с ID 10 и 20. Това указва, че ще се маркира TCP пакета за VLAN10 и VLAN20. Вече имаме всички интерфейси които са ни необходими. Ако погледнем схемата която имаме ще видим, че маркиран (тагнат) трафик трябва да има на портове ether2, ether3, bridge1. Унтагнати портове трябва да са ether4 и ether5. На тези два порта TCP пакета вече няма да е маркиран.

Дефиниране на VLAN10 и VLAN20

Трябва да укажем в кой 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

10
11

Имаме налични всички портове за да дефинираме 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

11a
11b
11c
11d

Дефиниране на портовете във VLAN10 и VLAN20

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

12

Имаме 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

13
14

Проверка на VLAN-овете

За целта ще дефинираме IP адреси на vlan10 и vlan20. След това на съшите интерфейси ще пуснем DHCP сървъри. Накрая ще накараме компютрите PCD1 и PCD2 да получат адреси от DHCP сървърите.

Назначаване на IP адреси на виртуалните интерфейси

/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

15
16
17

Стартиране на DHCP сървър на виртуалните интерфейси

/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

МТS

/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