Fast Path и FastTrack на MikroTik — ускорение маршрутизации
Fast Path и FastTrack — механизмы ускорения обработки пакетов в RouterOS, позволяющие обойти часть стандартного packet flow и значительно повысить пропускную способность маршрутизатора. На младших моделях (hAP ax2, hEX S) разница может составлять 2-3 раза, а на устаревших MIPS-моделях — это единственный способ приблизиться к заявленной производительности. В этом руководстве разберём, как работает packet flow в RouterOS, что именно ускоряют Fast Path и FastTrack, когда их включать и когда от них лучше отказаться.
Описание
Стандартный Packet Flow в RouterOS
Каждый пакет, проходящий через MikroTik, проходит цепочку обработки. Упрощённая схема для маршрутизируемого (routed) трафика:
- Input Interface — пакет поступает на физический или виртуальный интерфейс
- Bridge Decision — если интерфейс в bridge, пакет проходит через bridge filter
- Prerouting — цепочка prerouting в Mangle и dst-nat в NAT
- Routing Decision — определяется, куда пакет направить (forward или input)
- Forward — цепочка forward в Firewall Filter, Mangle, Connection Tracking
- Postrouting — цепочка postrouting в Mangle и src-nat в NAT
- Output Interface — пакет отправляется на выходной интерфейс
Каждый этап потребляет CPU. Connection Tracking (conntrack), Firewall Filter, NAT, Mangle, Queue — все это отнимает ресурсы процессора. На устройствах без аппаратного ускорения (а это большинство MikroTik) вся обработка идёт на CPU.
Что такое Fast Path
Fast Path — это механизм, при котором пакет обрабатывается ускоренным путём, минуя часть packet flow. Вместо прохождения через все цепочки firewall, mangle и queue, пакет напрямую передаётся с входного интерфейса на выходной.
Fast Path существует для нескольких подсистем:
- IPv4 Fast Path — ускорение маршрутизации IPv4-пакетов
- IPv6 Fast Path — ускорение маршрутизации IPv6-пакетов
- Bridge Fast Path — ускорение коммутации внутри bridge
- MPLS Fast Path — ускорение пересылки MPLS-пакетов
Когда пакет попадает в Fast Path, он не проходит через:
- Firewall Filter (input, forward, output)
- Mangle (все цепочки)
- NAT (src-nat, dst-nat) — частично
- Queue (Simple Queue и Queue Tree)
- Connection Tracking — частично
Это означает, что любой функционал, зависящий от этих подсистем, перестаёт работать для ускоренных пакетов.
Что такое FastTrack
FastTrack — это конкретная реализация Fast Path для уже установленных (established) и связанных (related) соединений. Идея проста: первый пакет нового соединения проходит стандартный packet flow (connection tracking, firewall, NAT), а все последующие пакеты этого соединения обрабатываются ускоренным путём.
Принцип работы:
- Первый пакет (SYN для TCP) проходит полный packet flow
- Connection Tracking создаёт запись о соединении
- Firewall rules проверяют и разрешают соединение
- NAT-трансляция создаётся
- Правило FastTrack помечает соединение
- Все дальнейшие пакеты этого соединения идут по Fast Path
Это компромисс: первый пакет полностью контролируется firewall, а последующие (которых 99.9%) обрабатываются ускоренно.
Bridge Fast Path и Hardware Offloading
Bridge Fast Path ускоряет коммутацию пакетов внутри bridge. Это особенно важно для устройств с аппаратным switch-чипом (все модели с портами ether1-ether5 на одном чипе).
Hardware Offloading — ещё более глубокая оптимизация. Когда switch-чип поддерживает hardware offloading, коммутация между портами bridge происходит полностью в hardware, вообще не задействуя CPU. Это даёт wire-speed (максимальная скорость порта) на всех портах bridge.
Hardware offloading поддерживается не во всех конфигурациях. Он отключается при использовании:
- Bridge VLAN Filtering (в некоторых конфигурациях — зависит от чипа)
- Bridge Firewall (filter/nat на уровне bridge)
- DHCP Snooping
- Определённых комбинаций VLAN и bridge
Таблица производительности: с FastTrack и без
| Модель | Без FastTrack | С FastTrack | Прирост |
|---|---|---|---|
| hAP ax2 (RBD25G) | ~520 Мбит/с | ~940 Мбит/с | +81% |
| hAP ax3 (RBD36G) | ~750 Мбит/с | ~940 Мбит/с | +25% |
| hEX S (RB760iGS) | ~290 Мбит/с | ~720 Мбит/с | +148% |
| RB5009UG+S+IN | ~850 Мбит/с | ~940 Мбит/с | +11% |
| CCR2004-1G-12S+2XS | ~9 Гбит/с | ~12 Гбит/с | +33% |
| hAP lite (RB941-2nD) | ~62 Мбит/с | ~95 Мбит/с | +53% |
| CHR (4 vCPU) | ~3.5 Гбит/с | ~7.2 Гбит/с | +106% |
Значения приблизительные, получены при тестировании TCP-потока через роутер с базовым firewall (input/forward chains). Реальные результаты зависят от конфигурации, размера пакетов, количества правил firewall.
На младших моделях (hAP lite, hEX S) FastTrack критически важен — без него устройство физически не способно маршрутизировать гигабитный поток. На старших моделях (CCR, RB5009) прирост менее заметен, но всё равно существенен.
Совместимость: что не работает с Fast Path и FastTrack
Критически важно понимать, что FastTrack несовместим с рядом функций RouterOS. Пакеты, идущие через Fast Path, не обрабатываются следующими подсистемами:
| Функция | Совместимость с FastTrack | Примечание |
|---|---|---|
| Firewall Filter | Только первый пакет | established/related не проходят filter |
| Mangle | Не работает | Маркировка не применяется |
| Simple Queue | Не работает | Трафик не попадает в очереди |
| Queue Tree | Не работает | Трафик не попадает в очереди |
| Connection Bytes | Не работает | Не обновляется для fasttracked |
| Torch | Частично | Может не показывать весь трафик |
| Traffic Flow / NetFlow | Не работает | Не экспортируются fasttracked пакеты |
| IP Accounting | Не работает | Не учитываются fasttracked пакеты |
| Packet Sniffer | Не работает | Не захватывает fasttracked пакеты |
| VLAN filtering на bridge | Зависит от чипа | Может отключить HW offload |
| PPPoE / L2TP / SSTP | Не ускоряются | Шифрованные туннели через CPU |
| IPsec | Не ускоряется | Шифрование всегда через CPU |
| Content filtering (Layer7) | Не работает | Layer7 зависит от conntrack |
Это значит, что если вам нужен QoS (Queue), мониторинг трафика (NetFlow), маркировка пакетов (Mangle) или учёт трафика (Accounting) — FastTrack будет мешать.
Настройка
Включение FastTrack (стандартный сценарий)
FastTrack включается одним правилом firewall в цепочке forward. Это правило должно стоять перед правилом, разрешающим established/related соединения.
[admin@MikroTik] ># Шаг 1: добавляем FastTrack правило /ip/firewall/filter/add chain=forward action=fasttrack-connection \ connection-state=established,related \ comment="FastTrack established/related" place-before=0 # Шаг 2: разрешаем established/related (обязательно после FastTrack) /ip/firewall/filter/add chain=forward action=accept \ connection-state=established,related \ comment="Accept established/related" place-before=1
Важно: правило accept для established/related необходимо, потому что не все пакеты попадают в FastTrack (первый пакет, пакеты при определённых условиях). Без accept-правила эти пакеты будут отброшены.
Проверка правильной позиции правил
FastTrack-правило должно быть первым (или одним из первых) в цепочке forward:
[admin@MikroTik] ># Просмотр правил forward с номерами /ip/firewall/filter/print where chain=forward # Правильный порядок: # 0 chain=forward action=fasttrack-connection connection-state=established,related # 1 chain=forward action=accept connection-state=established,related # 2 chain=forward action=drop connection-state=invalid # 3 ... ваши правила для new connections ...
Если FastTrack стоит не первым, а после каких-то правил — пакеты всё равно пройдут через эти правила, и часть эффекта будет потеряна.
Типовая конфигурация firewall с FastTrack
[admin@MikroTik] ># Полная настройка firewall forward chain с FastTrack /ip/firewall/filter # FastTrack для ускорения add chain=forward action=fasttrack-connection \ connection-state=established,related \ comment="defconf: FastTrack" # Принять established/related (не попавшие в FastTrack) add chain=forward action=accept \ connection-state=established,related \ comment="defconf: accept established,related" # Отбросить invalid add chain=forward action=drop connection-state=invalid \ comment="defconf: drop invalid" # Принять из LAN в WAN (новые соединения) add chain=forward action=accept \ in-interface=bridge out-interface=ether1 \ connection-state=new \ comment="Allow LAN to WAN" # Принять DSTNAT (проброшенные порты) add chain=forward action=accept connection-nat-state=dstnat \ in-interface=ether1 \ comment="Allow port forwards" # Отбросить всё остальное add chain=forward action=drop \ comment="Drop everything else"
Bridge Fast Path и Hardware Offloading
Bridge Fast Path обычно включён по умолчанию. Hardware Offloading нужно включить на каждом порту bridge:
[admin@MikroTik] ># Проверяем текущее состояние bridge /interface/bridge/print detail # Включаем Fast Path на bridge (обычно уже включён) /interface/bridge/set [find name=bridge] fast-forward=yes # Включаем Hardware Offloading на портах bridge /interface/bridge/port/set [find bridge=bridge] hw=yes # Проверяем, что HW offloading активен /interface/bridge/port/print where bridge=bridge # В колонке "H" должен быть флаг "H" (Hardware offloading active)
Если в столбце H флаг отсутствует, значит hardware offloading не может быть активирован. Причины:
[admin@MikroTik] ># Проверяем switch chip /interface/ethernet/switch/print # Проверяем, не включён ли bridge firewall (отключает HW offload) /interface/bridge/print where bridge-type=bridge # Если bridge имеет правила filter/nat — HW offload может быть отключён # Проверяем bridge settings /interface/bridge/settings/print
Отключение FastTrack (когда нужен QoS или мониторинг)
Если вам необходимы Queue, Mangle, NetFlow или другие функции, несовместимые с FastTrack, его нужно отключить:
[admin@MikroTik] ># Вариант 1: отключить правило (можно быстро включить обратно) /ip/firewall/filter/set [find action=fasttrack-connection] disabled=yes # Вариант 2: удалить правило /ip/firewall/filter/remove [find action=fasttrack-connection] # Проверяем, что FastTrack отключён /ip/firewall/filter/print where action=fasttrack-connection
После отключения FastTrack нагрузка на CPU возрастёт. Убедитесь, что процессор справляется с объёмом трафика.
FastTrack с определёнными интерфейсами
Можно ограничить FastTrack только определёнными интерфейсами, если нужен QoS на одних интерфейсах и скорость на других:
[admin@MikroTik] ># FastTrack только для трафика LAN → WAN /ip/firewall/filter/add chain=forward action=fasttrack-connection \ connection-state=established,related \ in-interface=bridge out-interface=ether1 \ comment="FastTrack LAN to WAN only" /ip/firewall/filter/add chain=forward action=fasttrack-connection \ connection-state=established,related \ in-interface=ether1 out-interface=bridge \ comment="FastTrack WAN to LAN only" # Трафик между VPN и LAN НЕ попадёт в FastTrack # и будет обработан Queue/Mangle
Connection Tracking и Fast Path
Fast Path требует включённого Connection Tracking, но работает "поверх" него. Если Connection Tracking отключён, FastTrack работать не будет:
[admin@MikroTik] ># Проверить состояние Connection Tracking /ip/firewall/connection/tracking/print # Connection Tracking должен быть "yes" или "auto" # Если "no" — FastTrack не работает /ip/firewall/connection/tracking/set enabled=auto
Проверка
Проверка работы FastTrack
[admin@MikroTik] ># Проверяем счётчики правила FastTrack /ip/firewall/filter/print stats where action=fasttrack-connection # Если bytes и packets растут — FastTrack работает # Пример вывода: # 0 chain=forward action=fasttrack-connection connection-state=established,related # bytes=15234567890 packets=12345678 # Проверяем количество fasttracked соединений /ip/firewall/connection/print count-only where fasttrack=yes # Детальная информация о fasttracked соединениях /ip/firewall/connection/print where fasttrack=yes
Проверка производительности
[admin@MikroTik] ># Загрузка CPU во время тестирования /system/resource/print # Обратите внимание на cpu-load — с FastTrack он будет значительно ниже # Мониторинг CPU в реальном времени /system/resource/monitor interval=2 # Мониторинг интерфейса — реальная скорость /interface/monitor-traffic ether1 interval=2 # Тест пропускной способности (к другому MikroTik) /tool/bandwidth-test address=<remote-ip> protocol=tcp direction=both duration=30
Проверка Bridge Hardware Offloading
[admin@MikroTik] ># Статус HW offload на портах bridge /interface/bridge/port/print where bridge=bridge # Колонка H: "H" = hardware offloading активен # Статистика bridge host table /interface/bridge/host/print count-only # Проверяем switch chip capabilities /interface/ethernet/switch/print detail
Диагностика: FastTrack не работает
[admin@MikroTik] ># Шаг 1: проверяем, что правило существует и не отключено /ip/firewall/filter/print where action=fasttrack-connection # Шаг 2: проверяем Connection Tracking /ip/firewall/connection/tracking/print # Должен быть enabled=yes или auto # Шаг 3: проверяем, есть ли соединения с флагом fasttrack /ip/firewall/connection/print where fasttrack=yes # Шаг 4: проверяем, нет ли несовместимых правил ПЕРЕД FastTrack /ip/firewall/filter/print where chain=forward # Mangle-правила с passthrough=no до FastTrack могут мешать # Шаг 5: проверяем Mangle — правила в prerouting/forward /ip/firewall/mangle/print where chain=forward # Некоторые mangle-правила могут предотвращать FastTrack
Типичные ошибки
1. FastTrack включён, а QoS (Queue) не работает
Самая распространённая ошибка. Администратор настраивает Simple Queue или Queue Tree, но скорость не ограничивается. Причина: FastTrack обходит подсистему Queue.
[admin@MikroTik] ># Проверяем: если есть FastTrack и Queue одновременно — конфликт /ip/firewall/filter/print where action=fasttrack-connection /queue/simple/print /queue/tree/print # Решение: отключить FastTrack, если нужен QoS /ip/firewall/filter/set [find action=fasttrack-connection] disabled=yes # Или убрать Queue, если нужна скорость
Правило: QoS и FastTrack несовместимы. Выберите одно.
2. FastTrack-правило стоит в неправильном месте
FastTrack-правило должно быть первым в цепочке forward. Если перед ним есть другие правила, пакеты всё равно проходят через них:
[admin@MikroTik] ># Неправильно: FastTrack после других правил # 0 chain=forward action=accept src-address=10.0.0.0/8 # 1 chain=forward action=accept protocol=tcp dst-port=80 # 2 chain=forward action=fasttrack-connection <-- СЮДА ПОПАДЁТ МАЛО ПАКЕТОВ # Правильно: FastTrack первым # 0 chain=forward action=fasttrack-connection connection-state=established,related # 1 chain=forward action=accept connection-state=established,related # 2 chain=forward action=drop connection-state=invalid # 3 ... остальные правила ... # Переместить правило на первое место /ip/firewall/filter/move [find action=fasttrack-connection] destination=0
3. Забыли accept-правило после FastTrack
Не все пакеты попадают в FastTrack. Первые пакеты соединений, некоторые ICMP, пакеты при полной connection table — все они проходят обычный путь. Без accept-правила для established/related они будут отброшены:
[admin@MikroTik] ># Неправильно: нет accept после FastTrack /ip/firewall/filter/print where chain=forward # 0 chain=forward action=fasttrack-connection connection-state=established,related # 1 chain=forward action=drop connection-state=invalid # 2 ... другие правила ... # ПРОБЛЕМА: established/related без FastTrack попадут в drop # Правильно: accept сразу после FastTrack # 0 chain=forward action=fasttrack-connection connection-state=established,related # 1 chain=forward action=accept connection-state=established,related <-- ОБЯЗАТЕЛЬНО # 2 chain=forward action=drop connection-state=invalid
4. NetFlow / Traffic Accounting не видит весь трафик
Если вы используете Traffic Flow (NetFlow/sFlow) для мониторинга или IP Accounting для учёта трафика, FastTrack сделает эти данные неполными — большая часть трафика будет невидима:
[admin@MikroTik] ># Проверяем: используется ли Traffic Flow /ip/traffic-flow/print # Если enabled=yes и нужна полная статистика — отключаем FastTrack /ip/firewall/filter/set [find action=fasttrack-connection] disabled=yes # Альтернатива: используйте SNMP для мониторинга трафика по интерфейсам # SNMP counters работают корректно с FastTrack /snmp/set enabled=yes
5. Mangle-маркировка не применяется к трафику
Если используете Mangle для маркировки пакетов (для Policy-Based Routing, QoS или других задач), FastTrack обойдёт все Mangle-правила для established/related:
[admin@MikroTik] ># Пример: PBR (Policy-Based Routing) через Mangle # Эти правила НЕ БУДУТ работать для fasttracked пакетов: /ip/firewall/mangle/add chain=prerouting src-address=192.168.10.0/24 \ action=mark-routing new-routing-mark=via-isp2 # Решение: отключить FastTrack, если используете Mangle /ip/firewall/filter/set [find action=fasttrack-connection] disabled=yes
6. Bridge Hardware Offloading неактивен
Вы включили hw=yes на портах bridge, но флаг H не появляется:
[admin@MikroTik] ># Проверяем причины отсутствия HW offloading /interface/bridge/port/print where bridge=bridge # Частые причины: # 1. Bridge VLAN Filtering включён на чипе, не поддерживающем его в HW /interface/bridge/print where vlan-filtering=yes # 2. Bridge Firewall включён /interface/bridge/filter/print /interface/bridge/nat/print # Если есть правила — HW offload отключается # 3. DHCP Snooping включён /interface/bridge/print where dhcp-snooping=yes # 4. Порт не поддерживает HW offload (например, Wi-Fi или VPN интерфейс) # HW offload работает только для Ethernet-портов на одном switch-чипе
7. Отключили Connection Tracking — всё сломалось
Некоторые администраторы отключают Connection Tracking для максимальной производительности. Но без conntrack не работают ни FastTrack, ни NAT, ни stateful firewall:
[admin@MikroTik] ># Не делайте так (если нужен NAT или firewall): /ip/firewall/connection/tracking/set enabled=no # Правильно: оставьте conntrack и используйте FastTrack /ip/firewall/connection/tracking/set enabled=auto # auto = включается автоматически, если есть NAT или stateful firewall rules
Отключение conntrack оправдано только в специфических сценариях: чистый роутер без NAT и firewall (например, в backbone-сети между другими маршрутизаторами).
Рекомендации: когда включать, когда отключать
Включайте FastTrack, если
- Домашний роутер с NAT и базовым firewall (стандартный сценарий)
- Офисный роутер без QoS и без NetFlow
- Нужна максимальная пропускная способность на младших моделях
- Не используете Mangle, Queue, Traffic Flow, IP Accounting
- VPN-туннели не проходят через устройство (FastTrack не ускоряет шифрование)
Отключайте FastTrack, если
- Настроен QoS (Simple Queue, Queue Tree, PCQ)
- Используете Mangle для маркировки пакетов (PBR, DSCP, connection-mark)
- Нужен полный учёт трафика через NetFlow/sFlow (Traffic Flow)
- Используете IP Accounting
- Нужен Packet Sniffer для диагностики
- Используете Layer7 Protocol matching
- Настроен Content Filtering через firewall
Компромиссный вариант
Если нужен QoS только на части трафика (например, только для гостевого Wi-Fi), а основной трафик хочется ускорить:
[admin@MikroTik] ># FastTrack только для основного LAN (без QoS) /ip/firewall/filter/add chain=forward action=fasttrack-connection \ connection-state=established,related \ src-address=192.168.88.0/24 \ comment="FastTrack for main LAN only" /ip/firewall/filter/add chain=forward action=accept \ connection-state=established,related \ comment="Accept established/related" # Queue для гостевой сети (FastTrack не затрагивает) /queue/simple/add name="Guest-WiFi" target=192.168.30.0/24 \ max-limit=5M/20M comment="Limit guest WiFi"
В этой конфигурации трафик основной сети ускоряется через FastTrack, а гостевой Wi-Fi контролируется через Queue.
Полный скрипт настройки
[admin@MikroTik] ># === FastTrack: полная настройка для домашнего/офисного роутера === # Шаг 1: убеждаемся, что Connection Tracking включён /ip/firewall/connection/tracking/set enabled=auto # Шаг 2: Bridge Hardware Offloading /interface/bridge/set [find name=bridge] fast-forward=yes /interface/bridge/port/set [find bridge=bridge] hw=yes # Шаг 3: Firewall Forward chain с FastTrack /ip/firewall/filter add chain=forward action=fasttrack-connection \ connection-state=established,related \ comment="defconf: FastTrack" add chain=forward action=accept \ connection-state=established,related \ comment="defconf: accept established,related" add chain=forward action=drop \ connection-state=invalid \ comment="defconf: drop invalid" add chain=forward action=accept \ in-interface=bridge out-interface=ether1 \ connection-state=new \ comment="defconf: allow LAN to WAN" add chain=forward action=accept \ connection-nat-state=dstnat in-interface=ether1 \ comment="defconf: allow port forwards" add chain=forward action=drop \ comment="defconf: drop all other forward" # Шаг 4: проверка /ip/firewall/filter/print stats where chain=forward /interface/bridge/port/print where bridge=bridge /ip/firewall/connection/print count-only where fasttrack=yes
FastTrack — это простой и эффективный способ получить максимум производительности от MikroTik. На домашних и офисных роутерах без QoS он должен быть включён всегда. Но как только вам понадобится ограничение скорости, маркировка трафика или полный учёт — FastTrack нужно отключить, чтобы пакеты проходили через все подсистемы RouterOS. Помните: FastTrack и QoS — взаимоисключающие вещи, и это не баг, а осознанный компромисс между скоростью обработки и глубиной контроля над трафиком.
# Шаг 1: добавляем FastTrack правило /ip/firewall/filter/add chain=forward action=fasttrack-connection \ connection-state=established,related \ comment="FastTrack established/related" place-before=0 # Шаг 2: разрешаем established/related (обязательно после FastTrack) /ip/firewall/filter/add chain=forward action=accept \ connection-state=established,related \ comment="Accept established/related" place-before=1 # Просмотр правил forward с номерами /ip/firewall/filter/print where chain=forward # Правильный порядок: # 0 chain=forward action=fasttrack-connection connection-state=established,related # 1 chain=forward action=accept connection-state=established,related # 2 chain=forward action=drop connection-state=invalid # 3 ... ваши правила для new connections ... # Полная настройка firewall forward chain с FastTrack /ip/firewall/filter # FastTrack для ускорения add chain=forward action=fasttrack-connection \ connection-state=established,related \ comment="defconf: FastTrack" # Принять established/related (не попавшие в FastTrack) add chain=forward action=accept \ connection-state=established,related \ comment="defconf: accept established,related" # Отбросить invalid add chain=forward action=drop connection-state=invalid \ comment="defconf: drop invalid" # Принять из LAN в WAN (новые соединения) add chain=forward action=accept \ in-interface=bridge out-interface=ether1 \ connection-state=new \ comment="Allow LAN to WAN" # Принять DSTNAT (проброшенные порты) add chain=forward action=accept connection-nat-state=dstnat \ in-interface=ether1 \ comment="Allow port forwards" # Отбросить всё остальное add chain=forward action=drop \ comment="Drop everything else" # Проверяем текущее состояние bridge /interface/bridge/print detail # Включаем Fast Path на bridge (обычно уже включён) /interface/bridge/set [find name=bridge] fast-forward=yes # Включаем Hardware Offloading на портах bridge /interface/bridge/port/set [find bridge=bridge] hw=yes # Проверяем, что HW offloading активен /interface/bridge/port/print where bridge=bridge # В колонке "H" должен быть флаг "H" (Hardware offloading active) # Проверяем switch chip /interface/ethernet/switch/print # Проверяем, не включён ли bridge firewall (отключает HW offload) /interface/bridge/print where bridge-type=bridge # Если bridge имеет правила filter/nat — HW offload может быть отключён # Проверяем bridge settings /interface/bridge/settings/print # Вариант 1: отключить правило (можно быстро включить обратно) /ip/firewall/filter/set [find action=fasttrack-connection] disabled=yes # Вариант 2: удалить правило /ip/firewall/filter/remove [find action=fasttrack-connection] # Проверяем, что FastTrack отключён /ip/firewall/filter/print where action=fasttrack-connection # FastTrack только для трафика LAN → WAN /ip/firewall/filter/add chain=forward action=fasttrack-connection \ connection-state=established,related \ in-interface=bridge out-interface=ether1 \ comment="FastTrack LAN to WAN only" /ip/firewall/filter/add chain=forward action=fasttrack-connection \ connection-state=established,related \ in-interface=ether1 out-interface=bridge \ comment="FastTrack WAN to LAN only" # Трафик между VPN и LAN НЕ попадёт в FastTrack # и будет обработан Queue/Mangle # Проверить состояние Connection Tracking /ip/firewall/connection/tracking/print # Connection Tracking должен быть "yes" или "auto" # Если "no" — FastTrack не работает /ip/firewall/connection/tracking/set enabled=auto # Проверяем счётчики правила FastTrack /ip/firewall/filter/print stats where action=fasttrack-connection # Если bytes и packets растут — FastTrack работает # Пример вывода: # 0 chain=forward action=fasttrack-connection connection-state=established,related # bytes=15234567890 packets=12345678 # Проверяем количество fasttracked соединений /ip/firewall/connection/print count-only where fasttrack=yes # Детальная информация о fasttracked соединениях /ip/firewall/connection/print where fasttrack=yes # Загрузка CPU во время тестирования /system/resource/print # Обратите внимание на cpu-load — с FastTrack он будет значительно ниже # Мониторинг CPU в реальном времени /system/resource/monitor interval=2 # Мониторинг интерфейса — реальная скорость /interface/monitor-traffic ether1 interval=2 # Тест пропускной способности (к другому MikroTik) /tool/bandwidth-test address=<remote-ip> protocol=tcp direction=both duration=30 # Статус HW offload на портах bridge /interface/bridge/port/print where bridge=bridge # Колонка H: "H" = hardware offloading активен # Статистика bridge host table /interface/bridge/host/print count-only # Проверяем switch chip capabilities /interface/ethernet/switch/print detail # Шаг 1: проверяем, что правило существует и не отключено /ip/firewall/filter/print where action=fasttrack-connection # Шаг 2: проверяем Connection Tracking /ip/firewall/connection/tracking/print # Должен быть enabled=yes или auto # Шаг 3: проверяем, есть ли соединения с флагом fasttrack /ip/firewall/connection/print where fasttrack=yes # Шаг 4: проверяем, нет ли несовместимых правил ПЕРЕД FastTrack /ip/firewall/filter/print where chain=forward # Mangle-правила с passthrough=no до FastTrack могут мешать # Шаг 5: проверяем Mangle — правила в prerouting/forward /ip/firewall/mangle/print where chain=forward # Некоторые mangle-правила могут предотвращать FastTrack # Проверяем: если есть FastTrack и Queue одновременно — конфликт /ip/firewall/filter/print where action=fasttrack-connection /queue/simple/print /queue/tree/print # Решение: отключить FastTrack, если нужен QoS /ip/firewall/filter/set [find action=fasttrack-connection] disabled=yes # Или убрать Queue, если нужна скорость # Неправильно: FastTrack после других правил # 0 chain=forward action=accept src-address=10.0.0.0/8 # 1 chain=forward action=accept protocol=tcp dst-port=80 # 2 chain=forward action=fasttrack-connection <-- СЮДА ПОПАДЁТ МАЛО ПАКЕТОВ # Правильно: FastTrack первым # 0 chain=forward action=fasttrack-connection connection-state=established,related # 1 chain=forward action=accept connection-state=established,related # 2 chain=forward action=drop connection-state=invalid # 3 ... остальные правила ... # Переместить правило на первое место /ip/firewall/filter/move [find action=fasttrack-connection] destination=0 # Неправильно: нет accept после FastTrack /ip/firewall/filter/print where chain=forward # 0 chain=forward action=fasttrack-connection connection-state=established,related # 1 chain=forward action=drop connection-state=invalid # 2 ... другие правила ... # ПРОБЛЕМА: established/related без FastTrack попадут в drop # Правильно: accept сразу после FastTrack # 0 chain=forward action=fasttrack-connection connection-state=established,related # 1 chain=forward action=accept connection-state=established,related <-- ОБЯЗАТЕЛЬНО # 2 chain=forward action=drop connection-state=invalid # Проверяем: используется ли Traffic Flow /ip/traffic-flow/print # Если enabled=yes и нужна полная статистика — отключаем FastTrack /ip/firewall/filter/set [find action=fasttrack-connection] disabled=yes # Альтернатива: используйте SNMP для мониторинга трафика по интерфейсам # SNMP counters работают корректно с FastTrack /snmp/set enabled=yes # Пример: PBR (Policy-Based Routing) через Mangle # Эти правила НЕ БУДУТ работать для fasttracked пакетов: /ip/firewall/mangle/add chain=prerouting src-address=192.168.10.0/24 \ action=mark-routing new-routing-mark=via-isp2 # Решение: отключить FastTrack, если используете Mangle /ip/firewall/filter/set [find action=fasttrack-connection] disabled=yes # Проверяем причины отсутствия HW offloading /interface/bridge/port/print where bridge=bridge # Частые причины: # 1. Bridge VLAN Filtering включён на чипе, не поддерживающем его в HW /interface/bridge/print where vlan-filtering=yes # 2. Bridge Firewall включён /interface/bridge/filter/print /interface/bridge/nat/print # Если есть правила — HW offload отключается # 3. DHCP Snooping включён /interface/bridge/print where dhcp-snooping=yes # 4. Порт не поддерживает HW offload (например, Wi-Fi или VPN интерфейс) # HW offload работает только для Ethernet-портов на одном switch-чипе # Не делайте так (если нужен NAT или firewall): /ip/firewall/connection/tracking/set enabled=no # Правильно: оставьте conntrack и используйте FastTrack /ip/firewall/connection/tracking/set enabled=auto # auto = включается автоматически, если есть NAT или stateful firewall rules # FastTrack только для основного LAN (без QoS) /ip/firewall/filter/add chain=forward action=fasttrack-connection \ connection-state=established,related \ src-address=192.168.88.0/24 \ comment="FastTrack for main LAN only" /ip/firewall/filter/add chain=forward action=accept \ connection-state=established,related \ comment="Accept established/related" # Queue для гостевой сети (FastTrack не затрагивает) /queue/simple/add name="Guest-WiFi" target=192.168.30.0/24 \ max-limit=5M/20M comment="Limit guest WiFi" # === FastTrack: полная настройка для домашнего/офисного роутера === # Шаг 1: убеждаемся, что Connection Tracking включён /ip/firewall/connection/tracking/set enabled=auto # Шаг 2: Bridge Hardware Offloading /interface/bridge/set [find name=bridge] fast-forward=yes /interface/bridge/port/set [find bridge=bridge] hw=yes # Шаг 3: Firewall Forward chain с FastTrack /ip/firewall/filter add chain=forward action=fasttrack-connection \ connection-state=established,related \ comment="defconf: FastTrack" add chain=forward action=accept \ connection-state=established,related \ comment="defconf: accept established,related" add chain=forward action=drop \ connection-state=invalid \ comment="defconf: drop invalid" add chain=forward action=accept \ in-interface=bridge out-interface=ether1 \ connection-state=new \ comment="defconf: allow LAN to WAN" add chain=forward action=accept \ connection-nat-state=dstnat in-interface=ether1 \ comment="defconf: allow port forwards" add chain=forward action=drop \ comment="defconf: drop all other forward" # Шаг 4: проверка /ip/firewall/filter/print stats where chain=forward /interface/bridge/port/print where bridge=bridge /ip/firewall/connection/print count-only where fasttrack=yes