iPerf — это кроссплатформенная консольная утилита с открытым исходным кодом для тестирования пропускной способности сети между двумя узлами. Она позволяет генерировать TCP и UDP трафик, измерять максимальную скорость передачи данных, а также проводить нагрузочное тестирование сетевых каналов, маршрутизаторов, файрволов, Ethernet или Wi-Fi сетей. В этой статье мы расскажем, как скачать, установить и использовать iPerf (версия iPerf3) на платформах Windows, Linux и VMware ESXi для проверки скорости сети.
Скачивание и установка iPerf
iPerf не требует сложной установки и работает в режиме клиент-сервер. Один узел запускается в режиме сервера, другой — в режиме клиента. Ниже приведены инструкции по установке для каждой платформы.
Windows
1. Скачивание iPerf:
— Перейдите на официальный сайт iPerf.
— Скачайте архив iPerf 3.1.3 для Windows (например, iperf-3.1.3-win64.zip) или более новую версию, если доступна.
— Так же можно скачать iPerf 3.19 напрямую с нашего сервера.
— Альтернативно, используйте PowerShell для автоматического скачивания и распаковки:
$iPerfZip = "https://iperf.fr/download/windows/iperf-3.1.3-win64.zip"
$TargetFolder = Join-Path $env:TEMP "iperf.zip"
$iPerfPath = Join-Path $env:TEMP "iperf"
if (!(Test-Path $iPerfPath))
{ Invoke-WebRequest -Uri $iPerfZip -OutFile $TargetFolder
Expand-Archive -Path $TargetFolder -DestinationPath $iPerfPath
}
2. Распаковка:
— Распакуйте архив в любую папку, например, C:\tools\iperf. В архиве находятся файлы iperf3.exe и cygwin1.dll.
3. Настройка файрвола:
— Для работы iPerf в режиме сервера откройте входящий порт 5201 для TCP и UDP в Windows Defender Firewall:
New-NetFirewallRule -DisplayName 'iPerf-Server-Inbound-TCP' -Direction Inbound -Protocol TCP -LocalPort 5201 -Action Allow | Enable-NetFirewallRule
New-NetFirewallRule -DisplayName 'iPerf-Server-Inbound-UDP' -Direction Inbound -Protocol UDP -LocalPort 5201 -Action Allow | Enable-NetFirewallRule
4. Графический интерфейс (опционально):
— Для удобства можно использовать JPerf (требуется установленная Java). Скачайте с SourceForge.
— Установите модуль iPerfAutomate для PowerShell:
Install-Module -Name iPerfAutomate
Linux
1. Установка iPerf:
— В CentOS/RHEL/Fedora:
dnf install iperf3
Для CentOS 7 сначала добавьте репозиторий EPEL:
yum install epel-release
yum install iperf3
— В Debian/Ubuntu:
sudo apt install iperf3
2. Настройка файрвола:
— Если сервер iPerf3 работает на Linux, откройте порт 5201:
firewall-cmd --permanent --add-port=5201/tcp
firewall-cmd --permanent --add-port=5201/udp
firewall-cmd --reload
VMware ESXi
1. Проверка наличия iPerf:
— Подключитесь к хосту ESXi через SSH.
— Перейдите в каталог /usr/lib/vmware/vsan/bin и проверьте наличие файлов iperf или iperf3:
ls /usr/lib/vmware/vsan/bin
— Если iPerf отсутствует (например, в ESXi 6.7), скачайте offline bundle:
wget http://vibsdepot.v-front.de/depot/bundles/iperf-2.0.5-1-offline_bundle.zip
Установите его:
esxcli software vib install -d /iperf-2.0.5-1-offline_bundle.zip --no-sig-check
Утилита установится в /opt/iperf/bin/iperf3.
2. Настройка файрвола:
— Временно отключите файрвол ESXi:
esxcli network firewall set --enabled=false
— После тестирования включите файрвол:
esxcli network firewall set --enabled=true
3. Привязка к интерфейсу:
— Проверьте IP-адреса интерфейсов vmkernel:
esxcli network ip interface ipv4 get
— Запустите iPerf с привязкой к нужному IP:
/opt/iperf/bin/iperf3 -s -B 192.168.31.50
Использование iPerf для тестирования сети
Запуск сервера iPerf
1. На Linux:
— Запустите сервер:
iperf3 -s
— Для кастомизации (например, порт 5203 и окно TCP 32 KB):
iperf3 -s -w 32768 -p 5203
2. На Windows:
— Перейдите в каталог с iPerf:
cd C:\tools\iperf
— Запустите сервер:
iperf3.exe -s
3. На ESXi:
— Запустите сервер с привязкой к интерфейсу:
/opt/iperf/bin/iperf3 -s -B 192.168.31.50
Запуск клиента iPerf
1. На Windows:
— Запустите клиент, указав IP сервера:
iperf3.exe -c 192.168.1.202
— Для детального теста с увеличенным окном TCP, 8 параллельными потоками, 30-секундным тестом и выводом в Мбит/с:
iperf3.exe -c 192.168.1.202 -P 8 -t 30 -w 32768 -i 5 -f m
— Для дуплексного теста (одновременная отправка и прием):
iperf3.exe -c 192.168.1.202 -P 8 -t 30 -w 32768 -d
— Для UDP-теста:
iperf3.exe -c 192.168.1.202 -u
2. На Linux:
— Аналогично Windows, используйте те же команды, заменив iperf3.exe на iperf3.
Тестирование с публичным сервером
Для проверки интернет-канала используйте публичные iPerf-серверы (список: https://iperf.fr/iperf-servers.php):
iperf3 -c iperf.it-north.net
Чтение результатов
После выполнения теста iPerf вы получите таблицу с результатами:
— Interval: Временной интервал тестирования (секунды).
— Transfer: Объем переданных данных.
— Bandwidth: Средняя пропускная способность (например, 79.7 Мбит/с).
Пример вывода:
[SUM] 0.0-30.0 sec 285 MBytes 79.7 Mbits/sec sender
[SUM] 0.0-30.0 sec 285 MBytes 79.7 Mbits/sec receiver
Дополнительные рекомендации
— Проверка ошибок:
— Ошибка the server is busy означает, что сервер уже выполняет тест. Повторите позже или используйте другой порт.
— Убедитесь, что порты 5201 (или указанные) открыты на обоих узлах.
— Оптимизация:
— Для высокоскоростных сетей (например, 10 Гбит/с) используйте несколько параллельных потоков (-P 8) и увеличенное окно TCP (-w 32768).
— Проводите тесты вне часов пиковой нагрузки, так как iPerf использует всю доступную пропускную способность.
— Мониторинг:
— Следите за нагрузкой на сетевой интерфейс через Диспетчер задач (Windows) или iftop (Linux).
— Документация:
— Полный список опций: iperf3 —help.
— Официальная документация: https://software.es.net/iperf/.
Проверка результата
1. Убедитесь, что сервер и клиент iPerf успешно подключаются.
2. Проверьте итоговую пропускную способность в строке [SUM].
3. Для проверки дуплексного режима используйте опцию -d, для UDP — -u.
4. Если результаты ниже ожидаемых, проверьте настройки сетевых адаптеров, MTU, и наличие помех в сети.
iPerf — мощный и простой инструмент для диагностики и тестирования сети, подходящий как для локальных, так и для интернет-соединений.