Windows10でリモートアクセスを使用しているが、接続ボタンをクリックしても接続できなくなることがあります。
実際に接続をしてみると、以下の画像のように「セキュリティ層でリモートコンピュータと互換性のあるパラメーターをネゴシエートできなったため、L2TP接続に失敗しました。」とエラー表示が出てきます。
”ルータの設定”、”認証キー”、”ユーザ名”、”パスワード”などは一切間違えていないはず。。。なのですが、実際、自分も結構ハマってしまいました。
色々と試行錯誤した結果、以下の手順で修正したところ解決しましたので、同じ様な症状が発生している方は参考にして下さい。
目次
前提条件
- ルータ:RTX1210(*RTXシリーズであれば条件は同じかと思います)
- クライアント端末:Windows10Pro
- 接続:別のネットワークから社内ネットワークに接続
VPN設定についての確認は、YAMAHA公式サイト「L2TP/IPsecを使用したリモートアクセス(YAMAHA公式」を確認して下さい。
修正箇所1:NATトラバーサル機能を有効にする
最初の設定段階で既に設定済みのハズなのですが、なぜか見当たらなくなりました。WindowsUpdateではないかと推測します。
とりあえず再設定を実施していきましょう。
接続に必要な値をレジストリに追加
レジストリエディタの「HKey_Local_Machine\SYSTEM\Current Control Set\Services\Policy Agent」に以下の値を追加します。
- 名前:AssumeUDPEncapsulationContextOnSendRule
- 種類:REG_DWORD
- 値:2
これによりNATトラバーサル機能が有効になり接続できるようになります。
ファイル名を指定して実行(Windows+R)を開き、「regedit」と入力し「OK」クリックします。
レジストリエディタを開き、「HKey_Local_Machine\SYSTEM\Current Control Set\Services\PolicyAgent」とファイルを展開>PolicyAgentを選択し右クリック>新規>DWORD(32ビット値)を選択
「新しい値#1」と表示されるので、右クリック>「名前を変更」>「AssumeUDPEncapsulationContextOnSendRule」と入力します。
名前を変更した、「AssumeUDPEncapsulationContextOnSendRule」を右クリク>「修正」をクリック。「値のデータ」を「0→2」に変更します。
OKをクリックしてパソコンを再起動します。
PowerShellコマンドで実行する場合
PowerShellを管理者権限で開いたら、以下のコマンドを実行しましょう。
reg add HKLM\SYSTEM\CurrentControlSet\Services\PolicyAgent /v AssumeUDPEncapsulationContextOnSendRule /t REG_DWORD /d 2
以上になります。PSだと一瞬で完了します。
なお、レジストリエディタの変更は自己責任でお願いします。万が一トラブルなどが発生しても責任を負いかねますので予めご了承下さい。
VPN接続時に動かすWindowsサービスの動作状況を確認する
WindowsでVPN接続する際には以下のWindowsサービスが動作していることが前提になります。
- IKE and AuthIP IPsec Keying Modules
- IPsec Policy Agent
*厳密には、IPsec Policy Agentは無効でも接続はできるようです。
サービス管理ツールを開いて確認
ファイル名を指定して実行(Windows+R)を開き、「services.msc」と入力し「OK」クリックします。
サービス管理ツールが開いたら、「IKE and AuthIP IPsec Keying Modules」を探します。
「サービスの状態:実行中」になってることを確認します。もし「停止」になっている場合は、「開始ボタン」を押し、「スタートアップの種類」を「自動」に設定しましょう。
同様に、サービス管理ツールから、「IPsec Policy Agent」を探します。
「サービスの状態:実行中」になっていなければ「開始」をクリックして、「スタートアップの種類」を「自動」に切り替えます。
なお今回は、スタートアップの種類が「手動」になっていたので、「自動」に変更しました。
これで無事に接続できました。
最近では、テレワークの重要性が注目されていますが、リモートアクセスで社内のファイルサーバなどにアクセスできるようになりたいという方も多いのではないでしょうか。
ぜひ、参考にしていただきながらチャレンジしてみて下さいね。
まとめ
リモートアクセス接続が不安定になったり、繋がらなくなったりすることがあります。
今回のケースで考えられる原因としては、接続に必要な値がレジストリに追加されていなかった点とIPsec Policy Agentのスタートアップの種類が「手動」になっていたのではないかと考えています。
もう暫く、様子をみながら検証してみたいと思います。
※2019年11月19日更新
以降、現時点で特別な不具合などなく順調に動作しています。
※2020年2月13日更新
PowerShellの設定に関して追加しました。