2

簡単なp2pvpnアプリを作成する必要があります。多くの検索を行った後、トンネルの作成に使用されるPYTUNと呼ばれるPython用のtun/tapモジュールを見つけました。このモジュールを使用して、2つのリモートピア間にトンネルを作成するにはどうすればよいですか?

添付のすべてのドキュメントには、ローカルコンピューターでトンネルインターフェイスを作成して構成する方法のみが示されていますが、リモートピアに接続する方法については説明されていません。

4

2 に答える 2

0

pytun はこれには十分ではありません。これは、Python アプリケーションをシステム ネットワーク インターフェイスに接続する役割を果たします。実際には、そのシステム ネットワーク インターフェイスの実装を担当することになります。

そのネットワーク インターフェイスを介してルーティングされるトラフィックが実際のネットワークを通過するようにする場合、ホスト A からホスト B にデータを移動する実際のネットワーク操作を実行するのは Python プログラムの仕事です。

これはおそらくうまくやるには大変な作業です。代わりに、既存の VPN ツールを使用することをお勧めします。

于 2013-06-27T17:40:30.150 に答える
0

誰かが Google でこの古い質問を見つけた場合に備えて: python-pytun (リポジトリはこちら) を見てください。簡単な IP およびイーサネット トンネルを実装する方法を示すサンプル スクリプトがあります。

基本的な考え方は、2 つのサイト間で TCP 接続を確立することです (通常のソケット API を介してアクセスします)。また、両方の通信側が TUN または TAP インターフェースを作成します。

各ホストは、ソケットと TUN/TAP インターフェイスからデータ (パケット) を読み取り、各パケットを他のデバイスに書き込むループを実行します。これは、トンネルに暗号化を追加できる場所です...

警告を追加させてください: 独自の VPN トンネル アプリケーションを作成するのは楽しいかもしれませんが、それ以外の目的でトンネルを使用する場合は、既存のトンネル アプリケーションまたはスタック (OpenVPN、IPSec など) を使用することを強くお勧めします。楽しいプロジェクト: 専門家であっても、暗号とプロトコルを正しく理解することは非常に困難ですが、専門家でない人にとってはほとんど不可能です。

于 2016-02-17T08:41:17.910 に答える