こんにちは、私は現在トレント トラッカー サーバーと Docker を使用する 2 つのクライアントを試しています。私のセットアップは、torrent-net と呼ばれる独自のネットワークを作成したことです。
docker network create -d bridge noto-network
次に、クライアント用に 2 つのコンテナーを 3 つ作成します。1 つは ctorrent を使用し、もう 1 つはカスタム go コードです。3 番目のコンテナーには、opentracker サーバーがインストールされています。ネットワーク構成は次のとおりです。
Gateway:
ip_address: 172.18.0.1/16
Opentracker:
ip_address: 172.18.0.2/16
announce_port: 6969
GoCode:
ip_address: 172.18.0.3/16
torrent_port: 6881
cTorrent
ip_address: 172.18.0.4/16
torrent_port: 2706
トラッカーと ctorrent を開始します。go コードからトラッカーにリクエストを送信すると、次の 2 つのピアが返されます。
- ip: 172.18.0.1
port: 6881
- ip: 172.18.0.1
port: 2706
2 つの質問があります。
- 3 つのコンテナーはすべて同じネットワーク内にあるのに、なぜ相互に通信するために NAT が必要なのでしょうか?
- クライアントとして、この NAT IP のいずれかが自分を表しているかどうかを知るにはどうすればよいですか? これは、自分に話しかけないようにするためです。