ユーザーが2つの異なる企業サーバーに同時に接続する必要があるため、同じコンピューター上の2つのVPN接続に対して永続ルートを使用してスプリットトンネリングを構成する必要があります。ただし、VPNインターフェイス#が異なる場合があり、VPN接続が確立されたときにルートが適切かつ一貫して使用されていないため、問題が発生します。
追加したルートは次のとおりです。
route add -p 192.168.10.0 mask 255.255.255.0 0.0.0.0 IF 24
route add -p 10.8.18.0 mask 255.255.255.0 0.0.0.0 IF 23
24はVPN1のVPNインターフェース番号、23はVPN2のVPNインターフェース番号です。以下を参照してください。
C:\Windows\system32>route print
===========================================================================
Interface List
24...........................VPN 1
23...........................VPN 2
17...da d1 cb e2 2c ad ......Apple Mobile Device Ethernet
1...........................Software Loopback Interface 1
12...00 00 00 00 00 00 00 e0 Microsoft ISATAP Adapter
13...00 00 00 00 00 00 00 e0 Teredo Tunneling Pseudo-Interface
14...00 00 00 00 00 00 00 e0 Microsoft ISATAP Adapter #2
16...00 00 00 00 00 00 00 e0 Microsoft ISATAP Adapter #3
===========================================================================
VPNに接続した後にルートを追加すると、すべて正常に機能しますが、2つのVPN接続を切断してから別の順序で再接続すると、ルートが混乱し、明らかにリモートネットワークにアクセスできなくなります。
ルートが特定のインターフェイスを永続的に使用するようにする別の方法はありますか?
複数のVPNがランダムな順序で接続すると、それらのインターフェイスIDが変更されます。そのため、通常のROUTE -P ADD 10.0.0.0 MASK 255.255.0.0 10.0.0.1 IF 42
動作しません。次回VPNに接続するときは、インターフェイス番号が異なる可能性があります。
Powershellには、VPN接続にルートを追加し、VPNが切断されたときにルートを再度削除するコマンドレットがあります: Add-VpnConnectionRoute 。インターフェイスIDを指定しなくても機能します。
基本的な構文は次のとおりです。
Add-VpnConnectionRoute -ConnectionName "VPN Connection Name" -DestinationPrefix 10.0.0.0/16
このコマンドを入力すると、VPNの接続/切断時にルートが自動的に作成/削除されます。