
В этой статье мы рассмотрим наиболее распространенные причины ошибок при подключении к L2TP/IPSec VPN-серверу с Windows 10/11 или Windows Server 2019/2016. Если вы не можете установить L2TP VPN-соединение с устройств Windows, внимательно изучите код ошибки и ее описание. Там часто указывается причина ошибки VPN.
Невозможно подключиться к L2TP/IPSec VPN в Windows
При попытке подключения клиента Windows к серверу L2TP VPN может возникнуть ошибка:
Can’t connect to your_L2TP-IPsec-VPN-Server.hostname The network connection between your computer and the VPN server could not be established because the remote server is not responding. This could be because one of the network devices (e.g. firewalls, NAT, routers, etc) between your computer and the remote server is not configured to allow VPN connections. Please contact your Administrator or your service provider to determine which device may be causing the problem.
Наиболее распространенными кодами ошибок, связанных с VPN, являются 800, 794, или 809.
Если возникла эта ошибка, проверьте, что вы ввели правильный адрес VPN-сервера, что VPN-сервер доступен и что все необходимые порты открыты в брандмауэрах.
Для подключения VPN-сервера L2TP/IPsec должны быть открыты следующие порты:
- UDP порт 1701 (Layer 2 Forwarding Protocol (L2F) и Layer 2 Tunneling Protocol (L2TP));
- UDP порт 500 (IKE, управление ключами шифрования);
- ESP 50 протокол (Encapsulating Security Payload) для IPSec;
- Если VPN-сервер расположен за NAT, вам также необходимо открыть UDP порт 4500 (протокол NAT-T, IPSec Network Address Translator Traversal).
Используйте встроенный клиент Windows VPN Client для подключения к серверу L2TP VPN. Проверьте настройки VPN-соединения. Убедитесь, что ваше VPN-соединение использует туннель L2TP и предварительный ключ (PSK) или сертификат для аутентификации. Вы можете использовать PowerShell для списка параметров VPN-соединения:
Get-VpnConnection
Как подключиться к L2TP/IPSec VPN-серверу за NAT
Если целевой L2TP VPN-сервер находится за NAT, вы не сможете подключиться к нему с компьютера под управлением Windows с настройками по умолчанию. Проблема в том, что протокол IPsec не поддерживает NAT. Чтобы обойти это ограничение, NAT-T, который инкапсулирует пакеты IPsec через UDP/4500.
NAT-T включен по умолчанию почти во всех операционных системах (iOS, Android, Linux), кроме Windows.
Если L2TP/IPsec VPN-сервер находится за NAT, необходимо внести изменения в реестр на сервере и клиенте, чтобы разрешить инкапсуляцию UDP-пакетов для L2TP и поддержку (NAT-T) для IPsec.
- Откройте редактор реестра (
regedit.exe
) и перейдите к следующему ключу реестра:- Windows 11/10/8.1 и Windows Server 2022/2019/2016/2012R2/2008R2 — HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\PolicyAgent
- Windows XP/Windows Server 2003 — HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\IPSec
- Создать DWORD параметр с именем AssumeUDPEncapsulationContextOnSendRule и значение 2;Примечание. Возможно ПредполагатьUDPEncapsulationContextOnSendRule значения:
- 0 — (значение по умолчанию) предполагает, что VPN-сервер напрямую подключен к Интернету (без NAT);
- 1 — VPN-сервер расположен за устройством NAT;
- 2 — VPN-сервер и клиент находятся за NAT.
Для внесения изменений в реестр можно использовать команду PowerShell:
Set-ItemProperty -Path "HKLM:\SYSTEM\CurrentControlSet\Services\PolicyAgent" -Name "AssumeUDPEncapsulationContextOnSendRule" -Type DWORD -Value 2 –Force;
После включения поддержки NAT-T вы сможете подключаться к VPN-серверу с клиента через NAT (включая двойной NAT). В этом случае перед созданием L2TP-соединения создается зашифрованный IPsec-туннель (с использованием протокола IKE: UDP/500 и NAT-T: UDP/4500). Затем туннель L2TP создается внутри IPsec на порту UDP 1701. Это означает, что если VPN-сервер находится за NAT, вам не нужно перенаправлять на него UDP-порт 1701 с периметра маршрутизатора/брандмауэра.
Попытка подключения L2TP VPN не удалась в Windows
В Windows есть еще одна досадная ошибка VPN. Если в вашей локальной сети есть несколько компьютеров с Windows, вы не сможете одновременно подключиться к внешнему L2TP/IPSec VPN-серверу. Если вы попытаетесь подключиться к тому же VPN-серверу с другого компьютера при активном VPN-туннеле из вашей сети, вы получите код ошибки 809 или 789:
Error 789: The L2TP connection attempt failed because the security layer encountered a processing error during initial negotiations with the remove computer.
Согласно TechNet, проблема связана с некорректной реализацией клиента L2TP/IPSec в Windows (не исправленной в течение многих лет).
Чтобы исправить эту ошибку, необходимо изменить два параметра реестра в папке HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\RasMan\Parameters и перезагрузите компьютер:
- AllowL2TPWeakCrypto — изменить на 00000001 (позволяет использовать слабые алгоритмы шифрования; L2TP/IPSec использует алгоритмы MD5 и DES);
- ProhibitIPSec — изменить на 00000000 (включает шифрование IPsec, которое часто отключается некоторыми сторонними VPN-клиентами или системными инструментами).
Выполните следующую команду, чтобы применить эти изменения в реестре:
reg add "HKEY_LOCAL_MACHINE\System\CurrentControlSet\Services\Rasman\Parameters" /v AllowL2TPWeakCrypto /t REG_DWORD /d 1 /f
reg add "HKEY_LOCAL_MACHINE\System\CurrentControlSet\Services\Rasman\Parameters" /v ProhibitIpSec /t REG_DWORD /d 0 /f
Это обеспечивает поддержку нескольких одновременных соединений L2TP/IPSec в Windows через общий публичный IP-адрес.
Вот еще несколько советов по устранению проблемы с L2TP VPN-соединением в Windows:
- Убедитесь, что в настройках соединения L2TP VPN включен только протокол аутентификации, поддерживаемый VPN-сервером. Откройте
ncpa.cpl
-> свойства вашего VPN-соединения -> Безопасность вкладка. Выберите разрешенные протоколы аутентификации. Обычно выбирают только MS-CHAP v2 следует проверить здесь; - Перейдите на вкладку Options -> PPP Settings -> проверьте Включить расширение LCP;
- Проверьте, что Модули ключей IPsec IKE и AuthIP и Агент политики IPsec службы работают в Windows:
get-service IKEEXT,PolicyAgent
- Запустите диспетчер устройств и удалите WAN Miniport (L2TP) и WAN Miniport (IKEv2) виртуальные адаптеры. Перезагрузите компьютер. После перезагрузки Windows восстановит эти виртуальные адаптеры с настройками по умолчанию; Дополнительные сведения см. в разделе «Как исправить ошибку VPN-соединение не может быть установлено».
- В некоторых случаях помогает отключение IPSec и использование только L2TP. Для этого измените значение параметра
ProhibitIpSec
на1
в рег. ключе HKLM\SYSTEM\CurrentControlSet\Services\RasMan\Parameters.