- Устранение неполадок с подключением виртуальных частных сетевых клиентов Microsoft L2TP/IPSec
- Аннотация
- NAT Traversal
- Дополнительные сведения
- Проблема при работе с L2TP/IPSec под Windows которая не решается годами
- Есть ли решение проблемы при работе с L2TP/IPSec в Windows?
- Комментариев: 5
- Настройка сервера L2TP/IPsec за устройством NAT-T
- Аннотация
- Установите ключ реестра AssumeUDPEncapsulationContextOnSendRule
- Configure a L2TP/IPsec server behind a NAT-T device
- Summary
- Set AssumeUDPEncapsulationContextOnSendRule registry key
Устранение неполадок с подключением виртуальных частных сетевых клиентов Microsoft L2TP/IPSec
В этой статье описывается устранение неполадок с подключением виртуальной частной сети (VPN) L2TP/IPSec.
Оригинальная версия продукта: Windows 10 — все выпуски
Исходный номер КБ: 325034
Аннотация
Прежде чем сделать VPN-подключение L2TP/IPSec, необходимо иметь подключение к Интернету. Если вы попробуете сделать VPN-подключение перед подключением к Интернету, у вас может возникнуть длинная задержка, обычно 60 секунд, а затем вы можете получить сообщение об ошибке, в результате чего не было ответа или что-то не так с модемом или другим устройством связи.
При устранении неполадок подключения L2TP/IPSec полезно понять, как происходит подключение L2TP/IPSec. При запуске подключения на сервер отправляется начальный пакет L2TP с запросом подключения. Этот пакет заставляет уровень IPSec на компьютере договариваться с VPN-сервером о том, чтобы настроить защищенный сеанс IPSec (ассоциация безопасности). В зависимости от многих факторов, включая скорость ссылок, переговоры по IPSec могут занять от нескольких секунд до двух минут. Когда создана ассоциация безопасности IPSec (SA), начинается сеанс L2TP. Когда она начинается, вы получаете запрос на имя и пароль (если подключение не настроено для автоматического подключения в Windows Millennium Edition.) Если VPN-сервер принимает ваше имя и пароль, настройка сеанса завершается.
Распространенный сбой конфигурации в соединении L2TP/IPSec — это неправильно сконфигурованный или отсутствующий сертификат или неправильно сконфигурованный или отсутствующий предустанавленный ключ. Если на уровне IPSec не удастся установить зашифрованный сеанс с VPN-сервером, он будет работать безмолвно. В результате уровень L2TP не видит ответа на запрос подключения. Задержка будет долгой, обычно 60 секунд, и тогда вы можете получить сообщение об ошибке, в результате чего на сервере не было ответа или не было ответа от модема или устройства связи. Если вы получили это сообщение об ошибке перед получением запроса на имя и пароль, IPSec не устанавливал сеанс. Если это произойдет, проверьте конфигурацию сертификата или предварительно предварительного ключа или отправьте журнал isakmp администратору сети.
Вторая распространенная проблема, которая препятствует успешному сеансу 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 поддерживается.
Дополнительные сведения
Кроме того, в утилите конфигурации предусмотрена проверка, которая включает ведение журнала IPSec. Если вы не можете подключиться, и администратор сети или сотрудники службы поддержки обратились к вам с просьбой предоставить им журнал подключения, вы можете включить ведение журнала IPSec здесь. При этом журнал (Isakmp.log) создается в C:\Program Files\Microsoft IPSec VPN папке. При создании подключения также включить ведение журнала для обработки PPP в L2TP. Для этого:
- Щелкните правой кнопкой мыши папку сети dialup и нажмите кнопку Свойства.
- Щелкните вкладку Networking, а затем выберите запись файла журнала для этого окна подключения.
Файл журнала PPP C:\Windows\Ppplog.txt является . Он расположен в C:\Program Files\Microsoft IPSec VPN папке.
Дополнительные сведения см. в дополнительных сведениях о параметрах шифрования по умолчанию для виртуального частного сетевого клиента Microsoft L2TP/IPSec.
Проблема при работе с 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?
Но неужели Microsoft не знает о проблеме? Знает. Как оказалось, проблема давно известна и описана в статье https://support.microsoft.com/en-us/kb/926179. Но вот с решением беда.
Если совсем кратко, то там говорится что в случае, когда 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:
- Настройка сервера L2TP/IPsec за устройством NAT-T в Windows: https://support.microsoft.com/ru-ru/help/926179/how-to-configure-an-l2tp-ipsec-server-behind-a-nat-t-device-in-windows
- Реализация L2TP/IPsec VPN сервера стандартными средствами Windows 7/8 для подключения Windows/iOS/Android систем к внутренней сети: https://habr.com/ru/post/210410/
- IPSec — протокол защиты сетевого трафика на IP-уровне: https://www.ixbt.com/comm/ipsecure.shtml
Если считаете статью полезной,
не ленитесь ставить лайки и делиться с друзьями.
Комментариев: 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.
Настройка сервера L2TP/IPsec за устройством NAT-T
В этой статье описывается настройка сервера L2TP/IPsec за устройством NAT-T.
Оригинальная версия продукта: Windows 10 — все выпуски, Windows Server 2012 R2
Исходный номер КБ: 926179
Аннотация
В этот раздел, описание метода или задачи включены действия, содержащие указания по изменению параметров реестра. Однако неправильное изменение параметров реестра может привести к возникновению серьезных проблем. Поэтому следует в точности выполнять приведенные инструкции. Для дополнительной защиты создайте резервную копию реестра, прежде чем редактировать его. Так вы сможете восстановить реестр, если возникнет проблема. Дополнительные сведения о том, как создать и восстановить реестр, см. в этой информации, как создать и восстановить реестр в Windows.
По умолчанию Ассоциации безопасности Windows Vista и Windows Server 2008 не поддерживают сетевые связи безопасности протокола Интернета (IPsec) на серверы, расположенные за устройством NAT. Если виртуальный частный сервер сети (VPN) находится за устройством NAT, клиентский компьютер Windows Vista или Windows Server 2008 не может сделать протокол туннелинга уровня 2 (L2TP)/IPsec подключением к VPN-серверу. Этот сценарий включает VPN-серверы с Windows Server 2008 и Windows Server 2003.
Из-за того, как устройства NAT переводят сетевой трафик, в следующем сценарии могут возникнуть неожиданные результаты:
- Вы ставите сервер за устройство NAT.
- Используется среда IPsec NAT-T.
Если для связи необходимо использовать IPsec, используйте общедоступные IP-адреса для всех серверов, к которые можно подключиться из Интернета. Если необходимо поставить сервер за устройство NAT, а затем использовать среду IPsec NAT-T, вы можете включить связь, изменив значение реестра на клиентский компьютер VPN и VPN-сервер.
Установите ключ реестра AssumeUDPEncapsulationContextOnSendRule
Чтобы создать и настроить значение реестра AssumeUDPEncapsulationContextOnSendRule, выполните следующие действия:
Войдите на клиентский компьютер Windows Vista в качестве пользователя, который является членом группы администраторов.
Выберите запуск всех > программ, запуск > аксессуаров, тип > regedit, а затем выберите ОК. Если диалоговое окно Управления учетной записью пользователя отображается на экране и подсказок для повышения маркера администратора, выберите Продолжить.
Найдите и выделите следующий подраздел реестра:
Вы также можете применить значение Допустимый код DWORDContextOnSendRule для vpn-клиента Microsoft Windows XP Пакет обновления 2 (SP2). Для этого найдите и выберите подкайку HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\IPSec реестра.
В меню Редактирование указать значение New, а затем выберите значение DWORD (32-bit).
Введите AssumeUDPEncapsulationContextOnSendRule и нажмите кнопку ENTER.
Правой кнопкой мыши предположитьUDPEncapsulationContextOnSendRule, а затем выберите Изменить.
В поле «Данные о значении» введите одно из следующих значений:
Это значение по умолчанию. Если установлено 0, Windows не может установить связи безопасности с серверами, расположенными за устройствами NAT.
Если установлено 1, Windows может устанавливать связи безопасности с серверами, расположенными за устройствами NAT.
Если установлено 2, Windows может создавать ассоциации безопасности, когда сервер и клиентский компьютер VPN (Windows Vista или Windows Server 2008) находятся за устройствами NAT.
Выберите ОК, а затем выйти из редактора реестра.
Configure a L2TP/IPsec server behind a NAT-T device
This article describes how to configure a L2TP/IPsec server behind a NAT-T device.
Original product version: В Windows 10 — all editions, Windows Server 2012 R2
Original KB number: В 926179
Summary
This section, method, or task contains steps that tell you how to modify the registry. However, serious problems might occur if you modify the registry incorrectly. Therefore, make sure that you follow these steps carefully. For added protection, back up the registry before you modify it. Then, you can restore the registry if a problem occurs. For more information about how to back up and restore the registry, see How to back up and restore the registry in Windows.
By default, Windows Vista and Windows Server 2008 don’t support Internet Protocol security (IPsec) network address translation (NAT) Traversal (NAT-T) security associations to servers that are located behind a NAT device. If the virtual private network (VPN) server is behind a NAT device, a Windows Vista or Windows Server 2008-based VPN client computer can’t make a Layer 2 Tunneling Protocol (L2TP)/IPsec connection to the VPN server. This scenario includes VPN servers that are running Windows Server 2008 and Windows Server 2003.
Because of the way in which NAT devices translate network traffic, you may experience unexpected results in the following scenario:
- You put a server behind a NAT device.
- You use an IPsec NAT-T environment.
If you must use IPsec for communication, use public IP addresses for all servers that you can connect to from the Internet. If you must put a server behind a NAT device, and then use an IPsec NAT-T environment, you can enable communication by changing a registry value on the VPN client computer and the VPN server.
Set AssumeUDPEncapsulationContextOnSendRule registry key
To create and configure the AssumeUDPEncapsulationContextOnSendRule registry value, follow these steps:
Log on to the Windows Vista client computer as a user who is a member of the Administrators group.
Select Start > All Programs > Accessories > Run, type regedit, and then select OK. If the User Account Control dialog box is displayed on the screen and prompts you to elevate your administrator token, select Continue.
Locate and then select the following registry subkey:
You can also apply the AssumeUDPEncapsulationContextOnSendRule DWORD value to a Microsoft Windows XP Service Pack 2 (SP2)-based VPN client computer. To do so, locate and then select the HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\IPSec registry subkey.
On the Edit menu, point to New, and then select DWORD (32-bit) Value.
Type AssumeUDPEncapsulationContextOnSendRule, and then press ENTER.
Right-click AssumeUDPEncapsulationContextOnSendRule, and then select Modify.
In the Value Data box, type one of the following values:
It’s the default value. When it’s set to 0, Windows can’t establish security associations with servers located behind NAT devices.
When it’s set to 1, Windows can establish security associations with servers that are located behind NAT devices.
When it’s set to 2, Windows can establish security associations when both the server and VPN client computer (Windows Vista or Windows Server 2008-based) are behind NAT devices.
Select OK, and then exit Registry Editor.