mikrotik-wiki.ru
Главная
Загрузка...

Bandwidth Test на MikroTik — тестирование скорости

RouterOS 7.xTools6 мин30 мар. 2026 г.
TelegramVK

Bandwidth Test на MikroTik — тестирование пропускной способности

Bandwidth Test — встроенный инструмент RouterOS для измерения пропускной способности канала между двумя устройствами MikroTik. Он позволяет протестировать реальную скорость TCP или UDP в направлении send, receive или both, не прибегая к внешним сервисам. Начиная с RouterOS 7.13 доступен также /tool/speed-test — упрощённый тест до серверов MikroTik. В этой статье разберём оба инструмента, настроим сервер и клиент, научимся интерпретировать результаты и избежим типичных ошибок.

Все команды приведены для RouterOS 7.20+.

Описание

Как работает Bandwidth Test

Bandwidth Test состоит из двух компонентов:

  • Bandwidth Server (/tool/bandwidth-server) — слушает входящие соединения на порту 2000 (TCP). Должен быть включён на устройстве, к которому вы тестируете.
  • Bandwidth Client (/tool/bandwidth-test) — инициирует тестирование. Запускается на другом устройстве и подключается к серверу.

Протокол работы:

  1. Клиент устанавливает управляющее TCP-соединение к серверу на порт 2000.
  2. Клиент аутентифицируется (логин/пароль пользователя RouterOS на сервере).
  3. Начинается передача данных по выбранному протоколу (TCP или UDP).
  4. Результаты отображаются в реальном времени: скорость tx (отправка), rx (приём), потери пакетов (для UDP).

Протоколы: TCP vs UDP

ПараметрTCPUDP
Контроль потокаДа (TCP congestion control)Нет
Потери пакетовАвтоматическая ретрансмиссияОтображаются в статистике
Точность измеренияПоказывает «безопасную» скоростьПоказывает реальную пропускную способность
Нагрузка на CPUВыше (обработка TCP стека)Ниже
РекомендацияТестирование через WAN/интернетТестирование локальных каналов

Важно: UDP-тест отправляет данные без контроля потока. Если указать скорость выше реальной пропускной способности канала — часть пакетов будет потеряна, но это нормально и ожидаемо. TCP-тест автоматически подстраивается под пропускную способность.

Направления тестирования

  • send — клиент отправляет данные серверу (тестирование upload).
  • receive — клиент принимает данные от сервера (тестирование download).
  • both — одновременная передача в обе стороны (full-duplex тест).

Speed Test (/tool/speed-test)

Начиная с RouterOS 7.13 доступна команда /tool/speed-test. Это упрощённый клиент, который тестирует скорость подключения к серверам MikroTik (по аналогии с speedtest.net). Не требует настройки удалённого сервера — достаточно выхода в интернет.

Настройка

Шаг 1: Включение Bandwidth Server

По умолчанию Bandwidth Server включён на новых устройствах. Убедитесь, что он активен на устройстве, к которому будете тестировать:

[admin@MikroTik] >
# Проверить статус сервера
/tool/bandwidth-server/print

# Включить сервер, если выключен
/tool/bandwidth-server/set enabled=yes authenticate=yes

# Ограничить максимальное количество сессий (защита от перегрузки)
/tool/bandwidth-server/set max-sessions=5

Параметр authenticate=yes требует от клиента предоставить логин и пароль существующего пользователя RouterOS. Это важно для безопасности — без аутентификации любой может нагрузить ваш роутер тестом.

Шаг 2: Создание пользователя для тестирования

Рекомендуется создать отдельного пользователя с минимальными правами:

[admin@MikroTik] >
# Создать группу с минимальными правами
/user/group/add name=btest-group policy=read,test

# Создать пользователя для Bandwidth Test
/user/add name=btest password="BtestP@ss2024" group=btest-group

Шаг 3: Firewall — разрешить порт 2000

Если на сервере настроен firewall, нужно разрешить входящие соединения на порт 2000:

[admin@MikroTik] >
# Разрешить Bandwidth Test с определённой подсети
/ip/firewall/filter/add chain=input protocol=tcp dst-port=2000 \
    src-address=192.168.0.0/16 action=accept \
    comment="Allow Bandwidth Test from LAN" place-before=0

Шаг 4: Запуск теста (клиент)

Допустим, сервер имеет IP 192.168.88.1. Запускаем тест с другого MikroTik:

[admin@MikroTik] >
# TCP тест — приём данных (download)
/tool/bandwidth-test address=192.168.88.1 protocol=tcp \
    direction=receive user=btest password="BtestP@ss2024" duration=30s

# TCP тест — отправка данных (upload)
/tool/bandwidth-test address=192.168.88.1 protocol=tcp \
    direction=send user=btest password="BtestP@ss2024" duration=30s

# TCP тест — обе стороны (full-duplex)
/tool/bandwidth-test address=192.168.88.1 protocol=tcp \
    direction=both user=btest password="BtestP@ss2024" duration=30s

# UDP тест — с ограничением скорости
/tool/bandwidth-test address=192.168.88.1 protocol=udp \
    direction=both user=btest password="BtestP@ss2024" \
    duration=30s local-tx-speed=500M remote-tx-speed=500M

Обратите внимание на параметры UDP: local-tx-speed и remote-tx-speed задают скорость отправки. Для UDP это обязательно — без лимита роутер попытается отправить данные на максимальной скорости CPU, что приведёт к огромным потерям и бесполезному результату.

Шаг 5: Speed Test (к серверам MikroTik)

[admin@MikroTik] >
# Простой speed test к ближайшему серверу MikroTik
/tool/speed-test address=speed.mikrotik.com

# С указанием направления
/tool/speed-test address=speed.mikrotik.com direction=both duration=15s

Speed Test не требует логина/пароля — серверы MikroTik принимают анонимные подключения. Это удобно для быстрой проверки скорости интернет-канала прямо с роутера.

Проверка

Интерпретация результатов TCP

При TCP-тесте вы увидите результат вида:

code
           tx-current  tx-10-second-average  tx-total-average
               0bps                   0bps               0bps
           rx-current  rx-10-second-average  rx-total-average
          932.1Mbps            921.5Mbps           918.7Mbps
  • tx-current / rx-current — текущая скорость (мгновенное значение).
  • tx-10-second-average — средняя скорость за последние 10 секунд.
  • tx-total-average — средняя скорость за весь тест.

Ориентируйтесь на total-average — это наиболее репрезентативное значение.

Интерпретация результатов UDP

UDP-тест дополнительно показывает потери пакетов:

code
           tx-current  tx-10-second-average  tx-total-average  lost-packets
          500.0Mbps            499.8Mbps           499.5Mbps            12
           rx-current  rx-10-second-average  rx-total-average  lost-packets
          498.2Mbps            497.1Mbps           496.8Mbps            28

Потери до 0.1% — норма. Потери более 1% указывают на проблему: перегрузка канала, плохой кабель, ошибки на интерфейсе.

Мониторинг нагрузки во время теста

Во второй сессии Terminal (или через вторую вкладку WinBox) следите за нагрузкой CPU:

[admin@MikroTik] >
# Мониторинг CPU в реальном времени
/system/resource/monitor

# Проверить загрузку интерфейса
/interface/monitor-traffic ether1

Если CPU достигает 100% — результат теста ограничен процессором, а не каналом. Это критически важно для корректной интерпретации.

Типичные ошибки

1. Тестирование в рабочее время

Проблема: Bandwidth Test создаёт максимальную нагрузку на канал и CPU роутера. Если запустить тест, когда через роутер работают пользователи — весь трафик встанет.

Решение: Тестируйте только в нерабочее время или в maintenance window. Если нужен тест в рабочие часы — ограничьте скорость: local-tx-speed=100M.

2. Результат ограничен CPU, а не каналом

Проблема: На бюджетных устройствах (hAP lite, hEX) CPU — узкое место. Тест показывает 400 Мбит/с, а вы думаете, что проблема в канале.

Решение: Во время теста проверяйте загрузку CPU (/system/resource/monitor). Если CPU 100% — тест показывает скорость обработки роутера, а не пропускную способность канала. Для hEX S максимум TCP bandwidth test — около 800-900 Мбит/с при 100% CPU.

3. Firewall блокирует порт 2000

Проблема: Тест не подключается — connection timed out.

Решение: Проверьте правила firewall на стороне сервера. Порт 2000/TCP должен быть открыт для IP клиента. Также проверьте наличие drop-правил в цепочке input.

[admin@MikroTik] >
# Найти drop-правила в цепочке input
/ip/firewall/filter/print where chain=input action=drop

4. UDP-тест без лимита скорости

Проблема: Запущен UDP-тест без local-tx-speed и remote-tx-speed. Роутер отправляет пакеты на максимальной скорости CPU, 90% теряется, результаты бесполезны.

Решение: Всегда указывайте ожидаемую скорость для UDP. Начните с заведомо достижимой (например, 100M) и постепенно увеличивайте, пока потери не превысят 1%.

5. Bandwidth Server доступен из интернета

Проблема: Если порт 2000 открыт наружу и authenticate=no — злоумышленники могут использовать ваш роутер для генерации трафика (DDoS-amplification).

Решение: Всегда держите authenticate=yes. Закройте порт 2000 на WAN-интерфейсе. Лучше всего — отключите Bandwidth Server, если не используете:

[admin@MikroTik] >
# Отключить сервер, если тесты не нужны
/tool/bandwidth-server/set enabled=no

# Или ограничить доступ только с LAN
/ip/firewall/filter/add chain=input protocol=tcp dst-port=2000 \
    in-interface-list=WAN action=drop comment="Block BW-test from WAN"

6. Тестирование через VPN-туннель

Проблема: При тестировании через WireGuard/IPsec результат значительно ниже ожидаемого из-за overhead шифрования и MTU.

Решение: Это нормальное поведение. Для VPN ожидайте 50-70% от скорости «чистого» канала в зависимости от алгоритма шифрования и мощности CPU. Для точного измерения пропускной способности VPN используйте TCP-протокол — он корректно обработает сниженный MTU.

[admin@MikroTik] >
# Проверить статус сервера
/tool/bandwidth-server/print

# Включить сервер, если выключен
/tool/bandwidth-server/set enabled=yes authenticate=yes

# Ограничить максимальное количество сессий (защита от перегрузки)
/tool/bandwidth-server/set max-sessions=5
# Создать группу с минимальными правами
/user/group/add name=btest-group policy=read,test

# Создать пользователя для Bandwidth Test
/user/add name=btest password="BtestP@ss2024" group=btest-group
# Разрешить Bandwidth Test с определённой подсети
/ip/firewall/filter/add chain=input protocol=tcp dst-port=2000 \
    src-address=192.168.0.0/16 action=accept \
    comment="Allow Bandwidth Test from LAN" place-before=0
# TCP тест — приём данных (download)
/tool/bandwidth-test address=192.168.88.1 protocol=tcp \
    direction=receive user=btest password="BtestP@ss2024" duration=30s

# TCP тест — отправка данных (upload)
/tool/bandwidth-test address=192.168.88.1 protocol=tcp \
    direction=send user=btest password="BtestP@ss2024" duration=30s

# TCP тест — обе стороны (full-duplex)
/tool/bandwidth-test address=192.168.88.1 protocol=tcp \
    direction=both user=btest password="BtestP@ss2024" duration=30s

# UDP тест — с ограничением скорости
/tool/bandwidth-test address=192.168.88.1 protocol=udp \
    direction=both user=btest password="BtestP@ss2024" \
    duration=30s local-tx-speed=500M remote-tx-speed=500M
# Простой speed test к ближайшему серверу MikroTik
/tool/speed-test address=speed.mikrotik.com

# С указанием направления
/tool/speed-test address=speed.mikrotik.com direction=both duration=15s
tx-current  tx-10-second-average  tx-total-average
               0bps                   0bps               0bps
           rx-current  rx-10-second-average  rx-total-average
          932.1Mbps            921.5Mbps           918.7Mbps
tx-current  tx-10-second-average  tx-total-average  lost-packets
          500.0Mbps            499.8Mbps           499.5Mbps            12
           rx-current  rx-10-second-average  rx-total-average  lost-packets
          498.2Mbps            497.1Mbps           496.8Mbps            28
# Мониторинг CPU в реальном времени
/system/resource/monitor

# Проверить загрузку интерфейса
/interface/monitor-traffic ether1
# Найти drop-правила в цепочке input
/ip/firewall/filter/print where chain=input action=drop
# Отключить сервер, если тесты не нужны
/tool/bandwidth-server/set enabled=no

# Или ограничить доступ только с LAN
/ip/firewall/filter/add chain=input protocol=tcp dst-port=2000 \
    in-interface-list=WAN action=drop comment="Block BW-test from WAN"
Tools / Bandwidth Test на MikroTik — тестирование скорости