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と他のネットワークノードへのトンネルが構築されます。



All Articles