特定の宛先だけ VPN経由で通信させる

スポンサーリンク

特定の宛先だけ VPN経由で通信させる設定です。なお、Windowsでの設定です。

通常、VPNのネットワークアドレスと、クライアントの属するローカルネットワークのアドレスは、異なるようにします。
しかし、例えば 192.168.1.0/24 のようにネットワークアドレスが同じ場合でも、VPNのある1台とだけは通信したい場合、今回の設定をおこなえばOKです。

設定は、デフォルトで VPN経由で通信しないようにした上で、特定の宛先だけ VPN経由で通信させるようにします。

デフォルトで VPN経由で通信しないようにする

VPN接続のプロパティで、ネットワーク タブを選択します。
[インターネットプロトコルバージョン 4(TCP/IPv4)] を選択して「プロパティ」ボタンを押し、「詳細設定」を押します。

次のような画面になるので、[リモートネットワークでデフォルトゲートウェイを使う] のチェックを外し、[クラスベースのルートの追加を無効にする] にチェックを付けます。
これで、デフォルトで VPN経由で通信しないようになります。
以下説明ですが、飛ばす場合は、「特定の宛先だけ VPN経由で通信させる」まで進んでください。

画像

[リモートネットワークでデフォルトゲートウェイを使う] は、もし、チェックが付いていると、すべての通信がVPN経由で流れます。
デフォルトで VPN経由で通信しないようにしたいので、チェックを外します。

[クラスベースのルートの追加を無効にする] は、もし、チェックが外れていると、VPNと同じネットワークアドレス宛の通信は、全てVPN経由で流れます。
つまり、ローカルネットワークとVPNで同じネットワークアドレスの場合、ローカルネットワーク宛の通信がVPN経由で流れてしまいます。
チェックを付けると、宛先個別に設定しないと、VPN経由で流れません。
特定の宛先だけ VPN経由で通信させたいので、チェックを付けます。
宛先個別の設定は、次の項で説明します。

特定の宛先だけ VPN経由で通信させる

まず、VPN接続します。
先ほどまでの設定で、デフォルトで VPN経由で通信することはありません。

ここから、VPN経由で通信させたい宛先を個別に設定していきます。

まず、コマンドプロンプトから route print を実行します。
出力結果の先頭は、下記のように一覧が表示されます。VPN接続の個所の、左端の数字をメモします。
この例では、VPN接続の名称は「VPN(TEST)」で、38 をメモします。

===========================================================================
インターフェイス一覧
 38...........................VPN(TEST)
 24...00 1b dc 07 c9 36 ......Bluetoothパーソナルエリアネットワークデバイス
 15...00 ff 93 b2 6f 40 ......TAP-Windows Adapter V9
 11...6c 62 6d 41 28 35 ......Realtek PCIe GBE Family Controller
  1...........................Software Loopback Interface 1
  :

特定の宛先だけ VPN経由で通信させるために、次の書式でルーティングテーブルに設定を行います。

route add 宛先IPアドレス mask 255.255.255.255 VPNサーバのアドレス metric 1 if インターフェイス一覧でメモした数字

例えば、次のように実行します。
この例では、192.168.1.100 はVPN側にアクセスします。
その他の 192.168.1.101などは、ローカルネットワーク側にアクセスします。

route add 192.168.1.100 mask 255.255.255.255 192.168.1.1 metric 1 if 38

metric 1 if がないと、ローカルネットワークの方とのみ通信してしまい、VPN経由で通信しないので、注意して下さい。

なお、VPN切断すると、上記で追加したものは消えます。
消えないようにするには、-p を追加して実行します。

route -p add 192.168.1.100 mask 255.255.255.255 192.168.1.1 metric 1 if 38

以上、特定の宛先だけ VPN経由で通信させる設定です。

コメント

タイトルとURLをコピーしました