WindowsでVPN切断時に保護されていない状態での通信を回避するVPNキルスイッチ

VPNキルスイッチとは?


通信を保護するために使うVPNですが、VPNの接続が切れても、元のネットワークで継続して通信は行えます。
しかし、VPNが切れたことに気づかないと、保護された通信(VPNの通信)のつもりが、いつの間にか、保護なしの通信(元のネットワークでの通信)をしていることになります。
そこで、VPNが切断された際に、ネットワークの通信自体を止める機能が、VPNキルスイッチです。


本記事でのキルスイッチの動作


本記事での設定により、VPNキルスイッチは、次のように動作します。

VPNの切断を検出すると、ネットワーク接続を無効化し、次のダイアログで通知します。
ここでOKを押すと、ネットワーク接続を元に有効化します。

VPNキルスイッチ.png

以下のようにして、VPNキルスイッチとして動作させています。

Windows では、VPNの切断時はイベントログに イベントID:20226 で記録されます。
そこで、タスクスケジューラの設定によって、このログの記録をトリガーとして、次の動作をするスクリプトを実行します。
・ネットワーク接続を無効し、通知のためのダイアログを表示する
・ダイアログでOKボタンが押されると、ネットワーク接続を有効にする


VPNキルスイッチの設定方法


https://vogel.pgw.jp/pub/files/vpn-kill-switch.zip をダウンロード・展開して下さい。
ここで出来たファイルを使用します。

まず、VPNの切断時に無効化させるネットワーク接続を、設定します。

ファイル vpn-kill-switch-NIC(.vbs) 内の先頭行の
Const INTERFACE="接続インタフェース名"
の箇所の"接続インタフェース名" を、お使いのPCに合わせて設定します。

設定する内容は、次のようにして確認します。

ネットワークにつながっている状態で、コマンドプロンプトや PowerShellウィンドウを開いて、次のコマンドを実行します。


netsh interface show interface


次のようにットワーク接続の一覧が表示されます。
State の箇所が 接続 になっている行の Interface Name の内容を、vpn-kill-switch-NIC(.vbs) の Const INTERFACE= に設定してください。
設定の際は、ダブルクォーテーション(")でくくってください。


Admin State    State          Type             Interface Name
-------------------------------------------------------------------------
有効             切断             専用               イーサネット
有効             接続             専用               Wi-Fi


上記の例では、Const INTERFACE="Wi-Fi" と設定します。

vpn-kill-switch-NIC(.vbs) を編集したら、setup_vpn-kill-swtch(.bat) をエクスプローラからダブルクリックで実行してください。
ユーザーアカウント制御のダイアログが出たら、[はい] を押してください。
「何かキーを押して完了して下さい」と出たら、VPNキルスイッチの設定は完了です。

これでVPN に接続後、切断すると、次のダイアログが表示されます。
このダイアログが表示されている時点で、ネットワーク接続が無効されているので、通信できません。
OKボタンが押されると、ネットワーク接続は有効に戻され、通信できるようになります。

VPNキルスイッチ.png


VPNキルスイッチの解除


uninstall_vpn-kill-swtch(.bat) をエクスプローラからダブルクリックで実行してください。
「何かキーを押して完了して下さい」と出たら、VPNキルスイッチの解除は完了です。



参考


VPN接続・切断時に自動でルーティング追加・削除 (Windows) – えりるんはいむ

ブログ気持玉

クリックして気持ちを伝えよう!

ログインしてクリックすれば、自分のブログへのリンクが付きます。

→ログインへ

なるほど(納得、参考になった、ヘー)
驚いた
面白い
ナイス
ガッツ(がんばれ!)
かわいい

気持玉数 : 0

この記事へのコメント