Gelöst: L2TP/IPsec hinter NAT funktioniert nicht
Trotz richtiger Portfreigaben antwortet der Server nicht
Problem
Trotz richtiger Portfreigaben auf dem Router (Fritzbox) kann ich von außen keine VPN-Verbindung (L2TP/IPsec) möglich. Die DynDNS-Adresse wird korrekt auf die externe IP-Adresse aufgelöst und im internen Netz funktioniert die VPN-Verbindung problemlos. Der VPN-Client von Windows meldet, dass der Server nicht antwortet (809).
Wie kann ich das Problem beheben?
Lösung
Windows 7 & 8 kommen standardmäßig nicht mit VPN-Tunnel klar, die sich in einem NAT-Netzwerk befinden. Die Fehlermeldung ist insofern irreführend, dass der Server serwohl antwortet, der Client die Antwort nur nicht interpretieren kann. Hierfür muss lediglich ein Registryeintrag getätigt werden, damit alles so funktioniert, wie es soll.
In der Registry muss ein DWORD-Wert (32-Bit) unter HKEY_LOCAL_MACHINE\System\CurrentControlSet\Services\IPsec angelegt werden. Dieser muss "AssumeUDPEncapsulationContextOnSendRule" lauten und den Wert 2 besitzen. Der Standardwert lautet "0" und verhindert die Kommunikation mit Geräten, die sich im NAT befinden. Der Wert "1" sorgt dafür, dass ähnlich wie bei Wert "2" die Kommunikation mit NAT-Geräten funktioniert, jedoch nur bis Server 2003R. (Wert 2 ist ab Windows Server 2008)
Nach einem Neustart des Clients, funktioniert das IPsec zu einem Server hinter einem NAT.