URAMIRAIKAN

1020のなれの果て (since 2005.6.19)

Windows 10でL2TP接続がうまくいかない場合

 久々に仕事でWindows標準のVPNクライアント(L2TP/IPSec)を使う必要があったのですが、最初は接続がうまくいかずに四苦八苦してしまいました。
 そんなわけで、とりあえずやったことのメモ

 Windows 10の場合は基本的には[設定]→[ネットワークとインターネット]→[VPN]とメニューを開いてくのが普通だと思う。基本的な設定は省略。
 それでうまくいかなかったときに確認したところ。

アダプターの設定

 関連設定から[アダプターのオプションを変更する]を選択すると見慣れたコントロールパネルのウインドウが表示されるので、VPN接続を右クリックして[プロパティ]を開く。
 特に[セキュリティ]タブの内容。暗号化とか認証の設定がサーバ側と整合性がとれているか確認する。



レジストリ

 サーバとクライアントのそれぞれのネットワーク環境を確認してNATトラバーサルが必要な場合は、レジストリの設定が必要となる場合がある。
 レジストリエディタで"HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\PolicyAgent"を開き、"AssumeUDPEncapsulationContextOnSendRule"の値を確認する。なければ[DWORD (32ビット)]で新規作成する。
 通常は"2"を設定することになると思われる(サーバ/クライアント共にNATの背後に接続)。キーが存在しないか"0"の場合はNATトラバーサルが無効になっている。
 レジストリを設定したらWindowsを再起動する。

ファイアウォール

 それでも接続できず、エラー内容がサーバからの応答なし(エラーコード 809)の場合はIPSec関連のファイアウォールを疑う。
 コマンドプロンプトから以下のコマンドを実行し、再起動する。

C:\>netsh advfirewall set global ipsec ipsecthroughnat serverandclientbehindnat

 自分の場合はここまでやったら接続できるようになった。