こんにちは、UOZUです!
今回は、Windows 11から「さくらのクラウド」のVPNルータへ、L2TP/IPsecを利用してリモートアクセスVPN接続してみます。
さくらのクラウドのVPNルータでは、L2TP/IPsecによるリモートアクセス機能が用意されているため、Windows 11の標準VPNクライアントから接続することができます。
自宅や社内など、外部ネットワークからさくらのクラウド内のサーバーへ安全にアクセスしたい場合に便利な機能です。
しかし、実際にWindows 11から接続してみると、VPNルータ側の設定だけではL2TP/IPsec接続が正常に確立できない場合があります。
その原因の一つが「NAT」です。
今回は、NAT配下にあるWindows 11から、さくらのクラウドのVPNルータへL2TP/IPsec接続する際に必要となるWindows側のレジストリ設定について確認してみます。
今回の構成
今回想定するネットワーク構成は以下です。
Windows 11 (192.168.10.100)
│
│ L2TP/IPsec
▼
自宅・社内ルータ (192.168.10.1/24)
(NAT)
│
▼
インターネット (198.51.100.100)
│
▼
さくらのクラウド
VPNルータ (203.0.113.100)
│
▼
プライベートネットワーク (192.168.0.1/24)
│
├─ Webサーバー (192.168.0.20)
└─ DBサーバー (192.168.0.30)
Windows 11は、自宅や社内のルータを経由してインターネットへ接続しています。
つまり、Windows 11自身にはプライベートIPアドレスが割り当てられており、ルータでNATされてからインターネットへ通信する構成です。
さくらのクラウドのVPNルータでL2TP/IPsecを設定する
まず、さくらのクラウド側でL2TP/IPsecによるリモートアクセスを有効にします。
対象となるVPNルータを開き、
「リモートアクセス」
↓
「L2TP/IPsecサーバ」
から設定します。
L2TP/IPsecサーバを有効にして、
・動的割り当て範囲(開始)
・動的割り当て範囲(終了)
・Pre Shared Secret
を設定します。

動的割り当て範囲には、VPN接続したWindows 11へ割り当てるIPアドレスの範囲を指定します。
Pre Shared Secretには、Windows 11側でも使用する事前共有鍵(Pre-Shared Key)を設定します。
設定後、「反映」をクリックしてVPNルータへ設定を反映します。

Windows 11にVPN接続を追加する
続いてWindows 11側を設定します。
「設定」から、
ネットワークとインターネット
↓
VPN
↓
VPNを追加
を開きます。
VPNプロバイダーには、
Windows(ビルトイン)
を選択します。
VPNの種類には、
事前共有キーを使ったL2TP/IPsec
を指定します。
サーバー名またはアドレスには、さくらのクラウドのVPNルータのグローバルIPアドレスを入力します。
さらに、VPNルータ側で設定した事前共有キーと、リモートアクセス用のユーザー名・パスワードを設定します。

さらに、保存したのち「詳細オプション」から「その他の VPNプロパティ」の「編集」、「セキュリティ」タブから、「次のプロトコルを許可する(P)」をクリックし、「Microsoft CHAP Version 2 (MS-CHAP v2)」がチェックされた状態となったら、「OK」で保存します。

ここまでが一般的なWindows11でのVPN接続方法です。
しかし、Windows 11がNAT配下にある環境では、この状態で接続できない場合があります。
NAT配下のWindows 11では追加設定が必要になる場合がある
今回のWindows 11は、
Windows 11
↓
NATルータ
↓
インターネット
↓
さくらのクラウド VPNルータ
という構成です。
L2TP/IPsecでは、NAT環境を経由してIPsec通信を行うためにNAT Traversal(NAT-T)が利用されます。
さくらのクラウドのVPNルータもNAT-Tに対応しており、NAT-T利用時にはUDP 500およびUDP 4500が使用されます。
Windows側についても、NAT環境でL2TP/IPsecを利用する構成によっては、レジストリの設定が必要になります。
Windows 11のレジストリを設定する
「Win + R」を押して「ファイル名を指定して実行」を開きます。
regedit
と入力して、レジストリエディターを起動します。

以下のキーを開きます。
HKEY_LOCAL_MACHINE \SYSTEM \CurrentControlSet \Services \PolicyAgent
右側で右クリックして、
新規 ↓ DWORD(32ビット)値
を選択します。
名前には、
AssumeUDPEncapsulationContextOnSendRule
を指定します。
作成した値を開き、環境に応じて値を設定します。
Microsoftでは、この値について次のように定義しています。
0:既定値 1:VPNサーバーがNAT配下にある場合 2:VPNサーバーとVPNクライアントの両方が NAT配下にある場合
ネットワーク構成を確認したうえで、適切な値の設定が必要となりますが、今回の構成では「2」へ設定します。
設定を変更したらWindows 11を再起動します。

コマンドから設定する場合
レジストリエディターを使用せず、コマンドから登録することもできます。
例えば値を「2」にする場合は、管理者権限でコマンドプロンプトまたはWindowsターミナルを起動して、以下を実行します。
reg add HKLM\SYSTEM\CurrentControlSet\Services\PolicyAgent /v AssumeUDPEncapsulationContextOnSendRule /t REG_DWORD /d 2 /f
設定後はWindowsを再起動します。
VPNルータへ接続してみる
Windows 11の再起動後、
設定 ↓ ネットワークとインターネット ↓ VPN
から、作成したVPNへ接続します。
正常に接続できれば、Windows 11にVPN用のIPアドレスが割り当てられ、さくらのクラウド内のプライベートネットワークへアクセスできるようになります。
例えば、VPN接続後にコマンドプロンプトから、
ipconfig
を実行して、VPNインターフェースにIPアドレスが割り当てられていることを確認します。
続いて、さくらのクラウド内のサーバーへ、
ping 192.168.0.20
などを実行して、プライベートIPアドレスで通信できることを確認します。
NAT配下から利用する際の注意点
さくらのクラウドのVPNルータでは、NAT環境下のWindowsからL2TP/IPsecで接続する場合に注意点があります。
特に、同じNAT環境から複数のWindows PCを同時にL2TP/IPsec接続する構成では制限があります。
例えば以下の構成の様に、オフィスなどで複数のWindows端末から同時にVPN接続する場合には注意が必要です。
Windows 11① ─┐
├─ NATルータ ─ インターネット ─ VPNルータ
Windows 11② ─┘
さくらのクラウドの公式マニュアルでは、NAT配下のWindowsクライアントからL2TP/IPsecでリモートアクセスした場合、一定の通信時間・通信量が発生するとVPNが切断される場合があることも注意事項として案内されています。
複数端末を利用する拠点では、Windows PCから個別にリモートアクセスVPNを張るのではなく、拠点側のVPN対応ルータとさくらのクラウドのVPNルータを「サイト間VPN」で接続する方法も検討するとよいでしょう。
さいごに
今回は、NAT配下にあるWindows 11から、さくらのクラウドのVPNルータへL2TP/IPsecで接続する際の設定について紹介しました。
さくらのクラウドのVPNルータでは、コントロールパネルからL2TP/IPsecによるリモートアクセスVPNを簡単に設定できますが、Windows 11を自宅や社内のNAT配下から接続する場合には、Windows側のNAT-Tに関する設定が必要になるケースがあります。
接続できない場合には、VPNルータ側の設定だけでなく、レジストリ内の設定についても確認してみてください。
また、同じNAT環境から複数のWindows端末を接続する場合や、長時間の安定したVPN接続が必要な場合には、サイト間VPNの利用も選択肢になります。
最後まで読んでいただき、ありがとうございました!