web-dev-qa-db-ja.com

分散/メッシュのような/ P2P VPNはありますか?

個人用VPNを使用して、複数のデバイスを接続し、常時接続可能なネットワーク上で固定IPアドレスを使用できるようにします(インターネットに接続されている限り)。これは私にとって必要です。私のデバイスは移動中、さまざまな予測不可能なネットワーク(4Gネットワ​​ークの携帯電話、大学のラップトップ、自宅のホームサーバー)にあり、それらに接続する必要があるバックアップサーバーを持っているためです(場合によっては) 、私もする必要があります)。

私はまた、syncthingのようなものをインストールすることも考えています。これは、レイテンシを低くし、ノードを近づけることでメリットを得ることもできます。

また、私は怠惰です。ホームサーバーで再生している音楽をスマートフォンから再生/一時停止したいのですが、同じネットワーク上にない可能性があります(そうである必要はありませんが、常にそうとは限りません)。

つまり、OpenVPNサーバーが1つあり、openvpnクライアントがすべてのデバイスで実行されています。これらはすべてサーバーに接続し、2つのノードからのトラフィックはサーバーを経由する必要があります。サーバーは比較的遠くにあり、スループットは非常に制限されています。これは、レイテンシとスローネスを意味します。そして、「一時停止」ボタンを押すと、実際に音楽を一時停止するのに最大10秒かかる場合があります。両方のノードが実際には同じLAN上にある場合でも(VPN経由で通信するため)。ええ。

理想的には、ノード間の最短パスを見つけ、それらを直接接続しようとするVPNを作成する何らかの方法が存在する必要があります。 Skypeがスーパーノードを処理する方法のような何か?

サーバーはここから遠く離れていますが、ノードの1つにパブリックIPアドレスがあり、他のノードからアクセスできます。 someノードの場合はより良い選択ですが、サーバー自体でなくても、サーバーからサーバーとして機能できます。

クライアントとサーバーの両方を実行し、それらをそのノードでブリッジするのと同じようなことができると思いますが、それはエレガントに見えません。ハックで、PKIを複雑にし、VPNを分割します。嫌いです。

PPTPのような単純なVPNを使用しても、通信の安全性は保証されませんが、ノード間の接続を暗号化するようにBaculaを構成する手間をかけたくないと判断しました。つまり、そのトラフィックはVPN内で単純です。VPNカプセル化はonlyセキュリティであるため、弱くすることはできません。ただし、機密性のない「メッシュ」のようなVPNを解決するものは、すでに優れています。 start-トラフィックがSSL/TLSを通過し始めたことを確認します。

これは、他の誰かが抱えていた問題のようで、今では解決されています。このようなものはありますか?

私がこれを間違った方法で見ている可能性もありますが、これまでのところ、どこにいてもどこにいても、どのデバイスにもリモートで接続できることを保証する最善のアプローチのようです。

12

それがあなたのニーズを完全に満たしているかどうかはわかりませんが、おそらくティンクを見てください: http://www.tinc-vpn.org/ 。これは、説明したように中央サーバーによって調整されたメッシュネットワークと非常によく一致しますが、ローカルネットワーク内のピアの検出に成功するかどうかはわかりません。

6
Steffan Karger

私が見つけて使用した最も簡単なメッシュVPNはPeerVPN( http://www.peervpn.net/ )です。

PeerVPNの機能

  • TAPデバイスを使用したイーサネットトンネリングサポート。
  • IPv6サポート。
  • フルメッシュネットワークトポロジ。
  • ファイアウォールやNATを介してトンネルを自動的に構築します。追加の設定(たとえば、ポート転送)は必要ありません。
  • 共有キーの暗号化と認証のサポート。

設定は簡単です。編集する1つの設定ファイルと基本的なメッシュVPNの場合、指定する必要がある設定は6つだけです。PeerVPNチュートリアルを参照してください。これは1ページだけです。 http://www.peervpn.net/tutorial/

PSK暗号化/認証キーは、最大512ビット(64バイト)にすることができます。

これまでに、複数のリモートサーバーでpeervpnを設定しましたが、非常にうまく機能します。また、他のメッシュVPN実装で発生する可能性のある「スーパーノード」は必要ありません。

Peervpnのノードは、VPNに新しく追加されたノードについて学習します。構成を変更する必要はありません。 Nodeノードへのトラフィックも直接であり、一部の中央VPNハブを経由しません。

注:デフォルトのpeervpn.confファイルを読んで、利用できる他の多くのオプションについて確認してください。しかし、基本的なメッシュvpnの場合は、6つのオプション(vpnの名前、PSK、ローカルトンネルエンドポイントのIPアドレス、Linuxシステムで表示/使用するインターフェイスの「名前」、および使用するポート番号)を設定するだけで済みます。 「その」vpn ...サーバー上の複数の独立したVPNにpeervpnを使用できることに注意してください)

3
bmullan

私は何年も前にまったく同じ問題を抱えていました。私はすべてが直接通信できるようにするために必要な約30のオフィスを持っていましたが、それらは「ハブアンドスポーク」構成でセットアップされました。私はPythonでツールを書いて、オフィス間のOpenVPNでn x (n-1)/2の接続数を自動的に生成しました。後で、奇妙な後のサイト間のRIPルーティングのサポートを追加しましたComcastの問題で、1つのオフィスでは他のすべてが見えるが、メインオフィスでは見えない問題最後に、リンクIPのリバースDNSを自動生成する機能と、パッケージを各ルーターにプッシュする機能を追加しました。

OpenMesher を見てください。ちょうど今朝、私は次のプロジェクトのためにそれを払い落とすことに決めました。うまくいけば、それはあなたが望むことを行います。そうでない場合は、お気軽に問題を送信してください。お手伝いします。

0