状況
AWS EC2環境にiperfサーバを立ててローカルWindows PCからパケットロス率を計測しようとしたら以下のエラーで接続できない現象が発生した
iperf3: error - unable to connect to server - server may have stopped running or use a different port, firewall issue, etc.: Connection refused
原因
サーバ側で間違えてバージョン2系をインストールしていた
誤)Amazon Linux 2023 でバージョン2系が入る
sudo yum install iperf
正)Amazon Linux 2023 でバージョン3系が入る
sudo yum install iperf3
確認したこと
-
ps ax | grep iperfでサーバが起動していることを確認 -
netstat -anで5001がLISTENしていることを確認 - セキュリティグループで外部からの接続が許可されていることを確認
- クライアント側PowerShellで
Test-NetConnection X.X.X.X -Port 5001して該当ポートにTCPで接続できることを確認 - クライアント側
iperf3 -c X.X.X.X -p 5001とポート指定するとエラーメッセージがiperf3: error - control socket has closed unexpectedlyと変わる - その時サーバ側では
read tcp test info failed: Resource temporarily unavailableのログが出る
単純な間違いのわりにエラーメッセージが分かりづらくて解決に時間が掛かったので記録しておきます