VPNクライアントでルートを変更できない


10

私のVPN接続はすべてのインターネットトラフィックを強制的にトンネルに通しますが、それは非常に遅いです。特定のIPアドレスのみをトンネリングできるようにして、それを自分の側(クライアント側)で実行できるようにしたいと考えています。

FortiSSL Clientを使用してVPNに接続していますが、接続が確立される前のルートテーブルは次のようになります。

Active Routes:
Network Destination        Netmask          Gateway       Interface  Metric
          0.0.0.0          0.0.0.0      192.168.0.1    192.168.0.101     40
        127.0.0.0        255.0.0.0         On-link         127.0.0.1    306
        127.0.0.1  255.255.255.255         On-link         127.0.0.1    306
  127.255.255.255  255.255.255.255         On-link         127.0.0.1    306
      192.168.0.0    255.255.255.0         On-link     192.168.0.101    276
    192.168.0.101  255.255.255.255         On-link     192.168.0.101    276
    192.168.0.255  255.255.255.255         On-link     192.168.0.101    276
    192.168.119.0    255.255.255.0         On-link     192.168.119.1    276
    192.168.119.1  255.255.255.255         On-link     192.168.119.1    276
  192.168.119.255  255.255.255.255         On-link     192.168.119.1    276
    192.168.221.0    255.255.255.0         On-link     192.168.221.1    276
    192.168.221.1  255.255.255.255         On-link     192.168.221.1    276
  192.168.221.255  255.255.255.255         On-link     192.168.221.1    276
        224.0.0.0        240.0.0.0         On-link         127.0.0.1    306
        224.0.0.0        240.0.0.0         On-link     192.168.119.1    276
        224.0.0.0        240.0.0.0         On-link     192.168.221.1    276
        224.0.0.0        240.0.0.0         On-link     192.168.0.101    276
  255.255.255.255  255.255.255.255         On-link         127.0.0.1    306
  255.255.255.255  255.255.255.255         On-link     192.168.119.1    276
  255.255.255.255  255.255.255.255         On-link     192.168.221.1    276
  255.255.255.255  255.255.255.255         On-link     192.168.0.101    276

接続すると、次のようになります。

Active Routes:
Network Destination        Netmask          Gateway       Interface  Metric
          0.0.0.0          0.0.0.0      192.168.0.1    192.168.0.101   4265
          0.0.0.0          0.0.0.0         On-link        172.16.0.1     21
        127.0.0.0        255.0.0.0         On-link         127.0.0.1   4531
        127.0.0.1  255.255.255.255         On-link         127.0.0.1   4531
  127.255.255.255  255.255.255.255         On-link         127.0.0.1   4531
       172.16.0.1  255.255.255.255         On-link        172.16.0.1    276
      192.168.0.0    255.255.255.0         On-link     192.168.0.101   4501
    192.168.0.101  255.255.255.255         On-link     192.168.0.101   4501
    192.168.0.255  255.255.255.255         On-link     192.168.0.101   4501
    192.168.119.0    255.255.255.0         On-link     192.168.119.1   4501
    192.168.119.1  255.255.255.255         On-link     192.168.119.1   4501
  192.168.119.255  255.255.255.255         On-link     192.168.119.1   4501
    192.168.221.0    255.255.255.0         On-link     192.168.221.1   4501
    192.168.221.1  255.255.255.255         On-link     192.168.221.1   4501
  192.168.221.255  255.255.255.255         On-link     192.168.221.1   4501
   200.250.246.74  255.255.255.255      192.168.0.1    192.168.0.101   4245
        224.0.0.0        240.0.0.0         On-link         127.0.0.1   4531
        224.0.0.0        240.0.0.0         On-link     192.168.119.1   4502
        224.0.0.0        240.0.0.0         On-link     192.168.221.1   4502
        224.0.0.0        240.0.0.0         On-link     192.168.0.101   4502
        224.0.0.0        240.0.0.0         On-link        172.16.0.1     21
  255.255.255.255  255.255.255.255         On-link         127.0.0.1   4531
  255.255.255.255  255.255.255.255         On-link     192.168.119.1   4501
  255.255.255.255  255.255.255.255         On-link     192.168.221.1   4501
  255.255.255.255  255.255.255.255         On-link     192.168.0.101   4501
  255.255.255.255  255.255.255.255         On-link        172.16.0.1    276

VPNクライアントは、他のすべてのルートよりもメトリックが低いキャッチオールルートを配置します。これにより、すべてのインターネットトラフィックがトンネルを介してルーティングされます。デフォルトのインターネットルートのメトリックを低い値に変更してみました。

C:\Windows\system32>route change 0.0.0.0 mask 0.0.0.0 192.168.0.1 metric 10 if 13
OK!

しかし、何も変わっていません。

次に、VPNの「キャッチオール」ルート、つまり上記のメトリック21のルートを削除してみました。

C:\Windows\system32>route delete 0.0.0.0 mask 0.0.0.0 if 50
OK!

そしてそれはすべてを壊しました:

C:\Windows\system32>ping 8.8.8.8

Pinging 8.8.8.8 with 32 bytes of data:
PING: transmit failed. General failure.

アダプタのメトリックも変更しようとしましたが、FortiSSLクライアントは接続時にすべての設定を上書きするため、役に立ちませんでした。

反対側の人々が応答するのに数日かかるので、修正は私の側から来なければなりません。

それが役立つ場合、私はWindows 7 x64を実行しています。

-更新(2013-12-24)-

おかげmbrownnycの先端が、私はこの問題を調査しRohitabとFortiSSLクライアントが持つルートテーブルを見て分かったNotifyRouteChangeIPヘルパーAPI呼び出し。

NotifyRouteChange呼び出しの前にブレークポイントを設定し、「呼び出しをスキップ」オプションを使用して、FortiSSLがルートメトリックをリセットしないようにしましたが、次のようになりました。

Wifiアダプターを優先するメトリックを使用したルート

それでも、tracertを実行すると、私のルートはVPNを経由します。

C:\Windows\system32>tracert www.google.com

Tracing route to www.google.com [173.194.118.83]
over a maximum of 30 hops:

  1    45 ms    47 ms    45 ms  Jurema [172.16.0.1]

ルート印刷のメトリックが別のことを言っていても、私が気付いていないWindowsネットワーキングの特定のルートを支持できる側面はありますか?


VPNクライアントがそのポリシーを実施することは、一種のポイントではありませんか?この会社にはおそらく、スプリットトンネリングを使用しないことを要求するセキュリティポリシーがあり、そのポリシーを回避することはセキュリティリスクになります。
Ryan Ries、

全く逆です。これで、この会社のパートナーのIP制限付きWebサービスにアクセスできるようになりました。これは、私のWebトラフィックがインターネットIPアドレスを経由して送信されるためです。「VPNを介してすべてをトンネリングするので、ルートテーブルに別のIPやサブネットを追加する必要がない」のように、これは非常に遅延の多い構成です。

@Julianoスプリットトンネリングを回避するポイントは、ユーザーが一方のトンネルにアクセスして、もう一方のトンネルのデータにアクセスできないようにすることです。トンネリング先のネットワークに、ネットワークに接続している場合と同じようにアクセスできると思います。ただし、スプリットトンネルを使用して、世界へのアクセスを許可する必要はありません。
BillThor 2013

2
実際にそのネットワークを使用している場合は、ルートとメトリックを設定して、希望するインターネット接続(3g / 4gなど)を優先することができます。ばかばかしいほど制限の厳しいVPNクライアントの影響を受けないので、私にはそのオプションがあります。スプリットトンネリングの防止は理論的には問題ないように聞こえますが、実際にそのネットワークに物理的にいた場合よりもずっと制限されます。皆さんは、解決策を見つける手助けをするのではなく、私を傷つけているセキュリティの実装を正当化しているのです。これをバイパスするにはどうすればよいですか?

インターフェイスメトリックもあります:ncpa.cpl> NICプロパティ> IP v4スタックエントリプロパティ>全般タブ/詳細>自動メトリック。両方のインターフェースを見てください。マルチホームWindowsに関するこのブログ投稿も参照してください。
mbrownnyc 2013

回答:


2

ここではアドレス指定に通常のネットワーク表記(CIDRやhost/mask表記など、アスカーを混乱させないため)を使用していないことに注意してください。

「デフォルトゲートウェイ」ルート(0.0.0.0 mask 0.0.0.0)を削除して、ネットワークスタックがほとんどのパケットをどこに送信するかわからないようにする代わりに、VPNルートのメトリックをデフォルトルート(この場合4265)のメトリックより低くします。

Fortigateクライアントと接続した後:

route change 0.0.0.0 mask 0.0.0.0 172.16.0.1 metric 4266 if N

Nは、fortisslの最初に返されたインターフェイスのインターフェイス番号ですroute print

ネットワークスタックはこれを適切に処理する必要があります。

  • 「宛先アドレスを含む」ルートはパケットを処理します(ルートは、ネットワークスタックthis IPthis gateway、さらなるルーティングのために宛てられたパケットを送信するように指示します)。
  • 宛先IP 172.16.*.*を持つすべてのパケットはVPNに送信されます。Windowsネットワークスタックは、インターフェイスに接続されているアドレスがある場合、そのインターフェイスがそのアドレス範囲内の他のIPへのアクセス方法であることを認識しているためです。の「サブネットマスク」を投稿すると、範囲をより明確にすることができます172.16.0.1

VPN経由でアクセスする必要があるリソースのIPアドレスを決定する必要があります。これnslookup [hostname of resource]は、ルートを調整しなくても、接続時に使用することで簡単に行えます。

[暴言]

VPNを介したスプリットトンネリングを許可しても問題はありません。特に、引用した使用法の問題が原因です。IT部門がセキュリティメカニズムのスプリットトンネリングを検討している場合、IT部門は何をしているのかを再考する必要があります。

  • VPNクライアントのリソースへのアクセスは、インターネット経由でアクセスされているかのように分離し、厳しく制限する必要があります(完全な制御を表明しない資産は、一部を表明できる資産よりもリスクが高いため)。
  • VPNクライアントのネットワークアクセス制御メカニズムを統合する必要があります。これにより、クライアントマシンにいくつかのポリシーを適用できるようになります(「アンチウイルス定義は最新ですか?」など)。
  • Fortigate SSL VPN仮想デスクトップのような厳格なソリューションを使用することを検討してください(これはかなり簡単に構成でき、SSL VPNライセンスで自由に(私が考える))。

[/ラント]


VPNの0.0.0.0ルートメトリックをインターネットルートよりも高い値に変更しようとすると、FortiSSLクライアントはインターネットルートをさらに高いメトリックに設定します。
ジュリアーノ

「後」のテーブルには2つのデフォルトゲートウェイルートがありました。VPNの0.0.0.0とwifiカードの0.0.0.0。VPNのデフォルトゲートウェイを削除しましたが、wifiカードのデフォルトゲートウェイを残しました。以前と同じようになっているはずですが、すべてが壊れました。fortisslはスタックに何かをして、私がやろうとしていることを人々が行わないようにするか、間違っています。
ジュリアーノ

これらは異なるインターフェースであるため、ルートのルートコストを個別に調整できるはずです。クライアントがルーティングテーブルを監視している場合、何も役立ちません。Cisco VPNクライアントは、システムで制御できるPRFファイルで構成されています。Fortigate SSLクライアントは、レジストリとファイルのどちらでも同じである可能性があります。設定がどこにあるかわからない。少し突っ込んでみると、クライアントを構成できるものが見つかるかもしれません。さらに、「スプリットトンネリングのサポート」は、「サーバー側」/ Fortigateユニットでの設定です。
mbrownnyc 2013

内を見てください:HKEY_CURRENT_USER\Software\Fortinet\SslvpnClientTunnel面白いはずです。見つけたものを投稿してください。または、community wiki他の人を助けることができるように答えてとしてマークしてください。
mbrownnyc 2013

1
残念な。状況はわかりませんが、スプリットトンネリングをリクエストする価値はありますか?それ以外の場合は、rohitabやMSFTの迂回路などのAPI呼び出しをハイジャックする必要があるようです。楽しい週末プロジェクトかもしれません!
mbrownnyc 2013
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.