В предната статия показахме как се изпълнява задачата при RouterOS версия 6. Тук ще покажем как се прави при RouterOS версия 7. Отново имаме локална мрежа и гости които не трябва да я виждат. Схемата на задачата ще представлява както долната картинка.

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




Ако се работеше през конзола то тогава командите ще са:
/ip dhcp-client add interface=ether1 name=client1
Да проверим какво получихме като настройки от доставчика на Интернет през конзолата.
/ip address/print Flags: D - DYNAMIC Columns: ADDRESS, NETWORK, INTERFACE, VRF # ADDRESS NETWORK INTERFACE VRF 0 D 192.168.11.90/24 192.168.11.0 ether1 main ip route/print Flags: D - DYNAMIC; A - ACTIVE; c - CONNECT, d - DHCP Columns: DST-ADDRESS, GATEWAY, ROUTING-TABLE, DISTANCE DST-ADDRESS GATEWAY ROUTING-TABLE DISTANCE DAd 0.0.0.0/0 192.168.11.1 main 1 DAc 192.168.11.0/24 ether1 main 0
По същия начин да проверим настройките за DNS.
/ip dns/print servers: dynamic-servers: 8.8.8.8 1.1.1.1 use-doh-server: verify-doh-cert: no doh-max-server-connections: 5 doh-max-concurrent-queries: 50 doh-timeout: 5s allow-remote-requests: no max-udp-packet-size: 4096 query-server-timeout: 2s query-total-timeout: 10s max-concurrent-queries: 100 max-concurrent-tcp-sessions: 20 cache-size: 2048KiB cache-max-ttl: 1w address-list-extra-time: 0s vrf: main mdns-repeat-ifaces: cache-used: 45KiB
За начало ще създадем локален бридж и към него ще дефинираме портовете които ще участват.



Дежурните команди през конзола.
/interface bridge add name=bridge1_work
За сега бриджа няма да го дефинираме да борави с маркирани пакети във VLAN.
Добавяме първия Ethernet интерфейс в бриджа.


Забележете, не променяме PVID. Оставяме го по подразбиране.

Това е крайния резултат. Продължаваме с другите Ethernet интерфейси.




Това са всички Ethernet интерфейси участващи в бриджа. Всички имат PVID: 1. Да видим командите през конзола.
/interface bridge port add bridge=bridge1_work interface=ether2 add bridge=bridge1_work interface=ether3 add bridge=bridge1_work interface=ether4 add bridge=bridge1_work interface=ether5
За да могат потребителите от групата WORK да ползват WiFi услугата ще се наложи интерфейсите ползващи WiFi да влязат също в бриджа.

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

Слагаме wlan2 отговарящ за 2.4GHz.

В локалния бридж имаме четири Ethernet интерфейса и два WiFi. На никой интерфейс не дефинирахме никакъв VLAN. Да видим командата през конзола.
/interface bridge port add bridge=bridge1_work interface=wifi1 add bridge=bridge1_work interface=wifi2 trusted-ra=yes
Отново по подразбиране интерфейса се дефинира във VLAN с ID: 1.
Поставихме двата WiFi интерфейса в бриджа но не са настроени. На практика клиентите не могат да се свързват с тях. За начало да определим какви пароли ще се ползват и типа на удостоверение. Ако искаме да имаме удостоверение на по-стари устройства то ще се наложи ползване на стандарта WPA2 PSK. Ако имате сравнително нови клиентски устройства то може да се ползва WPA3 PSK. Не е грешка да се включат и двата стандарта.


Managment Protection: allowed - дефинираме го защото ползваме WPA3 PSK. Ако имахме само WPA2 PSK то тогава тази опция е излишна. Passphrase - тук слагаме паролата която ще ползваме при връзка с WiFi.
Да погледнем командите които се ползват от конзола.
/interface wifi security add authentication-types=wpa2-psk,wpa3-psk disabled=no management-protection=\ allowed name=sec1_work passphrase=W1F1P@ss
Да настроим интерфейса работещ на 5GHz.




Продължаваме с интерфейса за 2.4GHz.



Забележете, ползваме Band: 2GHz AX. Това включва всички стандарти като B, G, N и т.н.

Да погледнем командите които се ползват от конзола.
/interface wifi set [ find default-name=wifi1 ] channel.band=5ghz-ax .width=20/40/80mhz \ configuration.country=Bulgaria .mode=ap .ssid=Work_5GHz name=wifi1_5GHz \ security=sec1_work set [ find default-name=wifi2 ] channel.band=2ghz-ax .width=20mhz \ configuration.country=Bulgaria .mode=ap .ssid=Work_2.4GHz name=wifi2_24GHz \ security=sec1_work
Забележете, двата WiFi интерфейса са дефинирани но не са активни. Да ги активираме.


Това са активирани интерфейси. И отново командата през конзола.
/interface/wifi/set wifi1_5GHz disabled=no /interface/wifi/set wifi2_24GHz disabled=no
Вече би трябвало клиентите да виждат WiFi мрежите със SSID Work_5GHz и Work_2.4GHz. Свързвайки се обаче с тях няма да получават IP, шлюз по подразбиране, DNS настройки и т.н. За тази цел на работния бридж е необходимо да се пусне DHCP сървър.
Първото нещо което ще направим е да дадем статично IP на локалния бридж.



Това е крайния резултат. Да създадем DHCP сървъра върху бриджа bridge1_work.







Обърнете внимание! За DNS сървър ще ползваме Mikrotik-a, който в момента настройваме. За да се изпълни това условие трябва да се настрои IP >> DNS.


Това е крайния резултат. Да видим и командите през конзолата.
/ip pool add name=dhcp_pool0 ranges=10.0.0.200-10.0.0.254 /ip dhcp-server add address-pool=dhcp_pool0 interface=bridge1_work name=dhcp1 /ip dhcp-server network add address=10.0.0.0/24 dns-server=10.0.0.1 gateway=10.0.0.1
Сега ако се помъчите да се свържете с някой клиент към някоя от WiFi мрежата, то ще имате достъп до локалните ресурси но няма да можете да излизате в Интернет.





Това е крайния резултат. Сега може през някой клиент да се вържем във WiFi мрежата и да излезем в Интернет. Има една особеност! Ако се сещате когато дефинирахме DHCP сървъра, казахме за DNS ще ползваме 10.0.0.1. За да се изпълни това условие трябва да оправим DNS-a на микротика.

Сега може да се пробва през клиента да се излезе в Интернет. Да погледнем командите през конзолата.
/ip firewall nat add action=masquerade chain=srcnat out-interface=ether1 src-address=\ 10.0.0.0/24 /ip dns set allow-remote-requests=yes
Сега си представете, че имате гости които искат да ползват Интернет. Ако дадете паролата от WiFi на локалната мрежа то всички ресурси намиращи се вътре ще са достъпни за гостите. Идеята е двете мрежи да са разделени една от друга но и двете да излизат в Интернет. Тъй като нямаме други физически WiFi интерфейси ще се наложи да ползваме виртуални такива.
Налага се да се създаде нов Security Profiles за да може гостите да имат различна парола от тези ползващи локалната мрежа за работа. Много често гостите ползват WiFi мрежата без да въвеждат парола. Нека и този случай да е такъв.


Не ползваме никаква криптация и никакви пароли за всички гости. Отново командите през конзола.
/interface wifi security add disabled=no name=sec2_guest
Започваме с виртуален интерфейс работещ на 5GHz.




Да създадем виртуален интерфейс за 2.4GHz.





Да погледнем командите в конзолата.
/interface wifi add configuration.mode=ap .ssid=Guest_5GHz datapath.vlan-id=20 disabled=no \ mac-address=D2:EA:11:A4:1A:06 master-interface=wifi1_5GHz name=\ wifi3_guest_5GHz security=sec2_guest add configuration.mode=ap .ssid=Guest_2.4GHz datapath.vlan-id=20 disabled=no \ mac-address=D2:EA:11:A4:1A:07 master-interface=wifi2_24GHz name=\ wifi4_guest_24GHz security=sec2_guest
За да има разделение на мрежата за гости и тази за работа ще се наложи виртуалния интерфейс да е в отделен VLAN. Тъй като имаме два виртуални интерфейса за 2.4GHz и за 5GHz ще се наложи да създадем бридж в който ще влязат виртуалните интерфейси.



Бриджа е създаден.
/interface bridge add name=bridge2_guest_vlan20 pvid=20 vlan-filtering=yes
Да създадем виртуален интерфейс върху бриджа.


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


Стандартните команди през терминал.
/interface vlan add interface=bridge2_guest_vlan20 name=vlan20 vlan-id=20
Да добавим в бриджа за гости виртуалните WiFi интерфейси.





Командите в терминал.
/interface bridge port add bridge=bridge2_guest_vlan20 interface=wifi3_guest_5GHz pvid=20 add bridge=bridge2_guest_vlan20 interface=wifi4_guest_24GHz pvid=20
Започваме с IP адреса на бриджа.



Продължаваме с DHCP сървъра.









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




Отново командите в терминал.
/ip firewall nat add action=masquerade chain=srcnat out-interface=ether1 src-address=\ 172.31.222.0/24
Може да се пробваме, през клиент да се включим във WiFi мрежата за гости. След това проба до Интернет. За сега нещата не стават. Има още работа за вършене.
До тук всичко сме направили но ако се помъчите да се вържете като гост ще установите, че не можете автоматично да получите IP, път по подразбиране и т.н. Това е така защото сме казали за виртуалните WiFi интерфейси wifi3_guest_5GHz и wifi4_guest_24GHz да използват VLAN 20. Да погледнем картинката с налични интерфейси.

А сега да редактираме VLAN-a в бриджа за гости.


Вече може да се провери дали гостите могат да излиза в Интернет през WiFi мрежата за гости. Командите през конзола.
/interface bridge vlan add bridge=bridge2_guest_vlan20 tagged=wifi3_guest_5GHz,wifi4_guest_24GHz \ untagged=bridge2_guest_vlan20 vlan-ids=20

За изпълнение на тази задача отново ще ползваме защитната стена на Mikrotik.






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

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

Това е крайния резултат. Простичко ограничение. Отново командите през терминал.
/queue simple add max-limit=5M/10M name=queue1_guest target=bridge2_guest_vlan20
Да покажем всички настройки сбито:
/interface bridge add name=bridge1_work add name=bridge2_guest_vlan20 pvid=20 vlan-filtering=yes /interface vlan add interface=bridge2_guest_vlan20 name=vlan20 vlan-id=20 /interface wifi security add authentication-types=wpa2-psk,wpa3-psk disabled=no management-protection=\ allowed name=sec1_work add disabled=no name=sec2_guest /interface wifi set [ find default-name=wifi1 ] channel.band=5ghz-ax .skip-dfs-channels=all \ .width=20/40/80mhz configuration.country=Bulgaria .mode=ap .ssid=Work_5GHz \ disabled=no name=wifi1_5GHz security=sec1_work set [ find default-name=wifi2 ] channel.band=2ghz-ax .width=20mhz \ configuration.country=Bulgaria .mode=ap .ssid=Work_2.4GHz disabled=no \ name=wifi2_24GHz security=sec1_work add configuration.mode=ap .ssid=Guest_5GHz datapath.vlan-id=20 disabled=no \ mac-address=D2:EA:11:A4:1A:06 master-interface=wifi1_5GHz name=\ wifi3_guest_5GHz security=sec2_guest add configuration.mode=ap .ssid=Guest_2.4GHz datapath.vlan-id=20 disabled=no \ mac-address=D2:EA:11:A4:1A:07 master-interface=wifi2_24GHz name=\ wifi4_guest_24GHz security=sec2_guest /ip pool add name=dhcp_pool0 ranges=10.0.0.200-10.0.0.254 add name=dhcp_pool1 ranges=172.31.222.220-172.31.222.254 /ip dhcp-server add address-pool=dhcp_pool0 interface=bridge1_work name=dhcp1 add address-pool=dhcp_pool1 interface=bridge2_guest_vlan20 name=dhcp2 /queue simple add max-limit=5M/10M name=queue1_guest target=bridge2_guest_vlan20 /interface bridge port add bridge=bridge1_work interface=ether2 add bridge=bridge1_work interface=ether3 add bridge=bridge1_work interface=ether4 add bridge=bridge1_work interface=ether5 add bridge=bridge1_work interface=wifi1_5GHz add bridge=bridge1_work interface=wifi2_24GHz trusted-ra=yes add bridge=bridge2_guest_vlan20 interface=wifi3_guest_5GHz pvid=20 add bridge=bridge2_guest_vlan20 interface=wifi4_guest_24GHz pvid=20 /interface bridge vlan add bridge=bridge2_guest_vlan20 tagged=wifi3_guest_5GHz,wifi4_guest_24GHz \ untagged=bridge2_guest_vlan20 vlan-ids=20 /ip address add address=10.0.0.1/24 interface=bridge1_work network=10.0.0.0 add address=172.31.222.1/24 interface=bridge2_guest_vlan20 network=\ 172.31.222.0 /ip dhcp-client add interface=ether1 name=client1 /ip dhcp-server network add address=10.0.0.0/24 dns-server=10.0.0.1 gateway=10.0.0.1 add address=172.31.222.0/24 dns-server=172.31.222.1 gateway=172.31.222.1 /ip dns set allow-remote-requests=yes /ip firewall filter add action=drop chain=forward in-interface=bridge1_work out-interface=\ bridge2_guest_vlan20 add action=drop chain=forward in-interface=bridge2_guest_vlan20 out-interface=\ bridge1_work /ip firewall nat add action=masquerade chain=srcnat out-interface=ether1 src-address=\ 10.0.0.0/24 add action=masquerade chain=srcnat out-interface=ether1 src-address=\ 172.31.222.0/24 /system clock set time-zone-name=Europe/Sofia
С това приключваме темата.