Mikrotik VPN L2TP+IPSEC do MS Windows (step-by-step)

MikroTik jako serwer VPN w oparciu o protokół L2TP z szyfrowaniem IPSEC z wykorzystaniem klucza.

Na routerze MikroTik przed przystąpieniem do konfiguracji serwera VPN stworzyłem typową konfiguracji domowego routera (NAT, DHCP, DNS, prosty firewall).

  1. W pierwszej kolejności musimy utworzyć użytkownika VPN. Aby to zrobić przechodzimy w menu PPP do zakładki Secrects.
2017 12 14_10h29_06

2. Klikamy dodaj, w nowym oknie wpisujemy nazwę użytkownika, hasło, wybieramy rodzaj tunelu jaki będzie używany przez tego użytkownika (w tym przypadku l2tp). Następnie podajemy Local Address (ten adres pojawi się w /ip address po zestawieniu tunelu) następnie podajemy Remote Address. Adresy wykorzystywane w tunelu nie muszą być (chodź mogą) wykorzystywane w sieci LAN. W polu Remote Address można wybrać pulę adresów (którą wcześniej definiujemy w /ip pool).

Możemy również stworzyć własny profil przechodząc do zakładki Profiles w menu PPP. Możemy m.in. nadać w profilu local adres który będzie obowiązywał dla wszystkich użytkowników korzystających z tego profilu. Dla przykładu, gdy w profilu wpiszemy adres lokalny, a w remote adres wybierzemy pulę adresów będziemy mogli tworzyć użytkowników podając tylko ich login i hasło reszta będzie posługiwać się danymi z profilu. Jeżeli w konfiguracji użytkownika podamy inne dane będą one ważniejsze niż te z profilu i zostaną użyte w tunelu.

2017 12 14_10h30_31

/ppp secret

add local-address=192.168.50.10 name=l2tp_user password=ZAQ!2wsx profile=default-encryption remote-address=192.168.50.1 service=l2tp

3. Następnie w menu PPP przechodzimy do zakładki Interface aby włączyć serwer L2TP. Klikamy w przycisk L2TP Server, zaznaczamy Enable, jako profil wybieramy default-encryption, jako autentykację odznaczamy wszystko oprócz mschap2 (jest to algorytm dostępny w większości urządzeń i systemów operacyjnych). W polu Use IPsec wybieramy require (IPsec będzie wymagany do nawiązania połączenia), w polu IPsec Secret wpisujemy klucz szyfrujący transmisję (klucz będzie taki sam dla wszystkich użytkowników).

2017 12 14_10h31_47

/interface l2tp-server server

set authentication=mschap2 enabled=yes ipsec-secret=HasloIPSec use ipsec=required

4. Dla tego typu tunelu na firewallu należy wprowadzić:

  • ACCEPT INPUT, Protocol UDP, Dst. Port 4500
  • ACCEPT INPUT, Protocol UDP, Dst. Port 500
  • ACCEPT INPUT, Protocol UDP, Dst. Port 1701

/ip firewall filter

add action=accept chain=input dst-port=4500 protocol=udp

add action=accept chain=input dst-port=500 protocol=udp

add action=accept chain=input dst-port=1701 protocol=udp

5. Konfiguracja klienta na przykładzie Windows 7 wygląda następująco:

– wchodzimy w centrum sieci i udostępniania

– klikamy w „Skonfiguruj nowe połączenie lub nową sieć”

2017 12 14_10h36_21

– połącz z miejscem pracy

– użyj mojego połączenia internetowego (VPN)

– w polu Adres internetowy wpisujemy publiczny adres IP naszego routera, ustalamy nazwę połączenia, zaznaczamy „Nie łącz teraz, tylko skonfiguruj…” i klikamy dalej

2017 12 14_10h34_01

– wpisujemy nazwę użytkownika i hasło zdefiniowane w PPP/Secrets

– zamykamy kreator

– wchodzimy w „Zmień ustawienia karty sieciowej”

– na utworzonym połączeniu VPN klikamy w właściwości

– wybieramy zakładkę „Zabezpieczenia”

– wybieramy „Typ wirtualnej sieci prywatnej (VPN) jako”. Protokół L2TP/IPSec” a w polu Szyfrowanie danych wybieramy Najmocniejsze szyfrowanie, w polu Uwierzytelnianie zaznaczany „Zezwalaj na użycie tych protokołów” i zostawiamy zaznaczone Microsoft CHAP wersja 2

2017 12 14_10h36_21
2017 12 14_10h36_45

– wchodzimy w Ustawienia zaawansowane, zaznaczamy „użyj klucza wstępnego…” i wpisujemy nasz IPsec Secret zdefiniowany u ustawieniach serwera na routerze i klikamy OK

 

2017 12 14_10h37_29

6. Podłączamy się do sieci VPN klikając podwójnie na utworzone połączenie i wpisując dane zdefiniowane w PPP/Secrets.

7. Urządzenie które podłączy się do VPN będzie miało komunikację L3 z hostami sieci lokalnej. Ruchem tym można zarządzać odpowiednimi regułami /ip firewall

UWAGA: Jeżeli planujesz uruchomić serwer VPN na routerze będącym za NAT’em (w sieci lokalnej) pomimo utworzenia prawidłowych reguł na routerze brzegowym (przekierowań portów 500,4500,1701) i konfiguracji serwera VPN stacje klienckie z systemami Windows mogą mieć problemy z połączeniem. Rozwiązaniem jest edycja rejestru (polecenie CMD jako administrator):

REG ADD HKLM\SYSTEM\CurrentControlSet\Services\PolicyAgent /v AssumeUDPEncapsulationContextOnSendRule /t REG_DWORD /d 2

Autor: Wojciech Mańka