Мой сценарий не использует VPN и не использует RRAS.

Я пытаюсь установить соединение IPsec между двумя компьютерами с Windows 10 (обе с 1709 полностью исправленными), которые находятся за разными устройствами Nat.

Через брандмауэр Windows я создал два правила транспорта на обеих машинах, правила связаны с протоколом Smb.

Оба устройства находятся за Nat, два устройства Nat подключены через Интернет.

Я создал на обеих машинах раздел реестра «AssumeUDPEncapsulationContextOnSendRule» и установил его значение на обоих ПК равным «2».

На устройстве Nat перед сервером, который я пытаюсь достичь, я перенаправил порты Udp 500 и 4500 и все связанные с Smb порты на сам сервер.

В обоих ПК я разрешил через брандмауэр Windows входящие и исходящие порты Udp 500, 4500 и даже разрешил «обход краев» для Smb при подключении к серверу ПК.

Когда я пытаюсь получить удаленный доступ к серверу, создаются ассоциации безопасности быстрого режима, но соединение не работает. (Вывод команды Get-NetIpsecQuickmodeSa выглядит нормально, то есть инкапсуляция Udp была правильно создана)

Соединение работает, когда клиент находится за Nat, а сервер имеет общедоступный Ip, но не работает, когда клиент имеет общедоступный Ip, а сервер находится за Nat, или когда клиент и сервер находятся за Nat.

Должна быть какая-то настройка, которую я игнорирую.

Пожалуйста, помогите мне решить эту проблему.

большое спасибо

2 ответа2

1

Я был уверен, что была какая-то настройка, которую я игнорировал, и вот она:

Set-NetFirewallSetting -AllowIPsecThroughNAT Оба

Параметр реестра «AssumeUDPEncapsulationContextOnSendRule» связан со старой службой агента политики Windows IPsec.

Приведенная выше команда Powershell допускает такое же поведение для брандмауэра Windows, в частности для параметра реестра «IPsecThroughNAT» устанавливается значение «2».

Теперь все работает как положено, и, как и должно быть с самого начала, это должно быть настройкой по умолчанию.

0

Windows может не поддерживать Сервер за устройством NAT. Требуется, чтобы Сервер имел публичный IP-адрес. Существует обходной путь, добавив следующий раздел реестра.

Расположение подраздела реестра: HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\PolicyAgent DWORD Имя значения: AssumeUDPEncapsulationContextOnSendRule DWORD Значение данных: 2

Источник:

https://support.microsoft.com/en-us/help/926179/how-to-configure-an-l2tp-ipsec-server-behind-a-nat-t-device-in-windows

http://www.itdroplets.com/l2tp-vpn-not-working-in-windows/

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .