【備忘録】特定のIPアドレスだけVPNを通す方法

全部VPN経由で通信するのは嫌
リモートワークをする機会が増え、お客さま環境へ接続する際にVPN経由でアクセスすることが増えました。
その時に問題(?)になるのが、「全部の通信がVPN経由になる」こと。
別にやましいことをしているわけではないのですが、
- すべての通信がVPN経由=お客様ネットワークに流れるのでトラフィック増になり申し訳ない
- TeamsやSlack、メールなどで他のお客様との随時やり取りもVPN経由になることは避けたい
- VPN先でフィルタが掛かっていると特定のアプリが使えない
ことが理由にあります。
上記の2点目、通信自体は暗号化されているので問題はないですが、通信先はわかりますし、なにより個人的に気持ち悪いので嫌です。
できる限り、自分でコントロールしたいですよね。
特定の通信だけVPNを通す方法
前提
- VPN設定が終わっていて、問題なく接続できること
- 以降の検証に使用するVPN接続名は"okyakusama-vpn"とする
VPNでデフォルトゲートウェイを使用しないように設定
PowerShellを立ち上げて、次のコマンドを実行する。
VPN接続すると、デフォルトゲートウェイがVPNに(=すべての通信がVPN経由に)なってしまうが、これをすることで特定の通信だけVPN経由とすることができる。
Split Tunnelingなので、トンネル(通信する穴)を分けるということですね。
set-vpnconnection -Name "okyakusama-vpn" -SplitTunneling $true
VPNで通信する先を指定する
トンネルを作ったあとは、そこを通すものを指定します。
パターン①IPアドレスを指定する場合
特定サーバーを名指しで指定するときですね。
この例はYAHOO!JAPANのサイトだけVPN経由にする場合です。(そんなことないのであくまで例です)
釈迦に説法ですが、"/32"の部分はサブネットなので、端末指定の場合はこれですね。
Add-VpnConnectionRoute "okyakusama-vpn" -DestinationPrefix "183.79.249.124/32" -PassThru
パターン②ネットワークをまとめて指定する場合
お客様の環境に複数のサーバーがあって、それらまとめて接続できるようにする場合です。
この例は、お客さま環境のネットワークアドレスが"192.168.10"の場合です。
Add-VpnConnectionRoute "okyakusama-vpn" -DestinationPrefix "192.168.10.0/24" -PassThru
元に戻す場合
上記設定をやめる場合はこちら。
set-vpnconnection -Name "okyakusama-vpn" -SplitTunneling $false
Remove-VpnConnectionRoute "okyakusama-vpn" -DestinationPrefix "192.168.10.0/24" -PassThru
これで問題なく行けるはずです。
実際に指定した通信だけVPN経由になっているかは、tracertコマンドでも何でもいいので確認してから使いましょう!
参考にしたサイト↓(+Copilotに聞いた)
ミライドットでは取り上げてほしいテーマのリクエストを受け付けています。
お名前等の記入は不要ですのでお気軽にリクエストください!
投稿者プロフィール
最新の投稿
雑記帳2025年2月4日【備忘録】特定のIPアドレスだけVPNを通す方法
雑記帳2025年1月30日DXは『社長の考え』次第で結果が激変!?
雑記帳2025年1月22日中小企業こそDXが必要な理由
雑記帳2025年1月15日DX(デジタルトランスフォーメーション)って、なに?