RSS Feed

Mikrotik i konfiguracja wifi dla gości – część 1: rb w trybie routera

Grudzień 12, 2013 by 0verlord

Czasem przychodzą do nas znajomi/krewni/rodzina i chcą się na chwilę podpiąć do naszej sieci bezprzewodowej. W większości domowych zastosowań nie ma z tym problemów – podajemy hasło i już. Tym przypadkiem nie będziemy się zajmować 😉 W końcu mamy urządzenie sieciowe, które może wiele – Mikrotika.

Będziemy się zajmować rozwiązaniem firmowym albo rozwiązaniem dla ludzi, którzy nie chcą wpuszczać nikogo na stałe do swojej sieci domowej.

Jednym z takich przypadków jest np. sala konferencyjna, do której przychodzą ludzie spoza firmy, coś tam prezentują, potrzebują się dostać do swoich sieci czy do swojej poczty.
Ale nie powinni, i nie mogą mieć dostępu do reszty firmowego lanu.

Jak zapewne wiedzą posiadacze urządzeń typu Mikrotik, np. z serii 951Ui-2HnD albo 751Ui-2HnD, urządzenia te oferują dwa typy pracy: routera i bridge’a – czyli „tryb pomostu”.
W tej notce rozważymy jednak wariant prostszy w konfiguracji i zrozumieniu, tj. tryb routera.

UWAGA: wklejenie tak po prostu konfiguracji, którą pokazuję niżej raczej nic nie popsuje, a w niektórych przypadkach konfiguracji domyślnych może nawet zadziałać. Ten wpis nie jest dla tych, którzy szukają prostej recepty na konfigurację. Ale po niewielkich modyfikacjach wszystko powinno zadziałać jak należy.

Schemat ideowy tej konfiguracji jest pi*oko taki:

  [ router do netu ] 
          \---  [ lanu ] 
                    \--- [ mikrotik z wifi jako router ] 
                                 \--- ( ludzie, dużo ludzi)

Minusy takiej konfiguracji to dostęp do wifi dla ludzi – jedno hasło i wlezą wszędzie.
Możemy to oczywiście ograniczać, np. uruchamiając Mikrotika jako router, uruchamiając na nim NAT i korzystając z dobrodziejstw filtrowania ruchu po IP.

Ktoś przytomny zauważy, że przecież w ten sposób skomplikujemy sobie setup, bo oprócz odfiltrowania złych, trzeba wpuścić tez dobrych i zaczyna się kombinowanie. A potem zaczyna się bałagan.
Kolejnym minusem takiego konfiga jest podwójny NAT. Pierwszy na wifi, drugi na wyjściu. Czyli np. żegnajcie VOIPy. Dopuszczalne, ale ogólnie słabe.

Czyli lepszy schemat byłby taki:

  [ router do netu ]
         \--- [ lan ] --- [ wifi dla gosci ]
                  \--- [ wifi dla pracowników ]


Ktoś powie – banalne. Kupujemy dwa Mikrotiki, jeden konfigurujemy w trybie pomostu, zakładamy mocne hasło albo podpinamy do serwera Radiusa i wpuszczamy pracowników. Potem kupujemy drugiego, stawiamy go w trybie routera i filtrujemy we wszystkich kierunkach. Skuteczne, ale cóż za przerażające marnowanie zasobów ;-).
Lepiej pokazać kto wymiata i zrobić to na jednym urządzeniu.

Czyli będziemy realizować będziemy następujący scenariusz:

  1. stworzymy dwa interfejsy typu VirtualAP – nie będziemy używać interfejsu głównego (wlan1)
  2. stworzymy dwa interfejsy typu bridge – nazwiemy je bridge-local i bridge-remote
  3. dodamy serwer dhcp – żeby goście dostali adresację
  4. dodamy nat – żeby goście wyszli w świat. Raczej nie będą korzystali z VOIPów, więć podwójny nat raczej im nie zaszkodzi.
  5. nałożymy filtry, żeby goście nie rozleźli się po naszym lanie.


Nie użyjemy głównego interfejsu wifi (wlan1), ponieważ potrzebujemy dwie sieci wifi, które nie będą we wspólnym lanie. Gdybyśmy próbowali ten sam konfig zrobić na głównym i podrzędnym interfejsie wifi, RSTP natychmiast uzna naszą konfigurację za pętlę w sieci i rozłączy drugi interfejs radiowy. A na dwóch podrzędnych interfejsach już się taka sztuka uda.

Krok 1. tworzymy dwa ifejsy typu VirtualAp (oraz security-profile do nich, czyli osobna, hasła, osobne ssidy, itp).

Profile nazywają się „guest-wlan” i „firma-wlan” żeby się potem nie pogubić w tej dość zawiłej konfiguracji. Hasła to odpowiednio: DlaObcych i DlaZiemian.

/interface wireless security-profiles
add authentication-types=wpa-psk,wpa2-psk management-protection=allowed mode=dynamic-keys name=guest-wlan supplicant-identity=MikroTik wpa-pre-shared-key=DlaObcych wpa2-pre-shared-key=DlaObcych
add authentication-types=wpa-psk,wpa2-psk management-protection=allowed mode=dynamic-keys name=firma-wlan supplicant-identity=MikroTik wpa-pre-shared-key=DlaZiemian wpa2-pre-shared-key=DlaZiemian

potem czyścimy główny interfejs wlan1 z SSIDa:
/interface wireless
set [ find default-name=wlan1 ] band=2ghz-b/g/n channel-width=20/40mhz-ht-above country=russia disabled=no distance=indoors frequency=2462 ht-rxchains=0,1 ht-txchains=0,1 l2mtu=2290 mode=ap-bridge ssid="" wireless-protocol=802.11

i dodajemy dwa nowe, slave’y:

/interface wireless
add disabled=no l2mtu=2290 mac-address=D6:CA:6D:A8:0C:7C master-interface=wlan1 name=firma-virtual-ap security-profile=firma-wlan ssid=wifi-firmowa wds-default-bridge=bridge-local
add disabled=no l2mtu=2290 mac-address=D6:CA:6D:A8:0C:7B master-interface=wlan1 name=guest-virtual-ap security-profile=guest-wlan ssid=wifi-guest wds-default-bridge=bridge-local

Krok 2.tworzymy dwa bridge, -local i -remote, które później wykorzystamy go magii sieciowej:

/interface bridge
add admin-mac=D4:CA:6D:A8:0C:77 auto-mac=no name=bridge-local protocol-mode=rstp
add l2mtu=1598 name=bridge-remote
/interface bridge port
add bridge=bridge-local interface=ether2-master-local
add bridge=bridge-local interface=guest-virtual-ap
add bridge=bridge-remote interface=ether1-gateway
add bridge=bridge-remote interface=firma-virtual-ap

do bridge-local dodaję także lokalne ethernety. Urządzenia z serii (7,9)51 mają kilka portów ethernetowych do wykorzystania.
Natomiast cała magia jest w pogrubionych linijkach – tutaj dodajemy firmową sieć wifi do bridga do naszego lanu firmowego. A ponieważ to urządzenie w L2 – przeniesie nam dhcp. A ruch wychodzący zamaskaraduje nam NAT na bridge-remote, który nałożymy w kroku 4.

Krok 3. dodamy serwer DHCP.

Dodamy go dla gości, i tylko dla gości. DHCP w naszej sieci firmowej (mamy je prawda?) zapewnia inny serwer, tj. albo nasz router, albo nasz serwer AD, albo nasz inny serwer zapewniający DHCP.

/ip dhcp-server
add address-pool=default-dhcp disabled=no interface=bridge-local name=guest-server
/ip dhcp-server network
add address=192.168.88.0/24 comment="default configuration" dns-server=192.168.88.1 gateway=192.168.88.1

nie byłem tutaj oryginalny – po prostu użyłem domyślnej konfiguracji.

Żeby wszytko działało, musimy jeszcze dodać adresację do interfejsu.

do głównego (teraz to bridge-remote, który spina ether1-gateway i wlan firmowy) – można włączyć dhcp, albo po prostu ustawić statycznie (w tym drugim przypadku należy pamiętać o dodaniu default route) oraz adresacji dla slave (dałem spójne z poprzednimi konfigami)

/ip address
add address=192.168.88.1/24 comment="default configuration" interface=bridge-local network=192.168.88.0

Krok 4. skoro mamy dhcp i interfejsy i wlany – dodajemy nat

/ip firewall nat
add action=masquerade chain=srcnat comment="default configuration" out-interface=bridge-remote to-addresses=0.0.0.0 src-address=192.168.88.0/24
</pre>

Ale dlaczego bridge-remote a nie ether1-gateway? Ano dlatego, że adresację, oraz nat konfigurujemy na bridgu, a nie na interfejsach podrzędnych.

Krok 5. a na koniec – odfiltrowujemy element niepożądany:

(jeżeli oczywiście nasza sieć firmowa ma adresacje 192.168.1.0/24)

/ip firewall filter
add action=drop chain=forward dst-address=192.168.1.0/24 src-address=192.168.88.0/24

A w kolejnym odcinku pokażę, jak to zrobić w druga stronę, tj. jeżeli MT jest w trybie bridge’a. To jest bardziej skomplikowane i zamotane i służy tylko do utrwalenia własnej manii wielkości ;-).


7 komentarzy »

  1. grzesiek napisał(a):

    Albo źle rozumiem Twoje intencje w kroku 3 masz błąd. Piszesz, że tworzysz DHCP dla gości z osadzasz go na ‚bridge-local’.

    • 0verlord napisał(a):

      no tak, bo bridge-local to jest bridge, w którym jest wirtualny ap dla gości, więc jakoś muszą dostać IP.
      Na bridge-remote dostajesz IP z dhcp z właściwej sieci. Ten setup zakłada, że wstawiasz AP, a nie że AP robi za router.

      Gdyby miał być routerem, to nie trzeba robić bridge-remote, tylko włączyć dhcp na tym bridgu.

  2. Radek napisał(a):

    Cześć.
    Nie łapię po co te kombinacje z bridge. Może mam inny router albo nie zrozumiałem do końca idei ale wydaje mi się, że można prościej:

    – VAP z nowym security profile (inne hasło itp.) na wlan2
    – dla wlan2 ustawiony adres z innej klasy niż LAN, u mnie 192.168.2.1/24
    – drugi DHCP z inną pulą dla interfejsu wlan2
    – usunięcie wlan2 z głównego bridge, który był wcześniej
    – regułka blokująca forward między LAN a tą nową siecią (tak samo jak u Ciebie).
    I działa prawidłowo.

    Widzisz tu jakieś błędy, niebezpieczeństwa, itp?

    • 0verlord napisał(a):

      pamiętam, że był z tym jakiś zgrzyt, chyba w niższych wersjach softu interfejsy zależne wpadały do tego samego bridge i się pętliło. Ale to było dawno temu, trzeba by zweryfikować tą hipotezę.
      Jeżeli tylko vap nie wpadnie w ten sam bridge to rzeczywiście, będzie łatwiej bez dodatkowych kombinacji i nie widzę żadnego niebezpieczeństwa.

  3. Radek napisał(a):

    Bo tak właśnie jest, domyślnie VAP wpada do tego samego bridge i trzeba go stamtąd usunąć.
    Przynajmniej u mnie, RB951Ui-2HnD, soft 6.31.

    • 0verlord napisał(a):

      ok, co prawda sporo po czasie, ale przypomniałem sobie, jaki był cel tych kombinacji – chodzi o to, że jeżeli mamy router, który robi też za AP to tak jak pisałeś – kombinacje nie mają większego sensu.
      Natomiast, ta sytuacja ma zastosowanie, jeżeli masz inny router z innym dhcp i musisz tam wpiąć w sieć AP.

      Natomiast z innych wynalazków, jest sobie Ubiquity UNIFY, w którym z poziomu kontrolera zaznacza się opcje trybu dla gości, i wtedy działa to tak, że co prawda dostaje się IP z zakresu sieci – ale filtry nie wpuszczają nawet do gatewaya, tylko wypuszczają do netu.

      Natomiast podsumowując: jak mamy router, który robi za AP – nie kombinujemy, robimy jak pisał Radek, jeżeli AP ma być gdzieś w środku sieci – to kombinujemy tak jak pisałem ja. 🙂

  4. Radek napisał(a):

    To ma sens, dzięki za info.

Dodaj komentarz

Twój adres email nie zostanie opublikowany. Pola, których wypełnienie jest wymagane, są oznaczone symbolem *

75 − = siedemdziesiąt