Iperf для начинающих: Простой способ тестирования сети

Iperf - кроссплатформенная консольная клиент-серверная программа — генератор TCP, UDP и SCTP трафика для тестирования пропускной способности сети. Iperf доступен для различных операционных систем, включая Windows, Linux и macOS. Поддержка IPv4 и IPv6.

Установка в Debian, Ubuntu, в репозиториях также есть другая более старая версия, но я использую последнюю версию

root@z:~# apt info iperf3
Package: iperf3
Version: 3.9-1+deb11u1build0.22.04.1
 
root@z:~# apt install iperf3

Сначала установите iperf на обе машины, между которыми будет тестироваться пропускная способность.

  • Настройка Сервера: Запустите iperf в режиме сервера на одной машине командой
    iperf -s
  • Настройка Клиента: Затем на другой машине запустите iperf в режиме клиента, указав IP-адрес сервера:
    iperf -c [IP адрес сервера]

Часто используемые ключи для запуска

  • -d что бы эмулировать трафик в обе стороны
    iperf -c <IPсервера> -d
  • -P позволяет указать количество потоков
    iperf -c <IPсервера> -P 10
  • -b ширина-канала (для UDP тестирования, задаётся на клиентской стороне; по умолчанию - 1Mbps)
  • Изменение порта: Вы можете указать порт с помощью флага -p
  • Тестирование UDP: Для тестирования UDP используйте флаг -u
  • Установка времени теста: Длительность теста можно настроить с помощью флага -t

Тест TCP:

На сервере: iperf -s
На клиенте: iperf -c [IP адрес сервера]

Тест UDP:

На сервере: iperf -s
На клиенте: iperf -c [IP адрес сервера] -u

Тест на определенное время:

На клиенте: iperf -c [IP адрес сервера] -t 60

По ссылке Public iPerf3 Serverlist вы найдете список общедоступных серверов iPERF3 для тестирования пропускной способности и скорости в разных географических регионах. Например часто нужно проверять работу IPv6, находим в списке сервер с поддержкой IPv6 и запускаем

iperf3 -c speedtest.ip-projects.de -p 5201 -P 10 -6 -R

где

  • -R, –reverse работает в обратном режиме (сервер отправляет, клиент получает)(загрузка)
  • -4, –version4 использовать только IPv4
  • -6, –version6 использовать только IPv6

Пример ежечасной проверки канала между двумя серверами расположенных на разных колокейшенах.

  • Клиент.
    # nano /etc/cron.hourly/iperf-losses
    #!/bin/bash
    
    /usr/bin/iperf -c server_host -u -b 2m -P 2 | mail -s "Internet connection check" noc@example.org
  • Сервер. Скрипт запустим при помощи утилиты nohup.
    # nano /opt/iperf-server-daemon.sh
    #!/bin/sh
    
    /usr/bin/iperf -u -s > /var/log/iperf-server.log 2>&1

    Запуск

    # nohup /opt/iperf-server-daemon.sh &

Читайте также:

iperf - это незаменимый инструмент для сетевых администраторов и инженеров, позволяющий детально анализировать пропускную способность и производительность сети. Его гибкость и простота использования делают его подходящим для широкого спектра сценариев тестирования сети.

PQ VPS сервера в 28+ странах.