自宅の回線速度を計測してみたくて、某所Ubuntu Serverにiperf3 serverを立ち上げてみました。
まあ、Webベースの計測でもいいじゃないか、という気もするのですが、何をやっているのかわからないので、iperf3 serverを起動してみました。
インストール
以下の手順でインストールします。
$ sudo apt install iperf3 $ sudo adduser iperf --disabled-login -gecos iperf [sudo] password for xxxxx: Adding user `iperf' ... Adding new group `iperf' (1001) ... Adding new user `iperf' (1001) with group `iperf' ... Creating home directory `/home/iperf' ... Copying files from `/etc/skel' ... $
インストールが完了したら、
$ sudo nano /etc/systemd/system/iperf3-server@.service
として、systemd用の設定ファイルを作成します、内容は、
[Unit] Description=iperf3 server on port %i After=syslog.target network.target [Service] ExecStart=/usr/bin/iperf3 -s -1 -p %i Restart=always RuntimeMaxSec=3600 User=iperf [Install] WantedBy=multi-user.target DefaultInstance=5201
です。
作成したら、
$ sudo systemctl daemon-reload
として、daemonをリロードして設定ファイルを読み込ませます。
起動と測定と終了
起動する前に状態を確認してみます。
$ for p in $(seq 9200 9240); do sudo systemctl status iperf3-server@$p ; done ● iperf3-server@9200.service - iperf3 server on port 9200 Loaded: loaded (/etc/systemd/system/iperf3-server@.service; disabled; vendor preset: enabled) Active: inactive (dead) : :(中略) : ● iperf3-server@9240.service - iperf3 server on port 9240 Loaded: loaded (/etc/systemd/system/iperf3-server@.service; disabled; vendor preset: enabled) Active: inactive (dead)
起動してみます。
$ for p in $(seq 9200 9240); do sudo systemctl start iperf3-server@$p ; done
再度確認すると、
$ for p in $(seq 9200 9240); do sudo systemctl status iperf3-server@$p ; done ● iperf3-server@9200.service - iperf3 server on port 9200 Loaded: loaded (/etc/systemd/system/iperf3-server@.service; disabled; vendor preset: enabled) Active: active (running) since Thu 2022-02-17 00:14:57 JST; 4s ago Main PID: 38682 (iperf3) Tasks: 1 (limit: 9263) Memory: 392.0K CGroup: /system.slice/system-iperf3\x2dserver.slice/iperf3-server@9200.service └─38682 /usr/bin/iperf3 -s -1 -p 9200 : :
という感じで動作していることが確認できます。
注)以下の方が良さそう
$ sudo systemctl status iperf3-server@*
この状態で、対向から
$ iperf3 -c hostname -p 9200 -P 10 -4
や、
$ iperf3 -c hostname -p 9200 -P 10 -4 -R
としてテストします。
終了したら、
$ sudo systemctl stop iperf3-server@*
で停止しておきます。