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