ExpressVPN na routerze MikroTik

W ostatnim czasie różnego rodzaju VPN’y stają się coraz bardziej popularne. Głównie z względu na fakt że coraz więcej osób przywiązuje coraz większą wagę do swojej prywatności w Internecie. W tym artykule przedstawię jak na routerze MikroTik skonfigurować klienta popularnej usługi ExpressVPN.


Nie jest to jakakolwiek forma reklamy usługi ExpressVPN. Konto zostało normalnie zakupione i opłacone.


Dlaczego ExpressVPN ?

Na początku może powiem dlaczego akurat ten VPN. Na rynku są ich przecież dziesiątki. Otóż postawiłem sobie kilka wymagań podczas poszukiwania odpowiedniej usługi. Oto one:

  • Usługa musi mieć politykę braku logowania aktywności użytkowników
  • Powinna być popularna i mieć dobre community
  • Nie blokuje protokołów P2P
  • Działa na MikroTik’u z „sensownym” poziomem szyfrowania

Z tym ostatnim punktem był nie lada problem. Po pierwsze RouterOS jest systemem dla bardziej zaawansowanych użytkowników – czytaj nie ma tam gotowych wtyczek pod providerów VPN czy kreatorów takiego połączenia. A chciałbym aby przestawiony sposób nie wymagał nie wiadomo jakiej wiedzy w tym temacie. Po drugie wiele usług wykorzystuje protokół OpenVPN który jak każdy znawca MT wie ma bardzo upośledzoną implementację w RouterOS. Po trzecie rozwiązania na protokole PPTP (które nadal są szeroko dostępne) odpadają z przyczyn wiadomych także zastąpienie OpenVPN przez użycie PPTP też nie jest rozwiązaniem 🙂


Artykuł został przygotowany przy użyciu systemu RouterOS w wersji 6.44.3 (stable).

Przygotowanie urządzenia

Na początku musimy się upewnić czy paczka PPP jest zainstalowana w systemie i włączona (domyślnie tak jest). Sprawdzamy to wchodząc w menu System->Packages.

Kolejnym krokiem jest ustawienie obecnej trasy domyślnej tak aby była mniej ważna niż ta którą dostaniemy z serwera VPN.

Jeśli korzystamy z DHCP na interfejsie WAN wchodzimy w menu IP->”DHCP Client” i w kliencie odpowiedzialnym za WAN w zakładce Advanced ustawiamy parametr „Default Route Distance” na wyższą wartość (przykładowo 10).

Natomiast jeżeli WAN mamy zaadresowany statycznie wówczas w menu IP->Routes ręcznie zmieniamy w trasie domyślnej parametr distance na wyższą wartość.


Panel ExpressVPN

Przechodzimy teraz do panelu usługi ExpressVPN. Po wykupieniu dostępu logujemy się na swoje konto. W zakładce Pulpit wybieramy „Skonfiguruj więcej urządzeń”.

Następnie z listy rodzajów urządzeń wybieramy „Konfiguracja manualna” oraz po prawej stronie zaznaczamy „PPTP & L2TP-IPsec”.


Konfiguracja klienta VPN

Tworzenie profilu

Na początku wchodzimy w menu PPP do zakładki Profiles i tworzymy nowy profil (co prawda użycie domyślnego profilu default-encryption też zadziała ale my zrobimy to trochę inaczej). Jego utworzenie sprowadza się do nadania nazwy i konfiguracji odpowiednich parametrów w zakładkach General i Protocols tak jak poniżej:

  • Change TCP MSS: default
  • Use UPnP: no
  • Use MPLS: no
  • Use Compression: no
  • Use Encryption: required

Konfiguracja interfejsu L2TP

Utworzenie interfejsu L2TP zaczynamy wchodząc w menu PPP i dodając nowy interfejs „L2TP Client”. Ustawiamy jego nazwę i następnie przechodzimy do zakładki „Dial Out”. W polu „Connect To” wpisujemy adres wybranego serwera skopiowany z panelu. Następnie wpisujemy login, hasło i klucz IPsec (również z panelu). Jako Profile wybieramy wcześniej utworzony profil. Zaznaczamy „Add Default Route” z domyślną wartością 1 i na końcu odznaczamy wszystkie metody autentykacji z wyjątkiem mschap2.


Konfiguracja firewall

Kolejnym elementem konfiguracji jest zmiana ustawień firewall. Robimy to ponieważ ruch który wcześniej wychodził do Internetu interfejsem WAN będzie teraz wychodził przez interfejs L2TP.

Na pewno do zmiany będzie reguła NAT. Możemy to zrobić na 2 sposoby.

  • Dokładamy drugą regułę gdzie jako out-interface wybieramy interfejs L2TP. Takie rozwiązanie spowoduje że gdy tunel z jakiś powodów przestanie działać i ruch wróci na standardowy interfejs WAN nadal użytkownicy lokalni będą mieli internet ponieważ NAT zostanie obsłużony przez poprzednią regułę.
/ip firewall nat
add action=masquerade chain=srcnat out-interface=ether1
add action=masquerade chain=srcnat out-interface=l2tp-ExpressVPN
  • Zmieniamy w obecnej regule out-interface na L2TP. Wówczas w przypadku padu VPN nie będziemy mieli Internetu.

Jeśli używamy również filtrów firewall (Filter Rules) do obsługi ruchu forward musimy je stosownie zmienić pod nowy interfejs wyjściowy.


I to tyle – nasza sieć korzysta z ExpressVPN.