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

Fast Path и FastTrack на MikroTik — ускорение маршрутизации

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

Fast Path и FastTrack — механизмы ускорения обработки пакетов в RouterOS, позволяющие обойти часть стандартного packet flow и значительно повысить пропускную способность маршрутизатора. На младших моделях (hAP ax2, hEX S) разница может составлять 2-3 раза, а на устаревших MIPS-моделях — это единственный способ приблизиться к заявленной производительности. В этом руководстве разберём, как работает packet flow в RouterOS, что именно ускоряют Fast Path и FastTrack, когда их включать и когда от них лучше отказаться.

Описание

Стандартный Packet Flow в RouterOS

Каждый пакет, проходящий через MikroTik, проходит цепочку обработки. Упрощённая схема для маршрутизируемого (routed) трафика:

  1. Input Interface — пакет поступает на физический или виртуальный интерфейс
  2. Bridge Decision — если интерфейс в bridge, пакет проходит через bridge filter
  3. Prerouting — цепочка prerouting в Mangle и dst-nat в NAT
  4. Routing Decision — определяется, куда пакет направить (forward или input)
  5. Forward — цепочка forward в Firewall Filter, Mangle, Connection Tracking
  6. Postrouting — цепочка postrouting в Mangle и src-nat в NAT
  7. 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), а все последующие пакеты этого соединения обрабатываются ускоренным путём.

Принцип работы:

  1. Первый пакет (SYN для TCP) проходит полный packet flow
  2. Connection Tracking создаёт запись о соединении
  3. Firewall rules проверяют и разрешают соединение
  4. NAT-трансляция создаётся
  5. Правило FastTrack помечает соединение
  6. Все дальнейшие пакеты этого соединения идут по 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 — взаимоисключающие вещи, и это не баг, а осознанный компромисс между скоростью обработки и глубиной контроля над трафиком.

[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
# Просмотр правил 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
Routing / Fast Path и FastTrack на MikroTik — ускорение маршрутизации