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 — мощный и простой инструмент для диагностики и тестирования сети, подходящий как для локальных, так и для интернет-соединений.