- Попытка L2TP-подключения не удалась из-за ошибки, произошедшей на уровне безопасности во время согласований с удаленным ПК
- Причина
- Решение 1 — удаление сбойных KB
- Решение 2 — установка ключа ProhibitIpSec
- Решение 3 — установка новых исправлений
- Если ошибка не уходит
- Исправляем проблему подключения к L2TP/IPSec VPN серверу за NAT
- VPN ошибка 809 для L2TP/IPSec в Windows за NAT
- L2TP VPN не работает на некоторых Windows компьютерах в локальной сети
Попытка L2TP-подключения не удалась из-за ошибки, произошедшей на уровне безопасности во время согласований с удаленным ПК
Ошибка появилась на ПК под управлением Windows 10/11 в январе 2022 года. Как пишут на форумах, вызвана последними обновлениями MS. Именно они спровоцировали проблемы с VPN-подключениями (L2TP).
После установки обновлений на системах с использованием встроенного VPN-клиента Windows стали возникать ошибки. В журнале событий ОС ошибка помечается кодом 789.
«Попытка L2TP-подключения не удалась из-за ошибки, произошедшей на уровне безопасности во время согласований с удаленным компьютером».
Причина
Обновления KB5009543 и KB5009566 были выпущены для Windows 10 и Windows 11. Они включали исправления и улучшения безопасности, но вызвали проблемы с подключениями к VPN.
Решение 1 — удаление сбойных KB
Одно из быстрых — удаление обновления с вашего компьютера. Через Панель управления перейдите к списку установленных обновлений, выберите KB5009566 (для Windows 11) или KB5009543 (для Windows 10) и нажмите «Удалить».
Среди прочего, рассмотрите удаление других проблемных обновлений — KB5009624, KB5009557, KB5009555, KB5009566 и KB5009543.
После перезагрузки воспользуйтесь утилитой wushowhide , чтобы исключить обновление из повторной установки.
Или откройте командную строку от имени администратора и выполните команду на удаление сбойного KB (например, KB5009453 — указываете номер KB для вашей версии ОС):
- Windows 10 — KB5009543 ( wusa /uninstall /kb:5009543 );
- Windows 11 — KB5009566 ( wusa /uninstall /kb:5009566 );
- Windows Server 2012 R2 — KB5009624 ( wusa /uninstall /kb:5009624 );
- Windows Server 2019 — KB5009557 ( wusa /uninstall /kb:5009557 );
- Windows Server 2022 — KB5009555 ( wusa /uninstall /kb:5009555 ).
Решение 2 — установка ключа ProhibitIpSec
Запретить использование IpSec через реестр. Откройте regedit, в разделе [ HKLM\System\CurrentControlSet\Services\Rasman\Parameters ] добавьте параметр «ProhibitIpSec» = 1 (REG_DWORD) и перезагрузите ПК.
Чтобы избежать ошибок при ручном редактировании реестра, скачайте архив с нашего блога.
Сохраните файл «l2tp-disable-ipsec.reg», запустите его с правами администратора и выполните перезагрузку.
Либо создайте файл с расширением .reg и текстом:
Сохраните и запустите с полными правами. После изменений также потребуется перезагрузка системы.
Решение 3 — установка новых исправлений
Далее 18.01.2022 Microsoft выпустила внеплановые обновления Windows для исправления проблемы с VPN-подключениями, включая KB5010795 (Build 22000.438) для Windows 11 и KB5010793 для Windows 10.
Список опубликованных обновлений:
- Windows 11, версия 21H2 (первоначальный выпуск) — KB5010795 ;
- Windows Server 2022 — KB5010796 ;
- Windows 10, версия 21H2 — KB5010793 ;
- Windows 10, версия 21H1 — KB5010793 ;
- Windows 10, версия 20H2, Windows Server, версия 20H2 — KB5010793 ;
- Windows 10, версия 20H1 — KB5010793 ;
- Windows 10, версия 1909 — KB5010792 ;
- Windows 10, версия 1607, Windows Server 2016 — KB5010790 ;
- Windows 10, версия 1507 — KB5010789 ;
- Windows 7 SP1, Windows Server 2008 SP2 — KB5010798 ;
- Windows Server 2008 — KB5010799 ;
- Windows 8.1, Windows Server 2012 R2 — KB5010794 ;
- Windows Server 2012 — KB5010797 .
Если ошибка не уходит
Создайте или измените параметр AllowL2TPWeakCrypto на 1 в системном реестре. Это значение ослабляет уровень шифрования, но может вам помочь. Для L2TP/IPSec используются алгоритмы MD5 и DES.
Аналогично: перезагрузка и новая попытка подключения.
⚡ Подписывайтесь на канал или задавайте вопрос на сайте — постараемся помочь всеми техническими силами. Безопасной и производительной работы в Windows и 1С.
Подпишитесь на рассылку, чтобы быть в курсе последних новостей и обновлений. Кейсы клиентов и рекомендации по настройке 1С. Читайте первыми ► здесь .
Исправляем проблему подключения к L2TP/IPSec VPN серверу за NAT
26.10.2020
itpro
Windows 10, Windows Server 2016
комментариев 29
Столкнулись с интересной проблемой у одного из заказчиков после перенастройки VPN сервера Windows Server 2012 с PPTP на L2TP/ IPSec (из за отключения поддержки PPTP VPN в iOS). Изнутри корпоративной сети VPN клиенты без каких-либо проблем подключаются к VPN серверу, а вот внешние Windows клиенты при попытке установить соединение с L2TP VPN сервером, выдают такую ошибку:
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.
В других версиях Windows о наличии аналогичной проблемы могут свидетельствовать ошибки VPN подключения 800, 794 или 809.
Стоит отметить, что данный VPN сервер находится за NAT, а на маршрутизаторе настроен проброс портов, необходимых для работы L2TP:
- UDP 1701 — Layer 2 Forwarding Protocol (L2F) & Layer 2 Tunneling Protocol(L2TP)
- UDP 500
- UDP 4500 NAT-T – IPSec Network Address Translator Traversal
- Protocol 50 ESP
В правилах Windows Firewall VPN сервера эти порты также открыты. Т.е. используется классическая конфигурация. Для подключения используется встроенный VPN клиент Windows.
VPN ошибка 809 для L2TP/IPSec в Windows за NAT
Как оказалось, проблема эта уже известна и описана в статье https://support.microsoft.com/en-us/kb/926179. По умолчанию встроенный VPN клиент Windows не поддерживает подключение к L2TP/IPsec через NAT. Дело в том, что IPsec использует протокол ESP (Encapsulating Security Payload) для шифрования пакетов, а протокол ESP не поддерживает PAT (Port Address Translation). Если вы хотите использовать IPSec для коммуникации, Microsoft рекомендует использовать белые IP адреса на VPN сервере.
Но есть и обходное решение. Можно исправить этот недостаток, включив поддержку протокола NAT—T, который позволяет инкапсулировать пакеты протокола ESP 50 в UDP пакеты по порту 4500. NAT-T включен по-умолчанию почти во всех операционных системах (iOS, Android, Linux), кроме Windows.
Если VPN сервер L2TP/IPsec находится за NAT, то для корректного подключения внешних клиентов через NAT необходимо на стороне Windows сервера и клиента внести изменение в реестр, разрешающее UDP инкапсуляцию пакетов для L2TP и поддержку (NAT-T) для IPsec.
- Откройте редактор реестра regedit.exe и перейдите в ветку:
- Для Windows 10,8.1,7 и Windows Server 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;
- 0 – (значение по-умолчанию), предполагается, что VPN сервер подключен к интернету без NAT;
- 1 – VPN сервер находится за NAT;
- 2 — и VPN сервер и клиент находятся за NAT.
Set-ItemProperty -Path «HKLM:SYSTEM\CurrentControlSet\Services\PolicyAgent» -Name «AssumeUDPEncapsulationContextOnSendRule» -Type DWORD -Value 2 –Force;
После включения поддержки NAT-T, вы сможете успешно подключаться к VPN серверу с клиента через NAT (в том числе двойной NAT).
В некоторых случаях для корректной работы VPN необходимо открыть дополнительное правило в межсетевом экране для порта TCP 1701 (в некоторых реализациях L2TP этот порт используется совмести с UDP 1701).
NAT-T не корректно работал в ранних редакциях Windows 10, например, 10240, 1511, 1607. Если у вас старая версия, рекомендуем обновить билд Windows 10.
L2TP VPN не работает на некоторых Windows компьютерах в локальной сети
Есть еще один интересный баг. Если в вашей локальной сети несколько 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.
Что интересно, эта проблема наблюдется только с Windows-устройствами. На устройствах с Linux/MacOS/Android в этой же локальной сети таких проблем нет. Можно без проблем одновременно подключиться к VPN L2TP серверу с нескольких устройств.
По информации на 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 адрес (работает на всех версиях, начиная с Windows XP и заканчивая Windows 10).
Предыдущая статья Следующая статья