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 pełnej roli domowego routera.
Jeśli poszukujesz pomocy w konfiguracji MikroTika chętnie Ci pomogę. Oferuję profesjonalne usługi konfiguracji sprzętu sieciowego MikroTik w praktycznie dowolnym zakresie.
Więcej informacji TUTAJ.
A teraz już nie przedłużam i zapraszam do artykułu 🙂
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 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 portów 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 następnie wchodzimy w zakładkę 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 podłą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. Działa ona wyłącznie w ramach jednego bridge na raz (czyli jeżeli mamy kilka interfejsów bridge tylko jeden z nich może korzystać z „Hardware Offload”). 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 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 wykorzystać go 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ę puli oraz zakres adresów. Proponuję założyć że w sieci mogą pojawić się urządzenia na statycznych adresach IP (np. drukarka lub 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 też 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 lub w skrócie 24. 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 Cloudflare.
„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.
Należy teraz się wylogować z urządzenia i zalogować jako nowo utworzony user. Następnie ponownie wejść do 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 kolei 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 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 in-interface=br_lan out-interface=ether1 src-address=172.25.100.0/24 add action=accept chain=forward connection-nat-state=dstnat add action=drop chain=forward add action=accept chain=output add action=accept chain=input connection-state=established,related add action=accept chain=input icmp-options=8:0 protocol=icmp add action=accept chain=input icmp-options=3:4 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=drop chain=input
Opis:
- Zezwalamy na ruch forward dla połączeń już nawiązanych.
- Zezwalamy na ruch forward dla połączeń z sieci LAN.
- Zezwalamy na ruch forward dla możliwych przekierowań portów lub DMZ.
- Odrzucamy resztę ruchu forward.
- 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).
- Zezwalamy na ruch input dla połączeń już nawiązanych.
- Zezwalamy na zapytania ping.
- Zezwalamy na komunikaty ICMP o zbyt dużym rozmiarze pakietu (wymagającym fragmentacji).
- Zezwalamy na zapytania do usługi DNS na routerze z sieci LAN.
- Zezwalamy na inicjowanie połączeń do usługi winbox z sieci LAN.
- Odrzucamy resztę ruchu input.
Ktoś dociekliwy może się doczepić dlaczego w regule nr.2 nie ma określonego „connection state”. Wynika to z faktu że określając ten parametr MikroTik analizuje pakiet m. in. na podstawie flag TCP a niestety istnieją urządzenia które działają niezgodnie z standaryzacją tego protokołu co powoduje że niektóre z ich pakietów mogą zostać odrzucone ponieważ nie będą one pasowały do wymagań pakietu „new”. Dotyczy to wyłączenie ruchu forward (przechodzącego przez router), ruch input (wchodzący do routera) obejmujemy większymi restrykcjami definiując „connection state”. Osobiście nie spotkałem się z problemami wynikającymi z takiego podejścia.
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.
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.
Nasz domowy router MikroTik jest gotowy do pracy 🙂
Chciałbyś zobaczyć, jak wygląda konfiguracja w przypadku routera Cisco? Zobacz na NetAdminPro.