Представете си, че идват гости във фирмата и искат да ползват Интернет. Задачата в случая е, да получат услугата без да виждат ресурси от локалната мрежа. Грубо казано трябва да се разделят двете мрежи. Тази която е за гости да получава достъп до Интернет и нищо друго, а локалната да има достъп до Интернет и локалните ресурси, като мрежови принтери, скенери, сървъри и т.н. Схемата на задачата ще представлява както долната картинка.

Рутера ще е свързан към Интернет през ether1 и ще получава настройките си през DHCP клиент. На ether2 ще е свързан суич, а на него ще е цялата локална мрежа. Суича не е управляем. За пример към суича има вързани работна станция VPC3 и Server. На рутера има WiFi интерфейси. Те са настроени и работят като ap bridge. Стандартно когато се настройват WiFi интерфейси те по подразбиране са във VLAN ID: 1. Идеята е към хардуерните интерфейси, в случая wlan1 да създадем виртуален интерфейс с отделни настройки и работещ във VLAN ID: 20. Ще се постарая да покажа най-общите настройки на рутера Mikrtoik.
Връзката ще се изгради през порт ether1 и ще получава настройките си по DHCP клиент.



Ако се работеше през конзола то тогава командите ще са:
/ip dhcp-client add disabled=no interface=ether1
За начало ще създадем локален бридж и към него ще дефинираме портовете които ще участват.




За сега бриджа няма да го дефинираме в никакъв VLAN.

Ако трябваше да се работи през конзола то:
/interface bridge add name=bridge1_lan


Забележете, за сега в секцията VLAN нищо не дефинираме. Продължаваме нататък с другите интерфейси.




В локалния бридж слагаме и wlan1 интерфейса. Той отговаря за връзката по WiFi. Отново в секцията VLAN нищо не дефинираме.

Имаме wlan1 отговарящ за 2.4GHz и wlan2 работещ на 5GHz, затова интерфейсите са два.

В локалния бридж имаме четири Ethernet интерфейса и два WiFi. На никой интерфейс не дефинирахме никакъв VLAN. Да проверим все пак какво се получи.

По подразбиране интерфейса се дефинира във VLAN с ID: 1. Да проверим и за WiFi интерфейсите.

Както в горния случай. Отново командите в терминален режим.
/interface bridge port add bridge=bridge1_lan interface=ether2 add bridge=bridge1_lan interface=ether3 add bridge=bridge1_lan interface=ether4 add bridge=bridge1_lan interface=ether5 add bridge=bridge1_lan interface=wlan1 add bridge=bridge1_lan interface=wlan2
За да можете да правите връзка чрез WiFi то са необходими следните настройки.

Започваме с интерфейса работещ на 2.4GHz. Щтракаме два пъти с мишката върху самия интерфейс.


За сега обърнете внимание на полетата заградени в червено. Да дефинираме интерфейса отговарящ на 5GHz.



Двата интерфейса не са активни.



На двата интерфейса не дефинирахме полето отговарящо за защита на профила. Там трябва да се опише паролата за връзка и типа криптация. Да погледнем командите които се ползват от конзола.
/interface wireless set [ find default-name=wlan1 ] band=2ghz-b/g/n disabled=no frequency=auto \ mode=ap-bridge ssid=Work_2.4GHz set [ find default-name=wlan2 ] band=5ghz-n/ac disabled=no mode=ap-bridge \ ssid=Work_5GHz
Сега да дефинираме профила отговарящ за защитата на WiFi.

По подразбиране Mikrotik създава такъв профил и той се казва default. Отваряме го за поправка.

В профила указваме че ще се ползва динамичен ключ, ще ползваме криптация WPA2 PSK. В полето WPA2 Pre-Shared Key указваме паролата за WiFi. Да погледнем командите през конзола.
/interface wireless security-profiles set [ find default=yes ] authentication-types=wpa2-psk mode=dynamic-keys \ supplicant-identity=MikroTik wpa2-pre-shared-key="WiFiP@$$"
На практика можем да се връзваме към WiFi. Проблема е, че можем да боравим с ресурсите само от локалната мрежа. Да направим няколко поправки. Първо клиента автоматично да получава настройки по DHCP и след това да има достъп до Интернет.
DHCP сървъра ще е върху локалния бридж. За целта ще укажем статично IP на самия бридж.


Забележете, че вече имаме едно IP получено на ether1 от DHCP клиента. Натискаме върху бутна +, за да дефинираме ново.

IP адреса е 10.0.0.1 и е дефиниран върху интерфейса bridge1_lan.

Крайния резултат е както на горната картинка. Да видим командите през конзолата.
/ip address add address=10.0.0.1/24 interface=bridge1_lan network=10.0.0.0
Да дефинираме и самия DHCP сървър.









Сега всеки клиент който се върже към локалната мрежа ще получава автоматично настройки на мрежовия си интерфейс. Да погледнем командите ако работехме през конзола.
/ip pool add name=dhcp_pool0 ranges=10.0.0.200-10.0.0.254 /ip dhcp-server add address-pool=dhcp_pool0 disabled=no interface=bridge1_lan name=dhcp1 /ip dhcp-server network add address=10.0.0.0/24 gateway=10.0.0.1
Остава проблема с достъпа до Интернет. За целта ще редактираме защитната стена.


Ще маскираме трафика към Интернет за мрежа 10.0.0.0/24

Забележете ! Дефинирахме мрежа 10.0.0.0/24 която ще маскираме. Освен това указахме Out. Interface: ether1. Така точно определихме коя мрежа ще излиза в Интернет и през кой интерфейс. Всичко това е необходимо, защото на по-късен етап ще имаме втора мрежа за гости, която също ще трябва да излиза в Интернет.


Сега всички потребители от локалната мрежа ще могат да излизат в Интернет.
Сега си представете, че имате гости които искат да ползват Интернет. Ако дадете паролата от WiFi на локалната мрежа то всички ресурси намиращи се вътре ще са достъпни за гостите. Идеята е двете мрежи да са разделени една от друга но и двете да излизат в Интернет. Тъй като нямаме други физически WiFi интерфейси ще се наложи да ползваме виртуални такива.
Налага се да се създаде нов Security Profiles за да може гостите да имат различна парола от тези ползващи локалната мрежа за работа.


Забележете, нищо не дефинирахме вътре. Така гостите без парола ще се връзват към мрежата за гости. Ако пък искате и гостите да имат парола то погледнете по-горе как се дефинира Security Profiles: default. Командите от конзола.
/interface wireless security-profiles add name=guest_sec supplicant-identity=""



Няколко уточнения: Mode: ap bridge - виртуалния интерфейс ще работи в AP режим SSID: Guest_2.4GHz - името на WiFi за гости Master Interface: wlan1 - виртуалния интерфейс ще е върху wlan1 защото той е за 2.4GHz Security Profile: guest_sec - това ще е защитния профил за гости VLAN Mode: use tag - пакетите на този интерфейс ще се маркират, защото работната мрежа и мрежата за гости трябва да са разделени VLAN ID: 20 - виртуалния интерфейс ще бъде във VLAN 20

Крайния резултат е както в горната картинка. Командите в терминален режим.
/interface wireless add disabled=no keepalive-frames=disabled mac-address=CE:2D:E0:10:13:9E \ master-interface=wlan1 multicast-buffering=disabled name=wlan3_guest_24 \ security-profile=guest_sec ssid=Guest_2.4GHz vlan-id=20 vlan-mode=use-tag \ wds-cost-range=0 wds-default-cost=0 wps-mode=disabled
Виртуалния интерфейс за 5GHz.



Различното спрямо 2.4GHz е, използването на интерфейса за 5GHz Master Interface: wlan2
Отново командите за терминал.
/interface wireless add disabled=no keepalive-frames=disabled mac-address=CE:2D:E0:10:13:9D \ master-interface=wlan2 multicast-buffering=disabled name=wlan4_guest_5 \ security-profile=guest_sec ssid=Guest_5GHz vlan-id=20 vlan-mode=use-tag \ wds-cost-range=0 wds-default-cost=0 wps-mode=disabled
За да има разделение на мрежата за гости и тази за работа ще се наложи виртуалния интерфейс да е в отделен VLAN. Тъй като имаме два виртуални интерфейса за 2.4GHz и за 5GHz ще се наложи да създадем бридж в който ще влязат виртуалните интерфейси.



Това е крайния резултат. Имаме бридж за VLAN 20. Да създадем VLAN 20.


VLAN 20 е върху интерфейса bridge_vlan20 Да видим дали е така:


Да се върнем сега на бриджа за гости.

Ще добавим интерфейсите участващи в бриджа за гости.

Добавяме виртуалния WiFi интерфейс wlan3_guest_24 в бриджа за гости bridge_vlan20.

Виртуалния интефейс ще участва във VLAN 20. Да добавим виртуалния интерфейс за 5GHz.



Вътре в бриджа трябва да е интерфейса на самия VLAN.




Това е крайния резултат за портовете на бриджа за гости. Командите от терминал.
/interface bridge add name=bridge_vlan20 /interface vlan add interface=bridge_vlan20 name=vlan20 vlan-id=20 /interface bridge port add bridge=bridge_vlan20 interface=wlan3_guest_24 pvid=20 add bridge=bridge_vlan20 interface=wlan4_guest_5 pvid=20 add bridge=bridge_vlan20 interface=vlan20 pvid=20




Командире в терминал.
/ip address add address=172.31.222.1/24 interface=bridge_vlan20 network=172.31.222.0



Обърнете внимание кой интерфейс ползвате. Трябва да е бриджа за гости bridge_vlan20. Нататък няма да показвам снимките защото само се натиска бутона Next. Долната картинка е какво трябва да се получи.

Отново командите през терминал.
/ip pool add name=dhcp_pool1 ranges=172.31.222.2-172.31.222.254 /ip dhcp-server add address-pool=dhcp_pool1 disabled=no interface=bridge_vlan20 name=dhcp2 /ip dhcp-server network add address=172.31.222.0/24 gateway=172.31.222.1
Да пуснем Интернет на гостите. Това отново ще е през защитната стена.





Това е крайния резултат. Сега да покажем командите през конзола.
/ip firewall nat add action=masquerade chain=srcnat out-interface=ether1 src-address=\ 172.31.222.0/24
До тук всичко сме направили но ако се помъчите да се вържете като гост ще установите, че не можете автоматично да получите IP, път по подразбиране и т.н. Това е така защото сме казали за виртуалните WiFi интерфейси wlan3_guest_24 и wlan4_guest_5 да използват VLAN Mode: use tag. Грубо казано пакетите се маркират. DHCP сървъра работещ върху бридба за клиенти bridge_vlan20 работи с не маркирани пакети. Значи трябва да укажем във VLAN 20 кои интерфейси ще работят с маркирани пакети, а кои не. Да погледнем картинката с налични интерфейси.

Да опишем пътя на госта от връзката WiFi до интернет. Примерно се връзва на 5GHz. - Връзва се към виртуалния интерфейс wlan4_guest_5 - Продължава към виртуалния интерфейс vlan20 - Преминава към бриджа за гости bridge_vlan20 - Накрая се обръща към интерфейс ether1 и излиза в Интернет. От всичко казано до тук имаме маркирани пакети на wlan4_guest, vlan20 и накрая на бриджа за клиенти пакетите не трябва да са маркирани. Да оправим VLAN-a на бриджа, но първо да разрешим на бриджа VLAN филтрация.



Имаме динамичен създаден VLAN, на който всички портове са не маркирани. Да оправим този проблем.

Маркирани пакети ще имаме на интерфейси wlan4_guest_24, wlan4_guest_5 и vlan20. Включени са двата виртуални интерфейса за WiFi. Пакетите ще се размаркират на интерфейс bridge_vlan20 и ще излизат в Интернет.

Крайния резултат е както на горната картинка. Сега ако се вържете към WiFi като гост ще имате автоматично получаване на настройки за Интернет и ще можете да излизате към него. Остава обаче проблема с изолацията между гости и работещи в локалната мрежа. Преди да продължим да погледнем командите ако работехме в терминал.
/interface bridge set bridge_vlan20 pvid=20 vlan-filtering=yes /interface bridge vlan add bridge=bridge_vlan20 tagged=wlan3_guest_24,wlan4_guest_5,vlan20 untagged=\ bridge_vlan20 vlan-ids=20
За изпълнение на тази задача отново ще ползваме защитната стена на Mikrotik.







Това е крайния резултат. Работим малко грубичко защото ползвахме интерфейси, а не адресни пространства, но важна е идеята. Ако някой му се наложи друго правило то спокойно може да го открие в Интернет. Отново командите през терминал.
/ip firewall filter add action=drop chain=forward comment="Block WORK to GUEST" in-interface=\ bridge1_lan out-interface=bridge_vlan20 add action=drop chain=forward comment="Block GUEST to WORK" in-interface=\ bridge_vlan20 out-interface=bridge1_lan
Ако искате гостите да не запълват каналите на WiFi, то може да се ограничат по скорост. Един елементарен пример е ограничаване на бриджа за гости.


Гостите ще имат скорост на смъкване 10 MB, а на качване 5МB.

Това е крайния резултат. Простичко ограничение. Отново командите през терминал.
/queue simple add max-limit=5M/10M name=queue_guest target=bridge_vlan20
С това приключваме темата.