Rozwiązujemy problem łączenia się z serwerem VPN L2TP / IPSec dla NAT

Jeden z klientów miał problem z rekonfiguracją serwera VPN systemu Windows Server 2012 z PPTP na L2TP / IPSec, który został spowodowany przez wyłączenie obsługi PPTP VPN w iOS. Z sieci VPN klienci łączą się z serwerem VPN bez żadnych problemów, ale zewnętrzni klienci Windows podczas próby nawiązania połączenia z serwerem L2TP VPN otrzymują następujący błąd:

Nie można nawiązać połączenia sieciowego między komputerem a serwerem VPN, ponieważ serwer zdalny nie odpowiada. Może to być spowodowane tym, że jedno z urządzeń sieciowych (np. Zapory ogniowe, NAT, routery itp.) Między komputerem a zdalnym serwerem nie jest skonfigurowane do zezwalania na połączenia VPN. Skontaktuj się z administratorem lub dostawcą usług, aby ustalić, które urządzenie może powodować problem.

W innych wersjach systemu Windows problem z połączeniem może wskazywać na błąd połączenia. 800, 794 lub 809.

Warto zauważyć, że ten serwer VPN znajduje się za NAT, a router jest skonfigurowany z przekierowaniem portów niezbędnym dla L2TP (UDP 1701, UDP 500, UDP 4500 i protokół 50 ESP). Tj. zastosowano klasyczną konfigurację.

Jak się okazało, ten problem jest już znany i opisany w artykule https://support.microsoft.com/en-us/kb/926179. W przypadku, gdy serwer VPN L2TP / IPsec znajduje się za NAT, w celu poprawnego połączenia klientów zewnętrznych za pośrednictwem NAT konieczne jest dokonanie zmiany w rejestrze, która zezwoliła na enkapsulację pakietów UDP dla L2TP i obsługę (NAT-T) dla IPsec.

  1. Otwórz Edytor rejestru exe i idź do oddziału:
    • W systemie Windows XP - HKEY_LOCAL_MACHINE \ SYSTEM \ CurrentControlSet \ Services \ IPSec
    • W systemie Windows 10.8.7, Vista - HKEY_LOCAL_MACHINE \ SYSTEM \ CurrentControlSet \ Services \ PolicyAgent
  2. Utwórz DWORD parametr o nazwie AssumeUDPEncapsulationContextOnSendRulei wartość 2)

    Uwaga. Możliwe wartości parametru AssumeUDPEncapsulationContextOnSendRule

    • 0 - (wartość domyślna), zakłada się, że serwer jest podłączony do Internetu bez NAT
    • 1 - serwer stoi za NAT
    • 2) - zarówno serwer, jak i klient stoją za NAT
  3. Pozostaje zrestartować komputer i upewnić się, że tunel VPN został pomyślnie utworzony.