Vpn l2tp windows xp не работает

Обновлено: 01.07.2024

Изначально, не планировал выделять для данного материала отдельный пост, но так как проблема не решается годами, решил рассказать о ней чуть подробнее. Проблема заключается в том, что из локальной сети, имеющей единственный выход в Интернет, невозможно установить одновременно более одного соединения к внешнему L2TP/IPSec VPN серверу с компов под управлением Windows.

Допустим, у вас заведено несколько пользователей на внешнем VPN L2TP сервере. По отдельности, каждый из них спокойно устанавливает соединение с сервером и работает стабильно, без сбоев. Любые попытки одновременной работы с VPN сервером других пользователей сети, использующих один внешний IP, прерывают работу друг друга, возвращая в журнал Windows код ошибки 809 .

Наблюдается такой эффект исключительно на компьютерах под управлением ОС Windows, начиная с XP и заканчивая «десяткой». Причём на Linux и MacOS всё прекрасно работает вне зависимости от того, сколько одновременно клиентов подключается к удалённому L2TP/IPSec серверу. Так что это проблема не в настройках VPN сервера или роутера, как пишут на многих форумах (да и сами мелкомягкие), а именно в некорректной работе встроенного L2TP/IPSec клиента на Windows.

Честно говоря, ранее эта проблема обходила меня стороной. Всегда использовал OpenVPN и столкнулся с ней впервые только сейчас, после поднятия L2TP VPN-сервера на роутере Keenetic . После чего и было принято решение объединять сети офисов между собой, а не давать доступ отдельным клиентам, но об этом расскажу в следующей статье.

Есть ли решение проблемы при работе с L2TP/IPSec в Windows?

Если совсем кратко, то там говорится что в случае, когда VPN сервер L2TP/IPsec находится за NAT, для корректного подключения внешних клиентов через NAT необходимо на стороне сервера и клиента внести изменение в реестр, разрешавшее UDP инкапсуляцию пакетов для L2TP и поддержку (NAT-T) для IPsec.

К сожалению, добавление в реестр параметра UDPEncapsulationContextOnSendRule 2 , о котором также написано в статье, проблемы не решает. В сети можно найти упоминание пары дополнительных ключей реестра и отключении одной службы, связанной с играми, но вся эта неведомая магия не работает. Как только появляется другой клиент под виндой, твоё соединение отваливается.

Чтобы получить хоть какую-то пользу (кроме моего негативного опыта) от моего поста, собрал несколько ссылок по теме L2TP/IPsec и NAT-T в Windows:

Подписывайтесь на канал и узнавайте первыми о новых материалах, опубликованных на сайте.

date

26.10.2020

directory

Windows 10, Windows Server 2016

comments

комментариев 19

Столкнулись с интересной проблемой у одного из заказчиков после перенастройки 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.

vpn ошибка при подключении за NAT

В других версиях Windows о наличии аналогичной проблемы могут свидетельствовать ошибки VPN подключения 800, 794 или 809.

Стоит отметить, что данный VPN сервер находится за NAT, а на маршрутизаторе настроен проброс портов, необходимых для работы L2TP:

В правилах Windows Firewall VPN сервера эти порты также открыты. Т.е. используется классическая конфигурация. Для подключения используется встроенный VPN клиент Windows.

Если подключаться к этому же VPN серверу через PPTP, подключение успешно устанавливается.

VPN ошибка 809 для L2TP/IPSec в Windows за NAT

Если VPN сервер L2TP/IPsec находится за NAT, то для корректного подключения внешних клиентов через NAT необходимо на стороне Windows сервера и клиента внести изменение в реестр, разрешающее UDP инкапсуляцию пакетов для L2TP и поддержку (NAT-T) для IPsec.

Примечание. Возможные значения параметра AssumeUDPEncapsulationContextOnSendRule: Если и Windows 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:

Что интересно, эта проблема наблюдется только с 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 клиентами или утилитами)

Параметры реестра ProhibitIPSec AllowL2TPWeakCrypto для корректной работы VPN за NAT


Для изменения этих параметров реестра достаточно выполнить команды:
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).

В этой статье описывается устранение неполадок с подключением виртуальной частной сети (VPN) L2TP/IPSec.

Применяется к: Windows 10 — все выпуски
Исходный номер КБ: 325034

Сводка

При устранении неполадок подключения L2TP/IPSec полезно понять, как происходит подключение L2TP/IPSec. При запуске подключения на сервер отправляется начальный пакет L2TP с запросом подключения. Этот пакет заставляет уровень IPSec на компьютере договариваться с VPN-сервером о том, чтобы настроить защищенный сеанс IPSec (ассоциация безопасности). В зависимости от многих факторов, включая скорость ссылок, переговоры по IPSec могут занять от нескольких секунд до двух минут. Когда создана ассоциация безопасности IPSec (SA), начинается сеанс L2TP. Когда она начинается, вы получаете запрос на имя и пароль (если подключение не настроено для автоматического подключения в Windows Millennium Edition.) Если VPN-сервер принимает ваше имя и пароль, настройка сеанса завершается.

Вторая распространенная проблема, которая препятствует успешному сеансу IPSec, — это использование сетевого перевода адресов (NAT). Во многих небольших сетях маршрутизатор с функциональными возможностями NAT используется для обмена одним интернет-адресом между всеми компьютерами в сети. Оригинальная версия IPSec сбрасывает подключение, которое проходит через NAT, так как обнаруживает адресное сопоставление NAT как подделывания пакетов. Домашние сети часто используют NAT. Это блокирует использование L2TP/IPSec, если клиент и шлюз VPN не поддерживают возникающий стандарт IPSec NAT-Traversal (NAT-T). Дополнительные сведения см. в разделе "Nat Traversal".

Если подключение сбой после получения запроса на имя и пароль, сеанс IPSec был создан, и, вероятно, что-то не так с вашим именем и паролем. Другие параметры сервера также могут препятствовать успешному подключению L2TP. В этом случае отправьте журнал PPP администратору.

NAT Traversal

При поддержке IPSec NAT-T в VPN-клиенте Microsoft L2TP/IPSec сеансы IPSec могут проходить через NAT, когда VPN-сервер также поддерживает IPSec NAT-T. IPSec NAT-T поддерживается Windows Server 2003. IPSec NAT-T также поддерживается Windows 2000 Server с обновлением L2TP/IPSec NAT-T для Windows XP и Windows 2000.

Для сторонних VPN-серверов и шлюзов обратитесь к администратору или поставщику шлюзов VPN, чтобы убедиться, что IPSec NAT-T поддерживается.

Убедитесь, что маршрутизатор, за которым находится VPN-клиент, обеспечивает NAT-T (NAT Traversal).

Также убедитесь, что служба "IPSec Policy Agent" функционирует.

Спасибо моей жене Кате, Клевогину С.П., Козлову С.В., Муравлянникову Н.А., Никитину И.Г., Шапиро Л.В. за мои знания! :)

Немного не опнял какой маршрутизатор.

Как проверить, что работает служба служба "IPSec Policy Agent"?

Goblany, что используете, "preshared key" или сертификаты?

По поводу маршрутизатора и NAT-T. Как справедливо заметил Дмитрий Никитин, если VPN-клиент успешно соединялся с использованием PPTP, то проблемы с NAT у Вашего VPN-клиента скорее всего нет. Но, все же проверьте, если VPN-клиент находится "за NAT", то обеспечивает ли маршрутизатор клиента NAT Traversal. Спасибо моей жене Кате, Клевогину С.П., Козлову С.В., Муравлянникову Н.А., Никитину И.Г., Шапиро Л.В. за мои знания! :)

Необходимо дополнительно настроить клиентский компьютер.

добавить в раздел

Для Windows XP: HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\IPSec
Для Windows Vista: HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\PolicyAgent

значение DWORD: AssumeUDPEncapsulationContextOnSendRule=2

Перезагрузить коммпьютер.
Пробуем подключиться к VPN серверу.

Использую сертификаты. Не работает именно с ними.

Добавил десятичный параметр
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\IPSec

А если с "preshared key" попробовать? Спасибо моей жене Кате, Клевогину С.П., Козлову С.В., Муравлянникову Н.А., Никитину И.Г., Шапиро Л.В. за мои знания! :)

Если использовать предварительный ключ проверки, то подключиться удается.

Рассказывайте, как сертификаты ISA и клиентам выдавали.

Спасибо моей жене Кате, Клевогину С.П., Козлову С.В., Муравлянникову Н.А., Никитину И.Г., Шапиро Л.В. за мои знания! :)

Может быть еще надо запрашивать каие? Вот только что нашел, что в mmc для локального компьютера-личные надо запростить какой-то сертификат дя компьютера, Но у мня он не запрашивается из-за фильтра RPC, как я понимаю, но отключение RPC недоступно у меня.

Еще хочу добавить (если это имеет значение), что на ISA в мониоринге показывается соединенеи по протоклолу ike-клиент порт 500. Так и должно быть?

Да, IKE используется для установления IPSec-соединения.

По поводу сертификатов. Необходимо обеспечить сертификатом компьютера сервер ISA. Также необходимо обеспечить сертификатом компьютера, не пользователя, компьютеры клиентов. Далее. Важно, чтобы к этим сертификатам было доверие с обеих сторон, т.е. чтобы они были выпущены доверенным удостоверяющим центром. Сертификат на компьютере ISA можно запросить с помощью утилиты "certreq", сохранив запрос в файл. Сертификаты клиентских компьютеров можно запросить через узел "\certsrv", разрешив пользователям запрашивать сертификаты на основе шаблона "IPSec offline request". при этом убедитесь, что сертификаты для пользовательких компьютеров Вы получаете с закрытым ключом ("allow private key to be exported" в шаблоне и "store certificate in computer store" - когда получаете).

Хочу немного уточнить.
1) Значит нам на компьютере пользователя и VPN-сервере и сервера нужно, чобы в доверенных центрах сертификации был сертификат сервера сертификации моей сети. Например, если мой сервер сертификации Sert Aut Center, то его сертификат лежит в доверительных корневых центрах сервера и клиента БЕЗ ключа. Импортировать его можно с диска C:\ сервера сертификатов.

4) На клиенте запрашиваем сертификат пользоваля, который выдается каждому пользователю для VPN-подключения (с ключем).

Я не понимаю, какие еще сертияикаты мне нужно получить. Почему по PPTP соединение с сертификатами идет, а L2Tp нет.
Где еще можно покопать?

Проблема при работе с L2TP/IPSec под Windows

Изначально, не планировал выделять для данного материала отдельный пост, но так как проблема не решается годами, решил рассказать о ней чуть подробнее. Проблема заключается в том, что из локальной сети, имеющей единственный выход в Интернет, невозможно установить одновременно более одного соединения к внешнему L2TP/IPSec VPN серверу с компов под управлением Windows.

Допустим, у вас заведено несколько пользователей на внешнем VPN L2TP сервере. По отдельности, каждый из них спокойно устанавливает соединение с сервером и работает стабильно, без сбоев. Любые попытки одновременной работы с VPN сервером других пользователей сети, использующих один внешний IP, прерывают работу друг друга, возвращая в журнал Windows код ошибки 809.

Наблюдается такой эффект исключительно на компьютерах под управлением ОС Windows, начиная с XP и заканчивая «десяткой». Причём на Linux и MacOS всё прекрасно работает вне зависимости от того, сколько одновременно клиентов подключается к удалённому L2TP/IPSec серверу. Так что это проблема не в настройках VPN сервера или роутера, как пишут на многих форумах (да и сами мелкомягкие), а именно в некорректной работе встроенного L2TP/IPSec клиента на Windows.

Честно говоря, ранее эта проблема обходила меня стороной. Всегда использовал OpenVPN и столкнулся с ней впервые только сейчас, после поднятия L2TP VPN-сервера на роутере Keenetic. После чего и было принято решение объединять сети офисов между собой, а не давать доступ отдельным клиентам, но об этом расскажу в следующей статье.

Есть ли решение проблемы при работе с L2TP/IPSec в Windows?

Если совсем кратко, то там говорится что в случае, когда VPN сервер L2TP/IPsec находится за NAT, для корректного подключения внешних клиентов через NAT необходимо на стороне сервера и клиента внести изменение в реестр, разрешавшее UDP инкапсуляцию пакетов для L2TP и поддержку (NAT-T) для IPsec.

К сожалению, добавление в реестр параметра DWORD с именем UDPEncapsulationContextOnSendRule и значением ( ), о котором также написано в статье, проблемы не решает.

Параметр UDPEncapsulationContextOnSendRule добавляется в ветку реестра:

  • для Windows XP — HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\IPSec
  • для Windows Vista/7/8/10 — HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\PolicyAgent

В сети можно найти упоминание ещё пары дополнительных ключей реестра и отключении одной службы, связанной с играми, но вся эта неведомая магия не работает. Как только появляется другой клиент под виндой, твоё соединение отваливается.

Чтобы получить хоть какую-то пользу (кроме моего негативного опыта) от моего поста, собрал несколько ссылок по теме L2TP/IPsec и NAT-T в Windows:

Яндекс.Дзен и узнавайте первыми о новых материалах, опубликованных на сайте.

Если считаете статью полезной,
не ленитесь ставить лайки и делиться с друзьями.

Microsoft берёт пример с Linux? Новый терминал Windows 10 с открытым исходным кодом. Запускаем виртуальную машину Hyper-V в Windows 10. Пошаговая инструкция Controlled Folder Access - новая фунция Windows 10 для борьбы с шифровальщиками Как себя чувствует Windows XP в 2020 году? Открытие портов в брандмауэре Windows Установка Windows 7 с внешнего HDD

Комментариев: 5

Месяц я мучился с WINDOWS 10 Pro .

Мелкософтцы запарили своими багами

| Спасибо тебе Аноним

Смог наконец то избавиться от ошибки 809.

VPN на Server 2008 R2, клиент Windows 10

2 недели мучился, на Windows 7, Windows 10

СПАСИБО параметры народ)

У меня получилось так. VPN на Server 2008 r2, клиенты на Win 7 и 10. Все за NATом.

Однако клиенты на мобильном интернете не могут подключиться по L2TP, а на Мегафоне и по PPTP.

Читайте также: