web-dev-qa-db-ja.com

並行する複数のVPNクライアント

私のマシンで複数のVPNクライアントを同時に実行するとしたら、どのようなリスクが伴いますか?

例えば。それが正しく機能しないような技術的な矛盾はありますか?

アドレス解決の競合はありますか?

もっと怖いのですが、あるネットワークから私のマシンを経由して他のネットワークにトラフィックが渡ることはありますか?
または、トラフィックが誤って間違ったネットワークにルーティングされる可能性はありますか?


重要なのは、私が実行しているVPNクライアントはジュニパーネットワークコネクトとシスコのAnyConnect(完全にパッチが適用され、強化されたWindows7)です。リモートエンドポイントについてはよくわかりません...

12
AviD

Mac OS XでVPNクライアントソフトウェアを使用して、デフォルトルートをハイジャックし、すべてのトラフィックをトンネル経由で送信しました(実際には、メモリが正しく機能していれば、それはシスコのものです)。そのようなクライアントが2つ、または1つで正気なクライアントがインストールされている場合、「このパケットはどこに行くのか」という質問に対する答えです。タイミングと実装に依存します。可能性が高いオプションは、クライアントの1つが「勝ち」、すべてのトラフィックを取得すること、またはトンネルの1つが他を介して実装されることです。そのような場合にWindowsで何が起こるかは私を超えています。

「アドレス解決」の競合について話すとき、これはあなたが何を意味するかによって異なります。 ARP解決を意味する場合、これは問題になりません。 2つのネットワークに接続されているすべてのシステムと同様に、衝突を回避するためにMACアドレスには十分な一意性が必要です。 DNS解決に関しては、VPNクライアントとプライベートネットワーク上のクライアントボックスの特定の実装に依存します。それらが正しく動作する場合は、プライベートネットワークまたはパブリックネットのいずれかでDNSサーバーを使用できるはずです(ただし、クライアントの検索ドメインのマシンで名前が競合する可能性があることに注意してください)。彼らが誤動作する場合、それは再び状況の詳細に依存します。

7
user185

かなり基本的なレベルでは、VPNは「プライベートネットワーク」をエミュレートし、その目的はインターネット全体から隔離されることです。 「V」は、そのような分離が物理的にではなく暗号的に実行されることを意味します。ただし、モデルはまだ「個別のケーブル」です。マシンが同時に2つのVPNの一部である場合、プライベートネットワークは分離されなくなります。これは、そもそもプライベートネットワークが設置された理由そのものと矛盾する傾向があります。

アプリケーションがそれを認識する必要がないため、VPN実装はそのように呼ばれます。アプリケーションは標準のインターネット関連プロトコル(名前解決のためのDNS、TCPおよびUDPソケット...)を使用し、VPNはトラフィックを取得し、その魔法を透過的に行います。一般的なVPN実装は、システムルーティングテーブル。特定のクラスのアドレスを対象とするパケットを受信します。2つのVPNは、2つのプライベートネットワークで使用されるアドレスが重複しない場合にのみ並列に機能します。プライベートネットワークは、プライベート、グローバルアドレス割り当てスキームを使用しないプライベートネットワークは、通常、10。*。*。*や192.168。*。*などの「プライベートクラス」に取り組んでいます。

DNSは、2つのプライベートネットワークに同時にアクセスする問題の良い例です。アプリケーションが「example」という名前のマシンにアクセスする場合、それがどのネットワーク上にあるかはわかりません。それがプライベートネットワークのポイントです。アプリケーションはプライベートネットワークの存在を認識する必要はありません。プライベートネットワークは、ホストするマシンの名前を解決できる独自のネームサーバーをホストします。 2つのVPNにリンクする場合、名前解決ごとに、両方のネームサーバーと通信する必要があります。したがって、プライベートネットワーク1のネームサーバーは、プライベートネットワーク2にある名前の名前解決要求も受け取ります。また、両方のネットワークで同じ名前が使用されている場合、すべての地獄が壊れます。これは、名前空間に変換されたIPアドレスのオーバーラップと同じ問題です。

また、マシンがルーターとして機能している場合は、1つのVPNから別のVPNにパケットを適切にルーティングします。 Linuxシステムでは、これは次のように簡単です。

echo 1 > /proc/sys/net/ipv4/ip_foward

一部のLinuxディストリビューションは、インストール時に要求された場合にこれを行います。ユーザーによってはnotそのようなことをするのは危険そうに見えます。

要約すると、VPNの通常のモデルは次のとおりです。

  • 特定のユーザーシステムはVPNの一部ですonly VPN(したがってone VPNのみ)。
  • システムが「外界」と通信できる必要がある場合、ユーザーシステムの観点から見るとVPNの一部である専用ゲートウェイを介してのみ通信できます。

特に、VPNにリンクされたシステムは、VPNであれ、インターネット全体であれ、別のネットワークに同時にリンクされません。適切なVPNソフトウェアがデフォルトルートをハイジャックし、システム全体のすべての送受信トラフィックを確実に検出します。本来、これは別のVPNの同時存在を許容しません。

12
Thomas Pornin

複数のVPNクライアントを使用する必要があるときに私が作業する方法は、VMの下でそれらを実行することです。これは現在私にとって非常にうまく機能し、GrahamとThomasが言及する競合を回避します-そうでない場合、トラフィックを送信するときにOSが奇妙なことをしていることがわかります(特にWindowsの場合)

また、1つのVPNのデータを他のVPNに送信する際に、簡単に間違いを犯さないことも意味します(私がしていることは、それぞれに背景があるVM環境ごとにカスタマイズされている)

セキュリティ要件を監視する必要があります。 VM間にルーティングが存在しないことを確認することは、ここで(tm)良いことです。

6
Rory Alsop

ジュニパーネットワークスとシスコの両方に連絡して、クライアントソフトウェアをテストするためにサインアップすることをお勧めします。どちらの会社もこの構成を独自にテストすることはないと思います。問題が発生した場合、サポート技術者が他の会社のVPNクライアントを削除して、ネットワークに再度アクセスしてみるように依頼すると思います。

さらに重要なことは、おそらく誰かのセキュリティポリシーに違反していると思います。サイトへのVPN接続を作成するとき-信頼できる接続を構築することです。 2つの異なる信頼できるネットワークに同時に接続したいようです。 VPNヘッドエンドを管理した場合、あるVPNを介して自分のサイトにアクセスし、別のVPNを介して他の誰かのサイトにアクセスすると、悪用されるのを待っているセキュリティ違反が発生します。

1
OhBrian

何の役にも立ちませんが、OS X 10.6.x +を使用すると、一度に複数のIPSec VPNに接続できます。 VPNトンネルを介してすべてのトラフィックを通過することに関しては、はい、これはデフォルトの動作ですが、Cisco(およびジュニパーなどの他のベンダーにも同じことが存在することは確かです)には、「スプリットトンネリング」と呼ばれる技術しかありません。トラフィックの一部はトンネルを通過します。つまり、ネットワーク管理者によって構成された保護されたネットワークです。トラフィックがこれらのネットワークのいずれかに宛てられていない場合は、通常のWAN=接続に送信されます。これにより、VPNクライアントがインターネットの制限にアクセスできると同時に、企業のリソース:企業のVPNサーバーが大量のトラフィックを処理していないため、企業のVPNサーバーの負荷も軽減されます。

実際に組み込みのOS X VPNクライアントを使用して一度に複数のVPNに接続することに関しては、企業のセキュリティポリシーに直接違反することになると思います。また、Cisco AnyConnectなどのクライアントを使用する場合、一度に複数のVPNインスタンスに接続することはできません(AnyConnectはSSL VPN専用であり、組み込みのOS X Cisco VPNクライアントはIPSec VPN専用です)。

0
Ronan McGurn