VirtualBoxなどの仮想化ソフトウェアを使用すると、直接接続を使用するのではなく、NAT を介して複数のゲスト VM (仮想マシン) を一緒に接続できます。
Virtualbox によって提供される組み込みのNAT は、一般的なホームおよび ISP レベルの NATing ルーターと比較すると、非現実的な「ピアツーピア フレンドリー」です。Virtualbox の NAT は、NAT トラバーサル手法 (UDP/TCP ホール パンチング) を非現実的に簡単にする「フル コーン NAT」のようです (説明については、このウィキペディアの記事を参照してください)。一方、多くのルーター NAT は「対称 NAT」または何らかの形式の「制限付きNAT」です。送信元ポートおよび/またはアドレス制限に基づく円錐 NAT' 。
したがって、現実的な NAT を介して通信する複数のホストをシミュレートする 1 つの方法は、Virtualbox などの仮想化ツールを使用し、Linux カーネルに組み込まれている netfilter 関数を使用してルーティングと NAT を実行する Linux ベースの「ルーター」VM を介してそれらを接続することです。このiptables
コマンドを使用すると、 netfilter ルールを設定して、さまざまな NAT 動作 (上記のウィキペディアの記事で詳しく説明されているように) を実現できます。たとえば、iptables
. .
netfilter/IP-masquerading (NAT に必要) の設定に関する一般的な情報については、次のハウツーを参照して
ください。 HOWTO.html
もちろん、P2P ソフトウェアをさまざまなローカル インターフェイス (127.0.0.0/24 の範囲内または IPv6 サブネットを使用) にバインドし、単一のマシンでルーティング テーブルと netfilter ルールを構成して、仮想化なしでこれを行うことができます。どちらのアプローチが簡単かはわかりませんが、マシンのリソースがあれば、仮想化のアプローチの方が追跡しやすいかもしれません。