Решаем проблему подключения к L2TP/ IPSec VPN серверу за NAT
В других версиях Windows о наличии аналогичной проблемы могут свидетельствовать ошибки подключения 800, 794 или 809.
Стоит отметить, что данный VPN сервер находится за NAT, а на маршрутизаторе настроен проброс портов, необходимых для работы L2TP (UDP 1701, UDP 500, UDP 4500 и Protocol 50 ESP). Т.е. используется классическая конфигурация.
Как оказалось, проблема эта уже известна и описана в статье https://support.microsoft.com/en-us/kb/926179. В том случае, если VPN сервер L2TP/IPsec находится за NAT, для корректного подключения внешних клиентов через NAT необходимо на стороне сервера и клиента внести изменение в реестр, разрешавшее UDP инкапсуляцию пакетов для L2TP и поддержку (NAT-T) для IPsec.
- Откройте редактор реестра exe и перейдите в ветку:
- Для Windows XP — HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\IPSec
- Для Windows 10,8,7, Vista — HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\PolicyAgent
- Создайте DWORD параметр с именем AssumeUDPEncapsulationContextOnSendRuleи значением 2
- Примечание. Возможные значение параметра AssumeUDPEncapsulationContextOnSendRule
- 0 – (значение по-умолчанию), предполагается, что сервер подключен к интернету без NAT
- 1 – сервер находится за NAT
- 2 — и сервер и клиент находятся за NAT
- Примечание. Возможные значение параметра AssumeUDPEncapsulationContextOnSendRule
- Осталось перезагрузить компьютер и убедиться, что VPN туннель успешно создается.