使用するランダムなポートをiperfに選択させる代わりに、iperfクライアントに発信ポートとして特定のポート番号を使用させる方法はありますか?
6 に答える
iperf 3ユーザードキュメントhttps://iperf.fr/iperf-doc.php--cport <port>
は、オプションを使用して特定のクライアントポートを割り当てることができることを示してい-B --bind
ます。詳細については、iperf3のユーザードキュメントを確認してください。これは、クライアントのポート番号5500を使用する例です。
サーバーは10.0.0.2で実行されます。
> iperf3 -s
クライアントは10.0.0.1で実行されます
> iperf3 -c 10.0.0.2 -B 10.0.0.1 --cport 5500
実際には、これらの答えはどちらも正しくありません。クライアントポートではなく、宛先ポートを指定します。クライアントポートはランダムであるようです(ただし、1回の実行で一貫しています)。指定する方法はありません。
2019年の更新:最近のバージョン--cportオプションでクライアントポートを指定
-p, --port # $IPERF_PORT The server port for the server to listen on and the client to connect to. This should be the same in both client and server. Default is 5001, the same as ttcp.
-pオプションは、クライアントまたはサーバーで使用するポート番号を示します。次に、サーバー側とクライアントサイトに同じポートを設定する必要があります。
たとえばサーバー
iperf -s -p 10000
クライアント
iperf -c SERVER_IP -p 10000 -t60
iperf -c <remoteip> --port <remoteport> -B <localbindip>:<localbindport>
私は上記を使用してこれを行うことができました。
これは、特定のホスト(224.25.7.0)とポート(25700)で解決した方法です。
sudo apt install perf
各マシンで
リッスン側(10.14.17.14):
iperf -s -u -B 224.25.7.0%eno1 -i 1 -p 25700
eno1はインターフェース名です(マシンのIPアドレスで置き換えることができます)
送信側(10.14.17.13):
iperf -c 224.25.7.0 -u --ttl 5 -t 5 -B 10.14.17.13 -p 25700
Docker
Dockerコンテナまたはk8sポッドでテストするには、bagoulla/iperfイメージを使用できます。
sudo docker run --net=host --rm bagoulla/iperf:2.0 -s -u -B 224.25.7.0%eno1 -i 1 -p 25700
引数を必要なものに置き換えることができます
試してください:サーバー側-
iperf -s -i1 -fm -w512k -p1
クライアント側-
iperf -c <ipadr> -i1 -fm -w512k -p1
-pオプションは、ポート番号を示します。