web-dev-qa-db-ja.com

OpenVPN上の複数のクライアント間の直接接続

私は一日中VPNについて学び、次の設定で作業してきました。

テキサスの同じデータセンターにある2台のVPSサーバー。 (Texas1とTexas2)、イギリスで1 VPS、アトランタとUbuntuで1VPS。

私はEnglandVPSをOpenVPNサーバーとしてセットアップし、他のすべてをクライアントとしてセットアップしました。関連するサーバー構成:

ポート1194 
 proto udp 
 dev tap 
 server 10.20.0.0 255.255.0.0 
 ifconfig-pool-persist ipp.txt 
 client-to-クライアント

クライアント構成:

 client 
 remote myserver 1194 
 dev tap 
 proto udp 
 resolv-retry infinite 
 nobind 

Texas1とTexas2がVPNIPで相互にpingできることを(クライアント間で追加した後)嬉しく思いました。問題は、パブリックIPでpingを実行する場合は1ミリ秒未満、内部IP 10.20.0.xでpingを実行する場合は226ミリ秒かかることです(偶然にもイングランドへのpingは113ミリ秒です)。

これが私の全体の構成であり、ブリッジとiptablesが怖いです(明らかに学ぶ必要がありますが)。私はサーバー側に非常に新しく、主にWeb開発を行い、Ubuntu10.04で学習しています。

クライアントにサーバーを切り取ってもらい、帯域幅が無駄にならず、途中で別の大陸に送信されるようにする方法を誰かにアドバイスできますか?また、ルーターをクライアントとして使用して、Windowsホームネットワーク(DD-WRTルーターがあります)をVPNに追加したいと思います。独自のサブネットを設定する必要があると思いますか?

誰かが私の目標を達成するための最良の方法をアドバイスできますか?どうもありがとうございました!

5
John

中央サーバーノードを使用せずにクライアントが直接相互に通信できるようにするには、一般にメッシュネットワークと呼ばれるものをセットアップする必要があります。ここでは、すべてのノードが他のすべてのノードに接続しています(今やり直すことは一般に「ハブアンドスポーク」と呼ばれます)。

残念ながら、私は現在、OpenVPNでこれを管理するための「いい」(読む:簡単な)方法を知りません。サイトがかなり単純な場合(4ノード、自宅でDD-WRTを数える)、これはそれほど悪くないかもしれません。その後、各ノードのOpenVPNサーバーを介して各サブネットへの静的ルートを管理するという苦痛を経験し始めます。

申し訳ありませんが、これは「希望に満ちた」投稿ではありませんでしたが、構成についてサポートできるかどうかをお知らせください。または説明。

4
jharley