Connection state в MikroTik Firewall: 5 состояний

MikroTik в Красноярске — три практических курса в ноябре 2026!

С 11 по 21 ноября в Красноярске пройдут очные тренинги MikroTik: MTCNA, MTCRE и MTCTCE.

Работаете с MikroTik и хотите не просто знать команды RouterOS, а понимать, как всё работает? Приходите прокачивать навыки сетевого администрирования!

Расписание курсов

11–14 ноября — MTCNA

Базовый курс MikroTik: настройка RouterOS, маршрутизация, Firewall, NAT, VPN, DHCP, Wi-Fi и основы управления трафиком.

Программа и регистрация

16–18 ноября — MTCRE

Продвинутая маршрутизация: OSPF, несколько интернет-провайдеров (MultiWAN), резервирование каналов, балансировка нагрузки, VPN и VLAN.

Программа и регистрация

19–21 ноября — MTCTCE

Управление трафиком: Firewall, NAT, Mangle, Packet Flow, QoS, очереди и приоритизация трафика.

Программа и регистрация

Почему стоит прийти?

  • Максимум практики на реальном оборудовании MikroTik.
  • Разбираем не только настройки, но и логику работы RouterOS.
  • Реальные инженерные задачи, лабораторные работы и живое общение с тренером.
  • Обучение проводит Кирилл Васильев — сертифицированный тренер MikroTik с 2016 года, практикующий сетевой инженер.
  • Учебные материалы, оборудование, обеды и кофе-брейки включены в стоимость.
  • Возможность пройти несколько курсов подряд со скидкой.

Место проведения: Красноярск, ул. Марковского, 81.

Важно: для участия в MTCRE и MTCTCE необходим сертификат MTCNA. Его можно получить на первом тренинге.

Не ограничивайтесь привычными настройками — научитесь понимать RouterOS и уверенно решать сложные сетевые задачи!

Выбирайте подходящий курс или записывайтесь сразу на всю программу.

Вопросы и запись:
manager@mt-courses.ru

Сайт:
https://mt-courses.ru

Connection state в MikroTik назначается пакету относительно записи connection tracking. Firewall различает new, established, related, invalid и untracked и использует эти состояния для ранней обработки трафика.

Правило drop invalid обычно полезно, но при асимметричной маршрутизации корректные пакеты могут выглядеть invalid. Перед применением проверьте обратный путь и особенности вашей топологии.

  • new — инициирующий пакет нового соединения
  • established — пакет, принадлежащий уже установленному соединению
  • related — пакет, связанный с существующим соединением, но инициирующий новое
  • untracked — пакет, прошедший мимо механизма отслеживания соединений
  • invalid — пакет, который не удалось корректно классифицировать

UNTRACKED: когда пакет не попадает в таблицу соединений

Состояние untracked присваивается пакетам, которые не проходят через connection tracker. Это происходит в двух случаях:

  1. Connection tracking отключен глобально – тогда все пакеты помечаются как untracked.
  2. В цепочке raw фаервола применено правило action=notrack, которое явно исключает определённый трафик из отслеживания.

Важно: пакеты в состоянии untracked не подвергаются NAT и не могут фильтроваться по параметрам, зависящим от соединения (connection-*). Однако все остальные правила фаервола к ним применяются.

Использование notrack — это распространённый метод оптимизации производительности MikroTik, особенно в сетях с высокой нагрузкой (например, при передаче большого объема backup-трафика или трафика между доверенными зонами). Это снижает загрузку CPU, поскольку connection tracking — ресурсоёмкая операция.

ESTABLISHED: пакеты уже установленных соединений

Состояние established присваивается пакетам, входящим в уже существующее соединение. Для TCP/UDP соединения проверяются пять параметров («пять кортежей»):

  • IP-адрес источника и назначения
  • Порты источника и назначения
  • Протокол

Для других протоколов (например, ICMP или GRE) проверяются только три параметра: два IP-адреса и тип протокола.

Рекомендация: правило с connection-state=established стоит размещать в начале цепочек, чтобы ускорить обработку и снизить нагрузку на роутер. В большинстве случаев такой трафик безопасен и должен быть разрешён.

NEW: начало нового соединения

Пакет с состоянием new — это первый пакет в новом соединении, на основании которого connection tracker создаёт запись в таблице.

Особенности по протоколам:

  • TCP: пакет считается new, только если он содержит флаг SYN и не содержит других флагов (например, ACK). Именно такой пакет инициирует TCP-сессию.
  • ICMP: new — это всегда Echo Request (Type=8, Code=0). Ответ (Echo Reply) будет established.
  • GRE: используется, например, в PPTP-туннелях. Connection tracker сопоставляет GRE-пакеты по Call ID, ассоциируя их с управляющим TCP-соединением PPTP.

Пример практического применения:
Разрешить инициацию соединений только из VLAN 100 (управляющая сеть) в VLAN 200 (серверная), но не наоборот:

/ip firewall filter
add action=accept chain=forward connection-state=established
add action=accept chain=forward connection-state=new in-interface=ether1.100 out-interface=ether1.200
add action=drop chain=forward

Такой подход — основа асимметричной сетевой безопасности, часто используемой на курсах по MikroTik.

INVALID: когда пакет «не вписывается» в логику соединений

Состояние invalid присваивается пакетам, которые:

  • Приходят без предшествующего new, но выглядят как часть соединения (например, TCP-пакет с флагом ACK, при этом самого соединения нет в таблице).
  • Не могут быть обработаны из-за переполнения таблицы соединений (например, нехватка памяти в RouterOS).
  • Являются артефактами асимметричной маршрутизации (например, в BGP-сетях).

Обычно такие пакеты следует блокировать. Однако в редких случаях (например, устаревшие приложения вроде IIS + 1С) может потребоваться разрешить invalid-трафик для корректного завершения соединений.

RELATED: «дочерние» соединения

Состояние related — одно из самых сложных для понимания. Оно применяется, когда пакет связан с существующим соединением, но формально является началом нового.

Примеры:

  1. ICMP-ошибки (например, «Destination Unreachable»): внутри ICMP-пакета содержится заголовок оригинального IP-пакета. Connection tracker распознаёт, к какому соединению он относится, и помечает ICMP как related.
  2. Протоколы с динамическими портами: некоторые протоколы устанавливают управляющее соединение, а затем инициируют дополнительные сессии на других портах. Чтобы фаервол мог корректно отслеживать такие «вторичные» соединения, используются специальные модули, известные как NAT helpers или ALG (Application Layer Gateway). В MikroTik RouterOS эти функции реализованы через раздел /ip/firewall/service-port. Каждая запись в этом разделе (например, name="ftp", name="sip" и т.д.) активирует встроенный conntrack-модуль, который анализирует управляющий трафик и помогает ядру отслеживать связанные потоки данных, помечая их как related. Например, FTP в активном режиме: клиент подключается к порту 21, а сервер инициирует отдельное TCP-соединение к клиенту на динамический порт данных. Запись name="ftp" в /ip/firewall/service-port включает соответствующий NAT helper, и RouterOS заранее знает о таком соединении, помечая его как related. Аналогично работают и другие встроенные помощники — для TFTP (порт 69), SIP (порты 5060/5061), H.323, PPTP, UDPlite, DCCP, SCTP, а также (в некоторых версиях) IRC и RTSP. Все они реализованы как ALG-модули и управляются именно через /ip/firewall/service-port.

Поэтому правило connection-state=related рекомендуется размещать сразу после или вместе с established, иначе такие пакеты будут отброшены фаерволом.

Список NAT helpers (conntrack ALG-модулей) из MikroTik RouterOS и соответствующие файлы исходного кода в официальном репозитории ядра Linux (kernel.org):

Понимание состояний соединений — ключевой навык для эффективной настройки MikroTik. Это позволяет строить безопасные, производительные и гибкие сетевые политики. Особенно важно это для тех, кто проходит курсы по MikroTik или самостоятельно осваивает продвинутую настройку сетевого оборудования.

Заключение

Изучение работы connection-state помогает не только правильно фильтровать трафик, но и оптимизировать производительность роутера, избегать ошибок NAT и устранять сложные сетевые проблемы.

Полезные ссылки (для углублённого изучения)


Если вы хотите освоить такие темы на практике — присоединяйтесь к курсам по MikroTik, где разбираются не только базовые, но и продвинутые сценарии настройки, включая безопасность, производительность и отказоустойчивость сетей.

Как проверить результат

  • Откройте одно TCP-соединение и найдите его в connection table.
  • Сверьте счётчики established/related и invalid rules.
  • Проверьте поведение при асимметричном пути или временно исключите такой трафик из теста.

Источники и связанные материалы

Команды в статье меняют сетевую конфигурацию. Перед работой сохраните экспорт, подготовьте способ восстановления доступа и применяйте изменения сначала в тестовой среде.