Mikrotik CAPsMAN – jedno SSID, kilka sieci (VLAN)
W tym artykule z cyklu o Mikrotik CAPsMAN zaprezentujemy, w jaki sposób skonfigurować środowisko tak, aby rozgłaszając jedną sieć bezprzewodową (SSID) na podstawie adresu MAC klienta kierować go do odpowiedniego segmentu sieci (VLAN). Zrealizujemy scenariusz z przekazywaniem całego ruchu od klientów do CAPsMAN, będącego wyjściem do innych sieci oraz w trybie local forwarding – CAPsMAN odpowiedzialny jest jedynie za odpowiednie skonfigurowanie AP i przydzielenie klientowi VLAN id. Ruch od klientów będzie przekazywany z AP do routera brzegowego.
Do dzieła…
Kilka słów o VLAN
Zanim zaczniemy konfigurację, kilka słów wstępu dla osób niezapoznanych z technologią VLAN. Każda ramka ethernetowa z VLAN otrzymuje dodatkowy identyfikator z zakresu od 1-4095 (pole 12-bitowe), tzw. VLAN ID. Jest on nadawany przez administratora. Ramki z różnymi VLAN ID traktowane są jako ramki z osobnych sieci. Schemat blokowy przestawiający jak wygląda ramka z polem na VLAN ID jest na rys 1.
Gdy korzystamy z VLAN występują dwa typy portów access i trunk. Pierwszy, to tak zwane ramki nietagowane. Do takich portów podłączane są m.in komputery, drukarki, kamery. Urządzenia nie muszą posiadać funkcjonalności „rozumienia” czym są VLANy. Porty trunk, to porty gdzie ramki są otagowane, tzn. posiadają znacznik VLAN ID. Porty trunk wykorzystujemy np. do połączenia pomiędzy przełącznikami, routerami czy access pointami.
Stosowanie technologii VLAN daje administratorom wiele korzyści. Najważniejszymi wydaje się oszczędność portów fizycznych oraz brak konieczności posiadania osobnych przełączników i tras kablowych dla każdego z segmentów sieci.
Czym jest Local forwarding
W pierwszym opublikowanym w ICT Jesień 2017 konfiguracja opierała się na scenariuszu, gdy cały ruch klientów był przekazywany z AP do CAPsMAN i następnie dalej. Local forward pozwala na przesłanie z kontrolera do AP konfiguracji modułu/ów radiowych oraz wskazanie, aby ruch od klientów był przesyłany z AP dalej wg jego tablicy routingu. Różnica w zasadzie działania jest pokazana na rys 2.
Konfiguracja local forwarding odbywa się w zakładce DataPath (Rys 3) – opcja Local Forwarding
Access List
W opisywanych scenariuszach przypisanie hasła PSK (dedykowanego dla każdego z klientów) oraz skierowanie go do odpowiedniego VLAN będzie realizowane poprzez Access List. Alternatywnie w większych środowiskach warto rozważyć wykorzystanie do centralizacji serwera Radius (np. Mikrotik UserManager, freeRadius, Microsoft Network Policy Server – NPS)
Opis środowiska
Adresacja:
▪ WAN – jesteśmy klientem DHCP
▪ CAPSMAN (połączenie Access Point’ów z kontrolerem) – 172.16.1.0/24
▪ Sieci, w których pracują klienci WiFi – 192.168.101.0/24 (vlan101), 192.168.102.0/24 (vlan102)
Urządzenia:
▪ CAPsMAN – Mikrotik RB750GR3
▪ AP1, AP2, AP3 – Mikrotik RB952Ui-5ac2nD (posiada dwa moduły radiowe 2.4GHZ i 5GHz)
Konfiguracja AP (wspólna dla obu realizowanych scenariuszy)
- Usuwamy dotychczasową konfigurację z naszych urządzeń
/system reset-configuration no-defaults=yes - Ustawienie nazw na poszczególnych urządzeniach (AP1, AP2, AP3)
/system identity set name=AP[X] - Zmiana hasła dostępowego do urządzeń. Domyślnie Mikrotik posiada konto login=admin, hasło = “<>”, należy je zmienić
/user set admin password=twoje-hasło - Ustawienie adresów IP (na każdym AP po jednym wpisie)
/ip address add interface=ether2 address=172.16.1.2/28 #AP1
/ ip address add interface=ether2 address=172.16.1.3/28 #AP2
/ ip address add interface=ether2 address=172.16.1.4/28 #AP3
Konfiguracja CAPsMAN (local forwrding = OFF)
- Usuwamy dotychczasową konfigurację z naszych urządzeń
/system reset-configuration no-defaults=yes - Ustawienie nazw na poszczególnych urządzeniach
/ system identity set name=CAPsMAN - Domyślnie Mikrotik posiada konto login=admin, hasło = “<>”, należy je zmienić
/user set admin password=twoje-hasło - Uruchomienie klienta DHCP na porcie WAN
/ip dhcp-client add interface=ether1 disabled=no - Konfiguracja bridge’a do połączenia CAPsMAN z AP
/interface bridge add name=bridge_admin
/ interface bridge port add bridge=bridge_admin interface=ether2
/ interface bridge port add bridge=bridge_admin interface=ether3
/ interface bridge port add bridge=bridge_admin interface=ether4 - Ustawienie adresu IP na interfejsie bridge_admin
/ ip address add interface=bridge_admin address=172.16.1.1/24 - Dodanie interfejsu bridge bridge_CAPsMAN
/interface bridge add name=bridge_CAPsMAN - Dodanie src-nat (aby zapewnić dostęp klientom sieci WiFi do Internetu)
/ip firewall nat add chain=srcnat out-interface=ether1 action=masquerade - Dodanie interfejsów typu VLAN wskazując VLAN id i, jako interfejs wskazanie Bridge_CAPsMAN
/interface vlan add interface=bridge_CAPsMAN vlan-id=101 name=vlan101
/interface vlan add interface=bridge_CAPsMAN vlan-id=102 name=vlan102
- Dodanie adresów IP na interfejsach VLAN
/ip address add address=192.168.101.1/24 interface=vlan101 network=192.168.101.0
/ip address add address=192.168.102.1/24 interface=vlan102 network=192.168.102.0 - Uruchomienie serwera DHCP na vlan101, vlan102
/ip pool add name=dhcp_pool0 ranges=192.168.101.100-192.168.101.199
/ip pool add name=dhcp_pool1 ranges=192.168.102.100-192.168.102.199
/ip dhcp-server add address-pool=dhcp_pool0 disabled=no interface=vlan102 name=dhcp1
/ip dhcp-server network add address=192.168.102.0/24 gateway=192.168.102.1
/ip dhcp-server add address-pool=dhcp_pool1 disabled=no interface=vlan101 name=dhcp2
/ip dhcp-server network add address=192.168.101.0/24 gateway=192.168.101.1 - Konfigurację usługi CAPsMAN należy przeprowadzić dokładnie tak jak w pkt 9 artykułu z poprzedniego numeru
- Konfigurację PSK i przynależność do VLAN id dla poszczególnych klientów dokonujemy w zakładce CAPsMAN-> Access List
/caps-man access-list add action=accept disabled=no mac-address=34:02:33:A5:A7:11 private-passphrase=12345678 ssid-regexp=”” vlan-id=101 vlan-mode=use-tag
/caps-man access-list add action=accept disabled=no mac-address=D0:FF:45:68:2F:1D private-passphrase=87654321 ssid-regexp=”” vlan-id=102 vlan-mode=use-tag
Konfiguracja AP (local forwarding = OFF) (AP1, AP2, AP3)
Ostatnim krokiem jest weryfikacja, czy klienci trafiają do odpowiedniego VLAN. Najprościej sprawdzić to obserwując z jakiej sieci klienci otrzymują adres IP.
/interface wireless cap set interfaces=wlan1,wlan2 caps-man-addresses=172.16.1.1 enabled=yes
Konfiguracja CAPsMAN (local forwarding = ON)
W tym scenariuszu ruch od klientów nie będzie przekazywany do kontrolera CAPsMAN. Interfejsy CAP będą stanowić część bridge trunk na routerze brzegowym. Ruch od klientów będzie przekazywany na zewnątrz, zgodnie z konfiguracją routera brzegowego.
Aby skonfigurować taki scenariusz na kontrolerze, w zakładce data path należy zaznaczyć opcję local forwarding (uwaga: w tym przypadku nie wskazujemy interfejsu typu bridge). Wskazanie bridge będziemy robić bezpośrednio na AP w oknie Wierless -> CAP.
- Dodajemy interfejs bridge o nazwie bridgeWLAN
/interface bridge add name=bridgeWLAN
Konfigurujemy AP (local forwarding = ON)
2. Konfiguracja CAPsMAN datapath
Pozostałe ustawienia kontrolera pozostawiamy bez zmian względem local forwarding = OFF.
Konfigurujemy routera brzegowego (local forwarding = ON)
Na koniec zostało jeszcze skonfigurowanie routera brzegowego. Router brzegowy należy skonfigurować tak aby zapewnić z niego dostęp dla klientów do sieci Internet i innych naszych sieci. Ze względów na ograniczenia objętości artykułu ominiemy tą część, a w szczegółach omówimy konfigurację związaną z VLAN.
Na koniec został test. Aby potwierdzić, że wszystko działa poprawnie weryfikujemy, czy klienci mogą się podłączyć do sieci WLAN oraz, czy otrzymali adres zgodny z access-list na CAPsMAN.
Konfiguracja działającego środowiska
Na koniec zostało jeszcze skonfigurowanie routera brzegowego. Router brzegowy należy skonfigurować tak aby zapewnić z niego dostęp dla klientów do sieci Internet i innych naszych sieci. Ze względów na ograniczenia objętości artykułu ominiemy tą część, a w szczegółach omówimy konfigurację związaną z VLAN.
- Dodajemy bridge z trunk (będą to porty do podłączenia AP) – bridge_trunk_VLANs
- Dodajemy porty do bridge
/interface bridge port add bridge=bridge_trunk_VLANs interface=ether3
/interface bridge port add bridge=bridge_trunk_VLANs interface=ether4
/interface bridge port add bridge=bridge_trunk_VLANs interface=ether5 - Tworzymy interfejsy VLAN i umieszczamy je na interfejsie bridge
/interface vlan add interface=bridge_trunk_VLANs name=vlan101 vlan-id=101
/interface vlan add interface=bridge_trunk_VLANs name=vlan102 vlan-id=102 - Adresujemy interfejsy VLAN
/ip address add address=192.168.101.1/24 interface=vlan101
/ip address add address=192.168.102.1/24 interface=vlan102 - Tworzymy serwery DHCP dla poszczególnych VLAN (na interfejsach typu VLAN)
/ip dhcp-server add address-pool=dhcp_pool3 disabled=no interface=vlan102 name=dhcp1
/ip dhcp-server add address-pool=dhcp_pool4 disabled=no interface=vlan101 name=dhcp2
/ip dhcp-server network add address=192.168.1.0/24 gateway=192.168.1.1
/ip dhcp-server network add address=192.168.102.0/24 gateway=192.168.102.1
Na koniec został test. Aby potwierdzić, że wszystko działa poprawnie weryfikujemy, czy klienci mogą się podłączyć do sieci WLAN oraz, czy otrzymali adres zgodny z access-list na CAPsMAN.
Konfiguracja działającego środowiska
Zachęcamy do przetestowania środowiska samodzielnie. Pełne konfiguracje urządzeń są dostępne do pobrania na www.mwtc.pl/demo/capsman/art2
Piotr Wasyk