IPv4 over IPv6の環境に対してWindowsからL2TP/IPsec接続ができない時のメモ

投稿者: | 2025年4月8日

WireGuardを使え。

どういうことか?
例えばIPv4 over IPv6(MAP-E)で接続しているVPNルータに対し、v4環境からL2TP/IPsec接続する……といった状況の時、クライアント側から見るとVPNルータはMAP-EによるNATを越えた先に配置されていることになる。
これを正しく構成した時、Linux等では問題なく接続できるものの、WindowsビルトインのVPNクライアントを用いて接続すると通信自体は届いているがVPNが確立しないという事象が発生する。

これはWindowsのデフォルト設定ではNATの背後にあるデバイスに対するIPsec NAT-Tがサポートされていないことによるもの。なのでWireGuardを使え。
これは下記リンクの通り、レジストリを変更することで対処可能。
恐らくデフォルトでは値自体が無いので新規作成する。Windows11 24H2で確認。

NAT-T デバイスの背後にある L2TP/IPsec サーバーを構成する - Windows Server | Microsoft Learn

HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\PolicyAgent
---
DWORD値
AssumeUDPEncapsulationContextOnSendRule    2

恐らく適用には再起動が必要になると思うが、これを設定することによりNAT背後にあるデバイスへのIPsecが確立できるようになる。

だからWireGuardを使え。

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です