Content
Перевірка швидкості з'єднання за допомогою iperf
iperf — це потужний інструмент для тестування пропускної здатності мережі, який дозволяє вимірювати швидкість передачі даних між двома пристроями. Його широко використовують системні адміністратори та інженери для діагностики проблем у мережі та оцінки продуктивності з’єднання. У цій статті ми розглянемо, як встановити iperf, як ним користуватися та як правильно налаштувати брандмауер для його коректної роботи.
Встановлення iperf
Перед початком необхідно встановити iperf на обидва пристрої: сервер (який приймає трафік) і клієнт (який надсилає трафік). Існує дві популярні версії — iperf2 та iperf3. Ми рекомендуємо використовувати iperf3, оскільки він активно підтримується та має розширені функції.
Встановлення на Linux
- Ubuntu Ubuntu/Debian:
sudo apt update sudo apt install iperf3
- CentOS/RHEL:
sudo yum install iperf3
Встановлення на Windows
- Завантажте iperf3 з офіційного вебсайту (наприклад, https://iperf.fr/)
- Розпакуйте архів у зручну папку (наприклад, C:\iperf).
- Додайте шлях до папки до змінної середовища PATH для зручного доступу з командного рядка.
Встановлення на macOS
- Через Homebrew:
brew install iperf3
Після встановлення перевірте версію, щоб переконатися, що інструмент працює:
iperf3 --version
Як працює iperf?
iperf працює за моделлю клієнт-сервер:
- Сервер: Запускається на одному пристрої та очікує на вхідні з’єднання.
- Клієнт: Підключається до сервера та надсилає дані для вимірювання швидкості.
За замовчуванням iperf3 використовує порт TCP 5201 (iperf2 використовує 5001). Ви можете змінити порт за допомогою опції -p.
Налаштування брандмауера для iperf
Щоб iperf працював належним чином, переконайтеся, що брандмауер на вашому пристрої не блокує з’єднання на портах, які використовує iperf (за замовчуванням — порт TCP 5201, але ви можете вказати інший за допомогою -p). Нижче наведено інструкції з налаштування брандмауера для різних операційних систем.
Windows
- Відкрийте налаштування брандмауера:
- Натисніть Win + R, введіть
control
і виберіть «Брандмауер Windows Defender». - Перейдіть до «Дозволити програмі або функції працювати через брандмауер Windows Defender».
- Натисніть Win + R, введіть
- Додайте правило для iperf:
- Натисніть «Дозволити іншу програму», потім «Огляд» і виберіть файл iperf3.exe.
- Дозвольте вхідні та вихідні з’єднання для приватних і публічних мереж.
- Створіть правило для порту (альтернативний метод):
- У «Розширених налаштуваннях» виберіть «Правила для вхідних з’єднань» → «Нове правило».
- Виберіть «Порт», вкажіть TCP і порт (наприклад, 5201), потім дозвольте з’єднання.
- Повторіть для вихідних з’єднань, якщо потрібно.
Linux
Залежно від дистрибутива використовуються різні інструменти для керування брандмауером:
- Для ufw (Ubuntu, Debian):
sudo ufw allow 5201/tcp sudo ufw status # Перевірте статус
- Для firewalld (CentOS, RHEL):
sudo firewall-cmd --add-port=5201/tcp --permanent sudo firewall-cmd --reload sudo firewall-cmd --list-ports # Перевірте відкриті порти
- Для iptables (ручна конфігурація):
sudo iptables -A INPUT -p tcp --dport 5201 -j ACCEPT sudo iptables -A OUTPUT -p tcp --sport 5201 -j ACCEPT
macOS
- Відкрийте налаштування брандмауера:
- Перейдіть до «Системні налаштування» → «Безпека та конфіденційність» → вкладка «Брандмауер».
- Переконайтеся, що брандмауер увімкнено.
- Додайте виняток:
- Натисніть «Параметри брандмауера» → «+» і додайте програму iperf3.
- Дозвольте вхідні з’єднання.
- Через термінал (альтернатива):
echo "pass in proto tcp from any to any port 5201" | sudo pfctl -f - sudo pfctl -e # Увімкнути брандмауер
Загальні рекомендації
- Переконайтеся, що порт, використаний у команді iperf (наприклад,
iperf3 -s -p 5201
), відповідає порту, відкритому в брандмауері. - Використовуйте
netstat
абоss
(наприклад,ss -tuln | grep 5201
), щоб перевірити, чи прослуховується порт. - Якщо тестування проводиться через Інтернет, налаштуйте брандмауер роутера або хмарного сервера.
Використання iperf
Запуск сервера
На пристрої, який виконуватиме роль сервера, виконайте:
iperf3 -s
Ви побачите повідомлення, що сервер запущено і він прослуховує порт 5201.
Запуск клієнта
На другому пристрої (клієнті) вкажіть IP-адресу сервера:
iperf3 -c 192.168.1.100
-c
: Режим клієнта.192.168.1.100
: Замініть на IP-адресу вашого сервера.
За замовчуванням тест триває 10 секунд. Результати покажуть швидкість передачі даних у мегабітах за секунду (Mbps).
Тестування з публічним сервером
Якщо ви не можете запустити власний сервер, ви можете скористатися публічними серверами iperf. Наприклад, сервер Bouygues Telecom:
iperf3 -c bouygues.iperf.fr
Ця команда підключається до публічного сервера bouygues.iperf.fr (за замовчуванням використовує порт 5201) і вимірює швидкість між вашим пристроєм і сервером. Зверніть увагу, що доступність публічних серверів може змінюватися, а результати залежать від вашого інтернет-з’єднання.
Корисні опції
-t <час>
: Тривалість тесту в секундах (наприклад,-t 30
).-p <порт>
: Вкажіть порт (наприклад,-p 5001
).-u
: Використовуйте UDP замість TCP.-b <швидкість>
: Обмежте пропускну здатність (наприклад,-b 10M
для 10 Mbps).-R
: Тестуйте зворотний напрямок (від сервера до клієнта).
Приклад тесту UDP:
iperf3 -c 192.168.1.100 -u -b 100M
Інтерпретація результатів
Після завершення тесту iperf3 відображає таблицю з результатами:
- Interval: Часовий інтервал.
- Transfer: Обсяг переданих даних.
- Bandwidth: Пропускна здатність у Mbps.
Приклад виведення для локального тесту:
[ 5] 0.00-10.00 sec 1.13 GBytes 970 Mbits/sec
Це означає, що за 10 секунд було передано 1,13 ГБ із середньою швидкістю 970 Mbps.
Приклад виведення для тесту з публічним сервером bouygues.iperf.fr:
iperf3 -c bouygues.iperf.fr Connecting to host bouygues.iperf.fr, port 5201 [ 4] local 192.168.0.47 port 56396 connected to 89.84.1.222 port 5201 [ ID] Interval Transfer Bandwidth Retr Cwnd [ 4] 0.00-1.00 sec 608 KBytes 4.98 Mbits/sec 0 48.1 KBytes [ 4] 1.00-2.00 sec 1.24 MBytes 10.4 Mbits/sec 0 80.6 KBytes [ 4] 2.00-3.00 sec 1.62 MBytes 13.6 Mbits/sec 0 120 KBytes [ 4] 3.00-4.00 sec 2.11 MBytes 17.7 Mbits/sec 0 151 KBytes [ 4] 4.00-5.00 sec 2.92 MBytes 24.5 Mbits/sec 0 173 KBytes [ 4] 5.00-6.00 sec 2.98 MBytes 25.0 Mbits/sec 0 191 KBytes [ 4] 6.00-7.00 sec 3.42 MBytes 28.7 Mbits/sec 0 212 KBytes [ 4] 7.00-8.00 sec 1.30 MBytes 10.9 Mbits/sec 0 212 KBytes [ 4] 8.00-9.00 sec 445 KBytes 3.65 Mbits/sec 1 212 KBytes [ 4] 9.00-10.00 sec 891 KBytes 7.30 Mbits/sec 0 212 KBytes [ ID] Interval Transfer Bandwidth Retr [ 4] 0.00-10.00 sec 17.5 MBytes 14.7 Mbits/sec 1 sender [ 4] 0.00-10.00 sec 16.7 MBytes 14.0 Mbits/sec receiver
У цьому випадку тест показує, що за 10 секунд було передано 17,5 МБ із середньою швидкістю 14,7 Mbps (відправник) і 14,0 Mbps (отримувач). Колонка Retr
вказує на повторні передачі (в даному випадку 1), а Cwnd
показує розмір вікна перевантаження, який зростає під час тесту.
Висновок
iperf — це простий і ефективний інструмент для перевірки швидкості мережі. Він дозволяє швидко виявляти вузькі місця в з’єднанні та оцінювати реальну продуктивність, чи то в локальній мережі, чи з публічними серверами, такими як bouygues.iperf.fr. Переконайтеся, що ваш брандмауер правильно налаштований, і використовуйте відповідні опції для ваших потреб. Якщо у вас є запитання, залиште коментар нижче!