Tryb transportu IPsec między maszynami za urządzeniami Nat nie działa

0

Mój scenariusz nie korzysta z żadnego rodzaju sieci VPN i nie korzysta z usługi RRAS.

Próbuję ustanowić połączenie IPsec między dwoma komputerami z systemem Windows 10 (oba z pełną łatką 1709), które są za różnymi urządzeniami Nat.

Za pomocą zapory systemu Windows utworzyłem dwie reguły transportu na obu komputerach, które są związane z protokołem Smb.

Oba urządzenia znajdują się za Nat, dwa urządzenia Nat są połączone przez Internet.

Na obu komputerach utworzyłem klucz rejestru „AssumeUDPEncapsulationContextOnSendRule” i ustawiłem jego wartość na obu komputerach na „2”.

Na urządzeniu Nat przed serwerem próbuję się połączyć Przekierowałem porty Udp 500 i 4500 i wszystkie porty związane z Smb do samego serwera.

W obu komputerach zezwalałem, przez zaporę systemu Windows, na przychodzące i wychodzące porty Udp 500, 4500, a nawet pozwalałem na „Edge traversal” dla Smb w połączeniu z komputerem na serwerze.

Gdy próbuję uzyskać zdalny dostęp do serwera, tworzone są skojarzenia zabezpieczeń w trybie szybkim, ale połączenie nie działa. (Dane wyjściowe polecenia Get-NetIpsecQuickmodeSa wydają się być prawidłowe, tzn. Enkapsulacja Udp została poprawnie utworzona)

Połączenie działa, gdy klient stoi za Nat, a serwer ma publiczny Ip, ale nie działa, gdy klient ma publiczny Ip, a serwer jest za Nat lub gdy zarówno klient, jak i serwer znajdują się za Nat.

Muszą być jakieś ustawienia, które ignoruję.

Proszę o pomoc w rozwiązaniu tego problemu.

Wielkie dzięki

Evolve_or_Die
źródło

Odpowiedzi:

1

Byłem pewien, że było pewne ustawienie, które ignorowałem i oto:

Set-NetFirewallSetting -AllowIPsecThroughNAT Oba

Ustawienie rejestru „AssumeUDPEncapsulationContextOnSendRule” jest powiązane ze starą usługą agenta zasad IPsec systemu Windows.

Powyższe polecenie programu PowerShell umożliwia takie samo zachowanie zapory systemu Windows, w szczególności ustawia wartość rejestru „IPsecThroughNAT” na „2”.

Teraz wszystko działa zgodnie z oczekiwaniami i jak powinno być od samego początku, powinno to być ustawienie domyślne.

Evolve_or_Die
źródło
0

System Windows może nie obsługiwać serwera znajdującego się za urządzeniem NAT. Wymaga od serwera publicznego adresu IP. Obejściem tego problemu jest dodanie następującego klucza rejestru.

Lokalizacja podklucza rejestru: HKEY_LOCAL_MACHINE \ SYSTEM \ CurrentControlSet \ Services \ PolicyAgent DWORD Nazwa wartości: AssumeUDPEncapsulationContextOnSendRule Dane wartości DWORD: 2

Źródło:

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/

Abu Zaid
źródło
1
Czy czytałeś moje pytanie? Jasne jest, że nie.
Evolve_or_Die