PeerVPN-オープンソースのピアツーピアVPN

PeerVPNプロジェクトのアナウンスメントと小さなドキュメントの翻訳。これは私にとって興味深いと思われました。

Peervpn


これは、複数のリモートコンピューターから仮想LANを作成するプログラムです。 このようなネットワークは、ファイルやゲームの共有など、アプリケーション間の直接通信に役立ちます。 多くの場合、ファイアウォールまたはNATにより、通常の方法でこの相互作用を確立することはできません。

多くのノードが単一のサーバーに接続する場合、従来のVPNはクライアントサーバー方式で動作します。 このような恒星トポロジーには欠陥があります。 すべてのネットワークトラフィックを処理するには、中央サーバーに高帯域幅が必要です。 サーバーがクラッシュすると、ネットワークがクラ​​ッシュします。

PeerVPNは、中央サーバーを必要とせずにすべてのノードが互いに通信する分散技術で動作します。 1つのノードが切断された場合、これはネットワークに影響しません。

ネットワークのセットアップは簡単です。 別のノードのネットワーク名、パスワード、連絡先情報(IPおよびポート)を設定する必要があります。 新しいノードを追加するためにネットワークを再構成する必要はありません。それらのアドレスはネットワーク上で自動的に配布されます。

物性


-TAP経由のイーサネットサポート
-IPv6サポート
-分散技術
-追加設定なしでファイアウォールおよびNATを通過する自動トンネル
-共有キーと承認のサポート

プラットフォーム


LinuxおよびFreeBSD。 OpenSSLが必要

免許


PeerVPNはGPLv3でライセンスされています。

ダウンロードする


バージョン0.042(2015-01-21)

ソースコード: peervpn-0-042.tar.gz
Linux用の静的にリンクされたx86バイナリ: peervpn-0-042-linux-x86.tar.gz

ウェブページ


www.peervpn.net

設定例


PeerVPNを2つのLinuxコンピューターにインストールしたとします。これを「ノードA」と「ノードB」と呼びます。

ノードAを構成する

次の内容でpeervpn.confファイルを作成します。

port 7000 networkname ExampleNet psk mysecretpassword enabletunneling yes interface peervpn0 ifconfig4 10.8.0.1/24 


UDPポート7000が開き、peervpn0という名前でアドレス10.8.0.1の仮想イーサネットインターフェイスが作成されます。

ノードAはノードBから直接アクセスできる必要があります。ノードAがNATの背後にある場合、ポート7000を転送する必要があります。

ノードBを構成する

次の内容でpeervpn.confファイルを作成します。

 port 7000 networkname ExampleNet psk mysecretpassword enabletunneling yes interface peervpn0 ifconfig4 10.8.0.2/24 initpeers node-a.example.com 7000 


node-a.example.comの代わりに、ノードAのアドレスを置き換える必要があります。

テスト中

両方のノードでPeerVPNを実行します。 peervpn0インターフェイスがそれぞれに表示されます。 VPNトンネルのインストールには時間がかかる場合があります。 ホストAから10.8.0.2またはホストBから10.8.0.1をpingしてみてください。応答が受信された場合、VPNは機能しています。

ネットワークへのノードの追加

peervpn.confをホストBから新しいホストにコピーし、ifconfigコマンドでIPを10.8.0.3、10.8.0.4などに変更します。 ノードを起動すると、ノードAへのトンネルが最初に構築され、しばらくしてからノードBと他のネットワークノードへのトンネルが構築されます。

Source: https://habr.com/ru/post/J250277/


All Articles