MikroTik jako router domowy – konfiguracja od podstaw

Każdy miał kiedyś ten moment że widział MikroTik’a po raz pierwszy i zaczynał przygodę z tą platformą. Jednak wiem z autopsji że dużo osób bierze się za konfigurację zaawansowanych funkcji nie dbając o podstawy. W tym artykule chcę opisać konfigurację MikroTik’a od wyjęcia go z pudełka do roli pełnego domowego routera.


Domyślna konfiguracja

Większość modeli Mikrotik’ów po wyjęciu z pudełka jest tak naprawdę skonfigurowane do pracy jako prosty router. Jednak korzystanie z niego ma kilka wad m.in. fasttrack który sztucznie podkręca wydajność urządzenia. Uniemożliwia on jednak korzystanie z np. ograniczania prędkości użytkownikom (kolejki), markowania ruchu, hostspot’a i wielu innych funkcji. Poza tym nie kupuje się Posche aby jeździć 50 w zabudowanym bojąc się nacisnąć jakikolwiek przycisk – mam tu na myśli że nie nauczymy się obsługi RouterOS’a bez znajomości co to jest np. bridge czy jak skonfigurować serwer dhcp. Jeśli ktoś chce router na zasadzie podłącze i działa to odsyłam do oferty np. TP-Link’a.

Reasumując gdy wyciągniemy router z pudełka włączmy go podłączmy się to jednego z portu LAN (na pudełku zwykle zawsze jest napisane które z portów domyślnie to LAN). Otwórzmy winbox’a i wyczyśćmy konfigurację „na czysto”. Łączymy się zatem do IP 192.168.88.1/24 Robimy to wchodząc w System->”Reset Configuration” i zaznaczamy aby reset był bez domyślnej konfiguracji oraz że nie chcemy backupu. Potwierdzamy operację i czekamy.

 

Po resecie urządzenie nie ma adresu IP więc łączymy się po adresie MAC z listy Neighbors. Login to admin a hasło pozostaje puste.

 

 

 


Konfiguracja sieci lokalnej

Bridge LAN

Po zalogowaniu pierwszą rzeczą jaką robimy to utworzenie bridge’a na którym stworzymy sieć LAN. Jest to wirtualny interfejs do którego połącza się inne interfejsy (ethernet, wifi, vlan, sfp) tak aby utworzyły jedną całość.

Aby to zrobić wchodzimy w zakładkę bridge w menu po lewej stronie i klikamy dodaj. W nowym oknie uzupełniamy tylko nazwę następnie przychodzimy do zakładki STP i zaznaczamy „Protocol Mode” na none.

 

 

 

 

 

Kolejnym krokiem jest przypisanie portów/interfejsów to utworzonego bridge’a. Zatem w otwartym wcześniej oknie bridge przechodzimy do zakładki Ports i klikamy dodaj. Wybieramy bridge oraz interfejs który chcemy do niego dodać. Należy zwrócić uwagę na pole „Hardware Offload”. Jest to funkcjonalność która pozwala na odciążenie użycia CPU poprzez obsługę części ruchu w ramach bridge’a przez switch chip. Włączenie opcji jest dobrym pomysłem przy prostych konfiguracjach. Opcja ta powinna się sama wyłączyć jeśli w konfiguracji inna opcja nie pozwala na obsługę ruchu przez switch chip. Jednak należy mieć na uwadze że w razie problemów dobrze jest ją wyłączyć na wybranych portach.

 

 

 


Adresacja IP

Kolejnym krokiem jest skonfigurowanie adresacji w sieci LAN oraz utworzenie serwera DHCP który automatycznie skonfiguruje urządzenia działające w sieci lokalnej.

Na początku wchodzimy w zakładkę IP w menu po lewej stronie winbox’a, wybieramy Addresses i klikamy dodaj. A polu Address wpisujemy adres IP który nasz router będzie miał po stronie LAN. Proponuję zastosować jakiś bardziej ambitny niż 192.168.1.1 ze względu że może tak być że taki adres dostaniemy na WAN naszego routera (np. przy założeniu że to będzie nasz drugi router w domu a router dostawcy nie ma możliwości zmiany puli adresacji czy ustawienia go „przeźroczyście”). Przykładowo użyjmy adresacji 172.25.100.0/24 umownie adres routera będzie pierwszym adresem w sieci czyli 172.25.100.1/24 interfejsem jest bridge lan czyli br_lan. Pole Network uzupełnia się automatycznie.

Bardzo ważne jest aby pamiętać że gdy jakiś interfejs jest dodany do bridge’a staje się jego częścią. Nie może być on już postrzegany jako osobny interfejs. Nie możemy już na nim podnieść adresu, wykorzystać w firewallu, wskazać jako interfejs dla serwera dhcp, itd. To wszystko robimy już na bridge’u do którego jest on dodany.

 


Serwer DHCP

Konfigurację serwera DHCP zaczynamy od konfiguracji puli adresów IP które ma on przydzielać. Robimy to w menu IP->Pool. Klikając dodaj w nowym oknie wpisujemy wybraną nazwę adres zakres adresów. Proponuję założyć że w sieci mogą pojawić się urządzenia w statycznych adresach IP (np. drukarka lub jakiś access point). Dlatego wpiszemy adresy 172.25.100.100-172.25.100.254 które będą przydzielane przez DHCP. Natomiast adresy 172.25.100.2-172.25.100.99 mogą być użyte statycznie.

 

Kolejnym krokiem jest utworzenie instancji samego serwera. W tym celu wchodzimy w menu IP->”DHCP Serwer” i klikamy dodaj. Uzupełniamy nazwę oraz interfejs na którym ma on działać. W polu Lease Time wpisujemy czas na jaki będzie przydzielany adres IP, myślę że przykładowy czas 6 godzin jest odpowiedni. Musimy tez wybrać wcześniej utworzoną pulę adresów w polu Address Pool.

 

 

 

 

 

 

Następnie w oknie „DHCP Server” przechodzimy do zakładki Networks gdzie podajemy konfigurację naszej sieci lokalnej.
W polu Address wpisujemy adres naszej sieci z maską (adres sieci to nie jest adres routera !). W polu Gateway wpisujemy adres który będzie bramą dla hostów w sieci LAN czyli adres routera od strony LAN. Pole Netmask to maska naszej sieci lokalnej czyli „255.255.255.0”. Założyłem również że serwerem DNS dla naszej sieci będzie nasz router. Czyli w polu DNS Server również wpisałem jego adres IP.

 

 

 

 

 


Serwer DNS

Temat serwera DNS można rozwiązać na dwa sposoby. Albo nasze urządzenia w sieci LAN będą korzystać bezpośrednio z zewnętrznego serwera DNS. Wtedy w konfiguracji sieci serwera DHCP w polu DNS Server wpisujemy jego adres np. 8.8.8.8. Natomiast bardziej optymalnym pomysłem jest wykorzystanie naszego routera jako serwer DNS dla naszej sieci lokalnej. Będzie to klasyczny cache DNS który gdy otrzyma zapytanie z LAN’u sprawdzi czy nie ma już takiej domeny w pamięci. Gdy jej nie ma wyśle zapytanie do zewnętrznego serwera i zapamięta odpowiedź przez określony czas. Zapamiętany rekord będzie dostępny dla innych hostów korzystających z tego serwera. Taka konfiguracja skraca czas oczekiwania na odpowiedź DNS.

My zastosujemy wariant z lokalnym DNS. Aby to zrobić wchodzimy w menu IP->DNS. W polu Servers wpisujemy adres serwera DNS z którego ma korzystać nasz MikroTik (polecam tutaj darmowy publiczny DNS Cloudflare dostępny pod adresem 1.1.1.1) oraz zaznaczamy opcję „Allow Remote Requests”.

 

 

 

 

 


Konfiguracja interfejsu WAN

Ze względu że ten artykuł ma pokazać najprostszą konfiguracja MikroTik’a pod domowy router zatem na interfejsie WAN będzie działał po prostu klient DHCP. Pobierze on adres i podstawowe dane od naszego dostawcy. Aby to zrobić wchodzimy w menu IP->”DHCP Client” i dodajemy nowego klienta. W nowym oknie wybieramy interfejs na którym ma działać klient. I to by w sumie wystarczyło jednak zaproponuję wyłączenie opcji „Use Peer DNS” i „Use Peer NTP” i już pisze dlaczego.

„Use Peer DNS” – ta opcja powoduje ze lokalny DNS routera będzie korzystał z serwerów które poda dostawca. Jednak takie serwery często mają swoje mankamenty, i statystycznie istnieje większe ryzyko awarii niż w firmach taki jak Google czy Clodflare. Także polecam wpisanie DNS takich jak:

„Use Peer NTP” – ta opcja powoduje że MikroTik będzie korzystał z serwera czasu podanego przez dostawcę (o ile ISP go poda). W mojej opinii nie ma sensu ponieważ systemy RouterOS korzystają z chmury MikroTik do synchronizacji czasu.

 


Konfiguracja NAT

Ostatnią z rzeczy „must have” to NAT czy Network Adres Translation. Ma on za zadanie obsłużyć fakt iż nasz router w Internecie jest widoczny pod jednym publicznym adresem a po swojej stronie lokalnej może mieć wiele urządzeń. W tym celu przechodzimy do menu IP->Firewall do zakładki NAT gdzie dodajemy nową regułę. W zakładce General jedyne co wpisujemy to „Src. Address” jako całą naszą sieć LAN czyli 172.25.100.0/24 oraz „Out. Interface” wybieramy nasze interfejs WAN.

 

 

 

 

 

 

 

Następnie przechodzimy do zakładki Action i wybieramy masquerade.

 

 

 

 


Firewall i zabezpieczenie routera

Nasz router jest już gotowy do obsługi ruchu. Natomiast jest kompletnie niezabezpieczony. Poniżej przestawię kilka ważnych aspektów zabezpieczenia routera i sieci LAN.

Zmiana domyślnego użytkownika i ustawienie hasła.

Podstawową sprawą jest ustawienie hasła logowania do naszego MikroTik’a. Proponuję również przy okazji otworzyć użytkownika o loginie innym niż admin. Aby to zrobić przechodzimy do menu System->Users i dodajemy nowego użytkownika. Uzupełniamy nazwę użytkownika a jako grupę wybieramy full. Warto również w polu „Allowed Address” wpisać adresy z których będzie można się zalogować jako ten użytkownik. Tutaj dla przykładu będą to wszystkie adresy z naszego LAN’u. Następnie wymyślamy silne hasło i zatwierdzamy.

Warto teraz się wylogować z urządzenia i zalogować jako nowo utworzony user. Następnie ponownie wejść to zarządzania użytkownikami i koniecznie usunąć użytkownika admin.

 

 


Konfiguracja IP Services

Kolejnym ważnym tematem jest konfiguracja tzw. serwisów czyli usług przez które można uzyskać dostęp do naszego MikroTik’a. Konfigurujemy je w menu IP->Services. W założeniu że nasz MikroTik ma być po prostu routerem domowym w zupełności wystarczy wyłączenie wszystkich z wyjątkiem winbox’a. Opcjonalnie możemy również dla każdego serwisu dopisać sieć z której ma być on dostępny.

 

 

 

 


Dostęp przez adres MAC

MikroTik domyślnie ma włączony tzw. mac server czyli funkcjonalność pozwalającą na logowanie się przez adres MAC z urządzenia w tej samej domenie rozgłoszeniowej. Jest to dobre rozwiązanie w przypadku sieci bardziej rozbudowanych jednak w przypadku sieci domowej jest ono niepotrzebne. Wyłączyć je możemy w menu Tools -> „MAC Server”.

 

Wchodząc po kolej w każdy z 3 rodzajów MAC server’a.

 

 

 

 

 

 

 

 

 

Dodatkowo proponuję wyłączyć tzw. „MikroTik Neighbor Discovery protocol” czyli protokół dzięki któremu urządzenia MikroTik badają swoje otoczenie i mogą zobaczyć sąsiednie urządzenia MikroTik. Jego włączenie powoduje też widoczność routera w programie winbox w liście Neighbors. Jednak w sieci domowej jest on niepotrzebny tym bardziej że wiemy jaki jest jego lokalny adres IP aby się z nim połączyć. W celu jego wyłączenia wchodzimy w menu IP->Neighbors następnie w „Discovery Settings” i wybieramy z listy none, checkbox obok listy rozwijalnej też musi być niezaznaczony.

 

 


Firewall

Firewall konfigurujemy w menu IP->Firewall w zakładce „Filter Rules”. Ze względu na dużą ilość reguł wkleję je w postaci konfiguracji przez konsolę. Jednak w RouterOS składnia konsoli jest praktycznie identyczna do nazw pól w winbox. Aby lepiej zrozumieć składnie firewalla zapraszam do opisu rodzajów i stanów połączeń.

/ip firewall filter
add action=accept chain=forward connection-state=established,related
add action=accept chain=forward connection-state=new in-interface=br_lan out-interface=ether1 src-address=172.25.100.0/24
add action=drop chain=forward
add action=accept chain=output
add action=accept chain=input icmp-options=8:0-255 protocol=icmp
add action=accept chain=input connection-state=new dst-address=172.25.100.1 dst-port=53 in-interface=br_lan protocol=udp src-address=172.25.100.0/24
add action=accept chain=input connection-state=new dst-address=172.25.100.1 dst-port=8291 in-interface=br_lan protocol=tcp src-address=172.25.100.0/24
add action=accept chain=input connection-state=established,related
add action=drop chain=input

Link do pliku

Opis:

  1. Zezwalamy na ruch forward dla połączeń już nawiązanych.
  2. Zezwalamy na ruch forward dla nowych połączeń z naszej sieci LAN.
  3. Odrzucamy resztę ruchu forward.
  4. Zezwalamy na ruch output (ta reguła nie jest wymagana ponieważ w MikroTik’u domyślną polityką jest accept jednak ja ją zawszę dodaję w celach porządkowych).
  5. Zezwalamy na zapytania ping.
  6. Zezwalamy na zapytania do usługi DNS na routerze.
  7. Zezwalamy na inicjowanie połączeń do usługi winbox.
  8. Zezwalamy na resztę połączeń w stanie już nawiązanym.
  9. Odrzucamy resztę ruchu input.

Można by się doczepić że ten przykład firewall’a jest zbyt szczegółowy. Przykładowo w większości przypadków nie spotkałem się aby w prostych zaporach podawać dst-address. Jednak wychodzę z założenia że reguły odpowiadające za bezpieczeństwo powinno się tworzyć z dbałością o szczegóły. Ponieważ po pierwsze wypracowuje się w sobie dobre nawyki, po drugie w mojej opinii powinno się dokładnie określać ruch jaki ma być dopuszczony do naszej sieci.


Konfiguracja sieci bezprzewodowej

Konfiguracja sieci bezprzewodowej to temat na osobny artykuł. Jednak aby nasz router mógł być pełnoprawnym urządzeniem domowym musi też rozgłaszać sieć WiFi.

Konfigurację zaczynamy wchodząc w menu Wireless i przechodzimy do zakładki „Security Profiles” gdzie dodajemy nową politykę. Wpisujemy nazwę profilu następnie w „Authentication Types” zostawiamy zaznaczoną tylko opcję „WPA2-PSK” i wpisujemy klucz zabezpieczeń sieciowych. Proponuję też zaznaczyć opcję „Disable PMKID”. Rozwiąże ona podatność na atak dla protokołu WPA2-PSK – więcej informacji na ten temat TUTAJ.

Jeżeli w naszej sieci mamy też starsze urządzenia może być koniecznie włączenie starszego szyfrowania WPA-PSK i/lub włączenie PMKID.

 

 

Następnie w oknie „Wireless Tables” przechodźmy do zakładki „WiFi Interfaces” i wchodzimy w interfejs Wi-Fi. W nowym oknie w zakładce Wireless zmieniamy Mode na „ap bridge” polecam też kliknąć w „Advanced Mode” po prawej stronie okna aby zobaczyć więcej opcji konfiguracji. Band ustawiamy na 2GHz-B/G/N. Szerokość kanału proponuję ustawić najpierw na 20MHz aby uzyskać teoretycznie lepszy zasięg do testów WiFi. Częstotliwość proponuję ustawić na kanał 1 lub 6 lub 11. Tabelka częstotliwość-kanał jest TUTAJ. Protokół ustawiamy jako 802.11. SSID to nazwa sieci naszej sieci WiFi. Jeżeli nie potrzebujemy funkcji WPS dobrze jest ją wyłączyć. Ostatnim elementem jest ustawienie kraju.