VPN?
Temat bezpieczeństwa i prywatności w sieci powinien poznać, każdy z użytkowników Internetu. Jednym z pierwszych przydatnych zagadnień jest VPN. We wcześniejszym wpisie poruszałem zagadania, dlaczego warto korzystać z VPNa i jakiego usługodawce wybrać. Dodatkowo jednym z najpopularniejszych wpisów na moim blogu jest opis konfiguracji OpenVPNa, dlatego postanowiłem dodać kolejne materiały odnośnie VPNa. W niektórych przypadkach zależy nam na zmianie adresu IP bądź zmianie geolokalizacji, ale bez konieczności instalowania agenta VPN. System RouterOS na urządzeniach Mikrotika daje prawie nieskończone możliwości konfiguracji, dzięki czemu możemy cały router przerobić na klienta VPN. Wszystkie podłączone urządzenia będą automatycznie pracowały “za VPNem”. Dostępne warianty konfiguracji NordVPN znajdziesz pod tym adresem. Dodatkowo minimalna wersja RouterOS wspierająca IKEv2 to 6.45 a w przypadku używania SHA-384, to min. 6.48.
NordVPN
Jeżeli zastanawiasz się dlaczego akurat NordVPN, to zapraszam do zapoznania się z wcześniejszym wpisem, tam opisuje na jakie parametry warto zwrócić uwagę przy wyborze usługi VPN a NordVPN idealnie się wpasował. Tak wiem, może pojawić się dużo hejtu na różnych dostawców usług VPN, ale nie każdy posiada odpowiednią wiedzę i zasoby, aby uruchomić swój własny serwer VPN, na dedykowanej maszynie.
Zaczynamy od ustalenia serwera. Przechodzimy na stronę https://nordvpn.com/pl/servers/tools/ wybieramy kraj, a z lewej strony otrzymamy adres serwera VPN do którego możemy się podłączyć.
W następnym kroku pobieramy certyfikat root CA NordVPN. Za pomocą drag&drop przenosimy certyfikat do Files na Mikrotiku. Zostając dalej w panelu konta, przechodzimy na ustawienia zaawansowane i zapisujemy nazwę użytkownika i hasło.
Konfiguracja Mikrotik RouterOS v7.2
Zaczynamy od instalacji wcześniej dodanego certyfikatu NordVPN. Z bocznego menu wybieramy System->Certificates, następnie Import. Na liście rozwijanej zobaczymy wszystkie dostępne certyfikaty z Files. Wskazujemy na root.der, pole Name podajemy dowolnie.
IPSec Profile
Zaczynamy konfigurację połączenie IPSec. Przechodzimy na IP->IPSec i dodajemy nowy profil.
- Name: Ustawiamy dowolnie, NordVPN
- Hash Algo.: wybieramy silniejszy algorytm szyfrowania SHA384(wspierane od RouterOS 6.48)
- PRF Algo.: zostawiamy na auto
- Encryption Algo.: zostawiamy aes-256
- DH Group: modp3072
Możemy także skorzystać z domyślnych ustawień, jednak zalecam używania bardziej złożonych algorytmów. Szczegółowy opis wspieranych modeli i rodzajów szyfrowania znajdziesz tutaj. Warto sprawdzić wspierane rodzaje szyfrowania przed zakupem Mikrotika.
IPSec Proposals
W następnym kroku ustawiamy IPSec Phase 2, czyli wybieramy zakładkę Proposals.
- Name: wybieramy dowolnie, w tym przypadku NordVPN
- Auth Alog.: wybieramy sha256
- Encr. Algo.: zostawiamy aes-256 cbc
- Lifetime: zostawiamy na 00:30
- PFS Group: ustawiamy na none
IPSec Policy i Policy Group
Przechodzimy do ustawień parametrów tunelu.
- Src. Address: zostawiając 0.0.0.0/0 cały ruch zostanie przekierowany przez tunel, przy innych konfiguracjach lepiej sprawdza się modeconfig
- Dst. Address: zostawiamy 0.0.0.0/0
- Group: wybieramy NordVPN
- Action: encrypt
- IPsec Protocols: esp
- Proposal: wybieramy NordVPN
IPSec Modeconfig
Najważniejszym parametrem jest Connection Mark, dzięki któremu możemy oznaczyć jakie adresy IP mają zostać przekierowane przez tunel. W dalszej cześć wpisu przedstawie inny przykład wykorzystania Connection Mark. Przy tej konfiguracji pole zostawiamy puste, dzięki czemu cały ruch zostanie przekierowany na VPNa.
IPSec Peer
Przy IPSec Peer wskazujemy adres serwera z jakim będziemy się łączyć oraz profil.
- Name: Podajemy dowolnie
- Address: podajemy adres wybrany z https://nordvpn.com/pl/servers/tools/
- Profile: wskazujemy profil NordVPN
- Exchange Mode: IKE2
IPSec Identity
Pamiętasz wcześniej zapisane poświadczenia ze strony NordVPN, w tym miejscu należy je wpisać.
Firewall NAT
Jeżeli wszystko prawidłowo skonfigurowałeś, to w zakładce Active Peers, powinno pokazać się aktywne połączenie oraz przy Firewall->NAT powinna pojawić się nowa dynamiczna reguła.
Przykład 1 – wybrane adresy IP
Jak wspomniałem wcześniej RouterOS daje nam prawie nie ograniczone możliwości konfiguracji routerów Mikrotik. Załóżmy, że mamy tylko kilka komputerów, które mają wychodzić na świat za pomocą VPN, nie musimy całej podsieci przekierowywać przez tunel. Skorzystamy z Modeconfig i Connection Mark. W pierwszej kolejności, musimy przygotować listę adresów IP, które mają pracować “za” NordVPNem. Przechodzimy na IP->Firewall->Address List i tworzymy nową listę adresową.
- Name: podajemy dowolną nazwę
- Address: podajemy adres IP, który ma pracować za VPNem
- Timeout: możemy określić czas życia adresu, np. chcemy przydzielić dostęp tylko na 1 dzień
Następnie przechodzimy na IP->Firewall i zakładkę Mangle. Znakiem plusa dodajemy nową regułę:
- Chain: prerouting
- Src. Address List: wskazujemy wcześniej utworzoną listę
- Action: wybieramy mark connections
- New Connections Mark: wybieramy nordvpn
- Passtrough: zaznaczamy checkbox
Podsumowanie
Powodów dla których warto skorzystać z usług VPN, jest bradzo dużo. Jedni próbują obejść cenzurę w Internecie zmieniając geolokalizację, inni chcą sprawdzić co oferuje Netflix w innych krajach świata, a jeszcze inna grupa może testować połączenia p2p, czyli torrenty. Nie mniej jednak należy bardzo dokładnie zapoznać się z ofertą dostawców VPN. Mikrotika przetestowałem z NordVPN, i działa bardzo dobrze, nie zauważyłem większych spadków na transferze, ani problemów z połączeniem. Jednak ostateczna decyzja należy do was:)
Polecany sprzęt
Z własnego doświadczenia mogę wam polecić poniższy sprzęt, z podziałem na ewentualne przeznaczenie routera.
Do domu i małej firmy(SOHO): hAP AX Lite , hAP AC3, RB4011, RB260GS, RB2011
hAP AC3 LTE, hAP AX2, hAP AX3, L009UiGS-2HaxD-IN, RB5009UG+S+IN, Audience
LTE: SXT LTE kit, SXT LTE6 kit, LHG 5, LHG LTE kit, Audience LTE, Chateau LTE6 ax, LTAP LTE6
Access Pointy: mAP lite, mAP, cAP AX, cAP XL AC
POE: hEX PoE
LAB: hEX lite
Średnia/Duża firma: CCR1036-12G-4S, CCR2004-16G-2S+
IPSec Modeconfig:
W dalszej cześć wpisu przedstawie inny przykład wykorzystania Connection Mark. Przy tej konfiguracji pole zostawiamy puste, dzięki czemu cały ruch zostanie przekierowany na VPNa.
Czy to zdanie należy rozumieć że dla przykładu 1 wybieramy w Connection Mark NORDVPN ?
Czy wpis local w Src Address List: jest innym wpisem niż w Mangle Rule Src. Address List ( czy w przykładzie jest błąd) vpn_tunnel?
Cześć. Walczyłem z tematem NordVPN na mikrotiku i doszedłem do jednej istotnej kwestii: przy RouterOS 7.7. jest jakiś problem z importem certyfikatu… Jak zrobiłem downgrade do wersji poniżej 7.4 to wszystko ładnie się zaimportowało i działa, a następnie zrobiłem upgrade i jest OK. Nie zagłębiałem się co jest dokładnie przyczyną ale takie rozwiązanie jest ok i działa. Może warto dodać na początku taką uwagę?
Dzięki, sprawdzę jak to będzie wyglądało na wersji 7.7 i dodam aktualizację.
Udało się uruchomić. Musiałem zmienić MTU: /ip firewall mangle
add action=change-mss chain=forward ipsec-policy=in,ipsec new-mss=1382 passthrough=yes protocol=tcp tcp-flags=syn
Tylko teraz jest kolejny problem, po powyższej zmianie działa, ale prędkości są tak małe… na łączu 400/400 wyciągam 23/20 i zmiana serwerów Norda nic nie daje. Cały czas w okolicach 20/20. Masz jakiś pomysł na to?
Jaki model routera??
U mnie konfiguracja poszła bez problemu, jednak prędkości są podobne do Pawła. Na łączu 300/100 mam transfery na poziomie 20/10. Zmiana serwerów Nord-a nic nie daje. Nie zmieniałem nic w mangle. Mój router to RBD53iG-5HacD2HnD, RouterOS 7.8.