2015/07/31

Windows 10 VPN接続後、ローカルのデフォルト ゲートウェイを利用する方法

以前投稿した記事「VPN接続後、ローカルのデフォルト ゲートウェイを利用したい場合の対処法」は、GUIから設定します。

同方法をWindows 10で行おうとしたところ、全く機能しない事が分かり、かなり困っておりまして・・・

今回は、Windows 10でVPN接続後、ローカルのデフォルト ゲートウェイを利用する方法をメモ。
設定はPowerShell を使います。

2015.10.28 追記
Windows 10 Build 10565では、ローカルのデフォルト ゲートウェイが利用できます。
Windows 10 Build 10565ではVPN接続設定が地味に改善されました

Windows 10ではVPNアダプターの設定変更ができない

今日現在の現象です。
※今後改善されるかもしれません。

Windows 10のVPNアダプターのプロパティを開き、[ネットワーク]タブを選択します。
VPN接続後のデフォルト ゲートウェイを変更するにはTCP/IPv4のプロパティを開かなくてはなりませんが、Windows 10ではなぜかプロパティを開く事ができません

この現象はWindows フィードバックで他のユーザーさんもフィードバックしているので、私の環境固有の問題ではなさそうです。

PowerShell スクリプト

そこで、PowerShellのSet-VpnConnection コマンドレットを使用します。
ここで大切なのは、-SplitTunneling パラメーターをTrueにする事です。
Get-VpnConnection -Name <VPN接続プロファイル名> | Set-VpnConnection -SplitTunneling:$true

スクリプトを実行する前後のルート テーブルを確認

上記スクリプトを実行する前は、リモート先(192.168.11.0/24)が優先になっています。
そのため、nslookup コマンドで名前解決をするとリモート先のDNSサーバーから応答がありました。

スクリプトを実行してみましょう。
今度は、ローカル側(192.168.222.0/24)が優先になりました。
先ほどと同じようにnslookupコマンドを実行すると、ローカルのDNSサーバーから応答がありました。

結果からも、Set-VpnConnection コマンドレットの-SplitTunneling パラメーターを変更する事で解決できる事が分かりました。

今後改善されると思いますが、今すぐ何とかしたい方は参考にしてください。
元に戻す方法
リモートのデフォルト ゲートウェイへ戻したい場合は下記スクリプトを実行してください。
Get-VpnConnection -Name <VPN接続プロファイル名> | Set-VpnConnection -SplitTunneling:$false
スポンサーリンク

スポンサーリンク