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).
- W pierwszej kolejności musimy utworzyć użytkownika VPN. Aby to zrobić przechodzimy w menu PPP do zakładki Secrects.
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.
/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).
/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ć”
– 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
– 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
– wchodzimy w Ustawienia zaawansowane, zaznaczamy „użyj klucza wstępnego…” i wpisujemy nasz IPsec Secret zdefiniowany u ustawieniach serwera na routerze i klikamy OK
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