Routery MikroTik z systemem RouterOS 7 dają nam bardzo szeroki wybór VPN. Mamy klasyki, które dzisiaj już praktycznie odeszły w stylu PPTP i L2TP, protokoły tunelujące w TLS (SSTP, OpenVPN), całą rodzinę IPsec, nowoczesnego WireGuarda, a do tego rozwiązania „chmurowe” w postaci ZeroTier i Back To Home. Klienci bardzo często pytają mnie, który z nich wybrać. Odpowiedź brzmi jak zwykle: to zależy. W tym artykule postaram się pokazać, od czego.


Porównanie rodzajów VPN

Zacznijmy od tego, co w RouterOS 7 jest dostępne.

Typ Warstwa Transport / port Szyfrowanie Wydajność Akceleracja sprzętowa Bezpieczeństwo Przechodzi przez restrykcyjny firewall Najlepszy do
WireGuard L3 UDP, dowolny port ChaCha20-Poly1305 Bardzo wysoka Nie, tylko CPU Wysokie Średnio (tylko UDP) Site-to-site, praca zdalna
IPsec IKEv2 L3 UDP 500/4500 + ESP AES-GCM i inne Bardzo wysoka (akceleracja sprzętowa) Tak, w zależności od modelu urządzenia (patrz link pod tabelką) Wysokie Średnio Łączenie z innymi producentami, klienci natywni
L2TP/IPsec L2/L3 UDP 1701 w IPsec AES (z IPsec) Średnia Tak, dla warstwy IPsec (jak wyżej) Średnie Średnio Starsze systemy, natywny klient
SSTP L2/L3 TCP 443 TLS Niska Nie Średnie–wysokie Bardzo dobrze Klienci Windows w hotelach i sieciach gościnnych
OpenVPN L2/L3 UDP lub TCP, dowolny port TLS Niska–średnia Częściowa (na wybranych modelach) Wysokie Dobrze (TCP 443) Integracja z istniejącym serwerem OpenVPN, potrzeba skorzystania z portu TCP 443
ZeroTier L2 UDP, port losowy ZeroTier (własny) Średnia Nie Wysokie Dobrze (relay) Sieć overlay bez publicznego IP
Back To Home L3 UDP (WireGuard) ChaCha20-Poly1305 Wysoka Nie (to WireGuard) Wysokie Dobrze (relay MikroTik) Szybki dostęp do domu z telefonu
PPTP L2/L3 TCP 1723 + GRE MPPE (RC4) Wysoka Nie Brak (złamany) Słabo (GRE) Nie stosować

Akceleracja sprzętowa IPsec dotyczy także L2TP/IPsec oraz tuneli GRE, IPIP i EoIP z ustawionym ipsec-secret. Pełną listę procesorów i obsługiwanych algorytmów znajdziesz w dokumentacji IPsec. Na routerach x86 i CHR z AES-NI sprzętowo szyfrowane są AES-CBC i AES-CTR, a hashowanie odbywa się programowo.


Czy licencja RouterOS ogranicza liczbę tuneli VPN?

Tak, ale tylko w przypadku części protokołów. Według dokumentacji MikroTika poziom licencji ogranicza liczbę jednoczesnych tuneli PPTP, L2TP i OpenVPN:

LicencjaPPTP i L2TPOpenVPN
L1 (darmowa)11
L3 i L4200200
L5500bez limitu
L6bez limitubez limitu

WireGuard, IPsec, SSTP, ZeroTier i Back To Home nie są objęte limitami licencyjnymi, więc ich liczbę ogranicza tylko wydajność routera. Poziom licencji sprawdzisz w System -> License. Routery wirtualne (CHR) mają osobny model licencji: zamiast liczby tuneli ograniczają przepustowość.


Krótki opis każdego z VPN

WireGuard

WireGuard pojawił się w RouterOS 7 i bardzo szybko stał się jednym z najczęstszych wyborów.

Plusy:

  • bardzo prosta konfiguracja, mało miejsc na błąd
  • wysoka wydajność, nawet na tańszych routerach
  • nowoczesna kryptografia bez negocjowania algorytmów
  • klienci na każdy system dzięki dedykowanym aplikacjom

Minusy:

  • tylko UDP, więc w części sieci hotelowych i firmowych po prostu nie przejdzie
  • brak logowania loginem i hasłem, uwierzytelnianie wyłącznie kluczami
  • brak wbudowanej integracji z RADIUS czy User Managerem

Na uwagę zasługuje również fakt, że urządzenie wystawiające WireGuard jako serwer odpowiada na zdefiniowanym porcie UDP dopiero gdy otrzyma poprawne zapytanie od klienta posiadającego poprawne klucze. Bardzo utrudnia to ewentualne skanowanie i powoduje, że serwer WireGuard wystawiony na wysokim, losowym porcie UDP jest praktycznie nie do namierzenia przez skaner portów.

IPsec IKEv2

IPsec to standard, który obsłuży praktycznie każdy firewall i system operacyjny. W RouterOS 7 warto wybierać IKEv2, a IKEv1 zostawić tylko dla starszych urządzeń po drugiej stronie.

Plusy:

  • najlepsza kompatybilność z urządzeniami innych producentów (Fortinet, Cisco, pfSense itd.)
  • akceleracja sprzętowa na wielu modelach MikroTik
  • natywni klienci w Windows, macOS, iOS i Androidzie
  • uwierzytelnianie certyfikatami, PSK lub EAP

Minusy:

  • najbardziej złożona konfiguracja ze wszystkich
  • trudniejsze debugowanie, a niezgodne parametry po obu stronach to klasyka przy wdrożeniu
  • nie tworzy interfejsów po stronie RouterOS, co bywa problematyczne przy pisaniu reguł firewalla i NAT-u

L2TP + IPsec

L2TP sam w sobie nie szyfruje ruchu, dlatego w praktyce najczęściej łączy się z IPsec. Przez lata był najpopularniejszym wyborem do pracy zdalnej. Aktualnie odchodzi się z jego użycia ze względu m.in. na okresowe problemy ze stabilnością (w RouterOS musiał najpierw wstać IPsec, a na nim dopiero L2TP, co czasami powodowało tzw. wyścig krytyczny). Drugim częstym problemem jest łączenie kilku klientów z jednego publicznego IP.

Plusy:

  • prosta konfiguracja po stronie RouterOS (use-ipsec=yes)
  • logowanie loginem i hasłem, łatwa integracja z RADIUS
  • możliwość przenoszenia ramek L2 (BCP)

Minusy:

  • podwójna enkapsulacja, czyli większy narzut i mniejsze MTU
  • problemy z NAT po stronie klienta, szczególnie przy kilku użytkownikach za jednym adresem
  • coraz częściej wycofywany z nowych systemów na rzecz IKEv2

SSTP

SSTP to protokół Microsoftu, który tuneluje PPP w TLS na porcie TCP 443. Z punktu widzenia firewalla wygląda jak zwykły ruch HTTPS. Jest w całości obsługiwany programowo przez CPU, co znacząco obniża jego wydajność.

Plusy:

  • przechodzi praktycznie przez każdy firewall
  • natywny klient w Windows
  • logowanie loginem i hasłem, certyfikat po stronie serwera

Minusy:

  • działa tylko po TCP, więc tunelowanie TCP w TCP potrafi mocno spowolnić transfer przy stratach pakietów
  • niska wydajność w porównaniu do innych VPN
  • słabe wsparcie poza Windows (na Linuksie i Androidzie potrzebne są dodatkowe aplikacje)

OpenVPN

OpenVPN w RouterOS przez długi czas był okrojony do TCP. Wersja 7 dodała obsługę UDP. Nadal nie jest to jednak pełna implementacja, jaką znamy z serwerów linuksowych. Na niektórych urządzeniach i przy użyciu określonych algorytmów ma wsparcie sprzętowe (flaga H przy interfejsie), niestety nie ma jednoznacznej informacji, w dokumentacji, które modele obsługują akcelerację sprzętową.

Plusy:

  • działa po UDP lub TCP, na dowolnym porcie (również 443)
  • import gotowych plików .ovpn
  • dobry wybór, gdy po drugiej stronie stoi już serwer OpenVPN

Minusy:

  • niska wydajność przy braku szyfrowania sprzętowego (które nie jest wystarczająco opisane w dokumentacji)
  • część zaawansowanych opcji ze świata OpenVPN po prostu nie istnieje

ZeroTier

ZeroTier to nie klasyczny VPN. Urządzenia odnajdują się przez chmurę ZeroTier i łączą bezpośrednio lub przez serwer pośredniczący, zachowując szyfrowanie end-to-end. Pakiet jest dostępny jako dodatkowy dla architektur ARM i ARM64. Wymaga konta w platformie ZeroTier i podlega zewnętrznemu licencjonowaniu ZeroTier.

Plusy:

  • działa bez publicznego adresu IP i bez przekierowania portów
  • prawdziwa sieć L2 między wszystkimi uczestnikami
  • wygodne zarządzanie z panelu WWW, ewentualnie z własnym kontrolerem na RouterOS

Minusy:

  • tylko ARM i ARM64, na starszych MIPS-ach nie zadziała
  • wymaga doinstalowania pakietu i może być zablokowany przez device-mode
  • zależność od zewnętrznej chmury (chyba że postawisz własny kontroler)

Back To Home

Back To Home to nakładka MikroTika na WireGuarda, dostępna od RouterOS 7.12 na urządzeniach ARM, ARM64 i TILE. Konfiguracja sprowadza się do aplikacji w telefonie. Jeśli router nie ma publicznego IP, ruch idzie przez relay MikroTika, ale nadal jest szyfrowany end-to-end.

Plusy:

  • bardzo prosta konfiguracja
  • działa za NAT-em dzięki relay
  • pod spodem działa WireGuard

Minusy:

  • mała kontrola nad tym, co dokładnie zostaje skonfigurowane – jest to kreator
  • zależność od infrastruktury MikroTika
  • słabo nadaje się do site-to-site ani do większych wdrożeń firmowych

PPTP

PPTP jest w RouterOS nadal dostępny, ale aktualnie prawie zapomniany. Jego szyfrowanie zostało złamane wiele lat temu. Nie należy go używać w żadnym scenariuszu.

Plusy:

  • prosty i obsługiwany głównie przez bardzo stare systemy

Minusy:

  • brak realnego bezpieczeństwa, ruch można odszyfrować
  • wymaga protokołu GRE, który wiele sieci blokuje
  • usunięty z nowszych wersji macOS i iOS

Który VPN do jakiego scenariusza?

Schemat wyboru VPN w MikroTik do scenariusza: WireGuard, IPsec IKEv2, SSTP, OpenVPN, Back To Home, ZeroTier.

Podsumowanie

Większość moich wdrożeń kończy się na dwóch protokołach. WireGuard obsługuje pracę zdalną i połączenia między oddziałami na MikroTikach, a IPsec IKEv2 pozwala dogadać się z firewallem innego producenta. OpenVPN stosuję w sytuacjach, w których port TCP 443 jest pożądany. Back To Home i ZeroTier polecam do domu i małych sieci bez publicznego IP, a PPTP po prostu wyłącz.

Jeśli nie wiesz, który VPN będzie najlepszy w Twojej sieci, albo chcesz, żebym go skonfigurował, zajrzyj tutaj.