Установка iperf3 на Ubuntu 20.04/22.04/24.04 — Пошаговая инструкция | AdminWiki

Установка iperf3 на Ubuntu: Полное руководство для тестирования сети

18 декабря 2025 9 мин. чтения #devops #iperf3 #linux #ubuntu #пропускная способность #сетевое тестирование #сети

Представь, что тебе нужно точно измерить пропускную способность сети между серверами, проверить качество канала или диагностировать проблемы с сетевым оборудованием. Именно для этих задач существует iperf3 — мощный инструмент для тестирования производительности сети. Давай разберем, как правильно выполнить установку iperf3 на Ubuntu и настроить его для работы.

Что такое iperf3 и зачем он нужен

Iperf3 — это консольная утилита для активного измерения максимальной пропускной способности IP-сетей. В отличие от своего предшественника iperf, третья версия переписана с нуля и имеет более чистый код, улучшенную архитектуру и новые функции.

Основные возможности iperf3:

  • Измерение пропускной способности TCP и UDP
  • Поддержка IPv4 и IPv6
  • Возможность задания временных интервалов тестирования
  • Параллельные потоки для нагрузки сети
  • JSON-вывод для автоматизации тестов
  • Измерение потерь пакетов и джиттера

Способы установки iperf3 на Ubuntu

Существует несколько методов установки iperf3 на Ubuntu. Давай рассмотрим каждый из них, начиная с самого простого.

Метод 1: Установка из официальных репозиториев Ubuntu

Это самый простой и рекомендуемый способ установки iperf3 на Ubuntu. Пакет доступен в стандартных репозиториях для всех поддерживаемых версий.

bash
# Обновляем список пакетов
sudo apt update

# Устанавливаем iperf3
sudo apt install iperf3 -y

# Проверяем установку
iperf3 --version
💡 Совет ментора: Всегда выполняй sudo apt update перед установкой любых пакетов. Это гарантирует, что система использует актуальные версии из репозиториев.

Метод 2: Установка из исходного кода

Если тебе нужна самая свежая версия или специфические настройки, можно собрать iperf3 из исходников. Этот метод установки iperf3 на Ubuntu требует больше шагов, но дает полный контроль.

bash
# Устанавливаем зависимости для сборки
sudo apt update
sudo apt install build-essential git libssl-dev -y

# Клонируем репозиторий iperf3
cd /tmp
git clone https://github.com/esnet/iperf.git
cd iperf

# Конфигурируем и собираем
./configure
make

# Устанавливаем в систему
sudo make install

# Проверяем установку
iperf3 --version
⚠️ Внимание: При установке из исходников файлы могут оказаться в нестандартных путях. Для глобальной доступности убедись, что /usr/local/bin есть в переменной PATH.

Настройка и использование iperf3

После успешной установки iperf3 на Ubuntu давай настроим его для работы в двух основных режимах: сервер и клиент.

Запуск iperf3 в режиме сервера

На одном из серверов (или компьютеров) нужно запустить iperf3 в режиме сервера, который будет принимать входящие соединения для тестирования.

bash
# Простой запуск сервера на порту 5201 (по умолчанию)
iperf3 -s

# Запуск сервера на определенном порту
iperf3 -s -p 8080

# Запуск сервера в фоновом режиме
iperf3 -s -D

# Запуск сервера с выводом в JSON (удобно для скриптов)
iperf3 -s --json

Запуск iperf3 в режиме клиента

На втором сервере запускаем клиент, который подключается к серверу и проводит тестирование пропускной способности.

bash
# Базовый тест (10 секунд, TCP)
iperf3 -c server_ip_address

# Тест с указанием порта
iperf3 -c server_ip_address -p 8080

# Тест UDP с указанием битрейта (1 Гбит/с)
iperf3 -c server_ip_address -u -b 1G

# Тест с обратным направлением трафика (от сервера к клиенту)
iperf3 -c server_ip_address -R

# Тест с параллельными потоками (4 потока)
iperf3 -c server_ip_address -P 4

# Тест с определенной длительностью (30 секунд)
iperf3 -c server_ip_address -t 30

# Тест с интервалом отчетов (каждые 2 секунды)
iperf3 -c server_ip_address -i 2

Пример полного теста сети

Давай рассмотрим практический пример тестирования сети между двумя серверами с Ubuntu после установки iperf3.

bash
# На сервере (192.168.1.100):
iperf3 -s -p 5201

# На клиенте (в другом терминале или на другом сервере):
iperf3 -c 192.168.1.100 -p 5201 -t 60 -i 5 -P 4

# Результат будет показывать:
# - Пропускную способность для каждого потока
# - Общую пропускную способность
# - Отправленные/полученные байты
# - Потери пакетов (для UDP тестов)

Сравнение методов установки iperf3

Метод Сложность Версия Рекомендация
APT (официальный репозиторий) Низкая Стабильная Для большинства случаев
Исходный код Высокая Последняя Для новых функций
Snap пакет Очень низкая Актуальная Для быстрой установки

Частые вопросы (FAQ)

Q: Какие порты нужно открыть в фаерволе для iperf3?

A: По умолчанию iperf3 использует порт 5201/TCP для сервера. Если ты изменяешь порт, открой соответствующий порт в фаерволе:

bash
# Для UFW (стандартный фаервол Ubuntu)
sudo ufw allow 5201/tcp

# Для iptables
sudo iptables -A INPUT -p tcp --dport 5201 -j ACCEPT

Q: Как проверить, что iperf3 установлен корректно?

A: После установки iperf3 на Ubuntu выполни команду проверки версии и попробуй запустить локальный тест:

bash
# Проверка версии
iperf3 --version

# Локальный тест (сервер и клиент на одной машине)
# В первом терминале:
iperf3 -s
# Во втором терминале:
iperf3 -c localhost

Q: Можно ли использовать iperf3 для тестирования WAN соединений?

A: Да, iperf3 отлично подходит для тестирования WAN. Убедись, что серверная часть доступна из интернета (проброс портов в роутере, открытые порты в облачном фаерволе). Для публичных серверов можно использовать флаг --bind для указания конкретного IP.

Q: Как интерпретировать результаты тестов iperf3?

A: Основные метрики:

  • Bandwidth — пропускная способность (чем выше, тем лучше)
  • Jitter — вариация задержки (чем ниже, тем стабильнее соединение)
  • Lost/Total Datagrams — потери пакетов (для UDP, должно быть близко к 0%)
  • Transfer — объем переданных данных

Автоматизация тестов iperf3

Для регулярного мониторинга сети можно создать простой скрипт, который будет автоматически выполнять тесты после установки iperf3 на Ubuntu.

bash
#!/bin/bash
# Скрипт для автоматического тестирования сети
SERVER_IP="192.168.1.100"
LOG_FILE="/var/log/iperf_test_$(date +%Y%m%d_%H%M%S).json"

# Выполняем тест с выводом в JSON
iperf3 -c $SERVER_IP -t 30 -i 5 --json > $LOG_FILE

# Извлекаем и выводим результаты
echo "Результаты теста:"
echo "Пропускная способность: $(grep -o '"bits_per_second":[^,]*' $LOG_FILE | tail -1)"
echo "Файл лога: $LOG_FILE"
💡 Профессиональный совет: Добавь скрипт в cron для регулярного тестирования сети. Например, каждый день в 3:00: 0 3 * * * /path/to/iperf_script.sh

Устранение распространенных проблем

Проблема: "connect failed: Connection refused"

Решение:

  1. Убедись, что сервер iperf3 запущен на удаленной машине
  2. Проверь правильность IP-адреса и порта
  3. Убедись, что фаервол не блокирует соединение
  4. Проверь сетевое соединение между машинами (ping)

Проблема: Низкая пропускная способность в тестах

Возможные причины и решения:

  • Сетевые ограничения: Проверь настройки сетевых карт (ethtool)
  • CPU ограничения: Убедись, что CPU не загружен на 100%
  • Буферы TCP: Попробуй увеличить размер окон: iperf3 -c server -w 2M
  • Параллельные потоки: Используй несколько потоков: -P 4

Заключение

Установка iperf3 на Ubuntu — это простой процесс, который открывает доступ к мощному инструменту для диагностики и тестирования сетей. Независимо от того, являешься ли ты DevOps-инженером, системным администратором или просто любителем технологий, iperf3 предоставит тебе точные данные о производительности твоей сети.

Ключевые выводы:

  • Используй sudo apt install iperf3 для быстрой установки из репозиториев
  • Запускай сервер с iperf3 -s и клиент с iperf3 -c IP_ADDRESS
  • Экспериментируй с параметрами (-t, -P, -u) для разных сценариев тестирования
  • Используй JSON вывод (--json) для автоматизации и интеграции с системами мониторинга
  • Помни о необходимости открытия портов в фаерволе для внешнего тестирования
Поделиться:
Сохранить гайд? В закладки браузера