Для того чтобы понять как трафик проходит через маршрутизатор (не важно будь то cisco, MikroTik, Linux router и т. д.) мне кажется лучше всего рассмотреть схему от компании MikroTik, т. к. она более подробно описывает все этапы.

Ниже рассмотрим какие элементы и цепочки присутствуют на схеме, для чего они предназначены, а также в каком порядке обрабатываются.

Схема

Основные узлы прохождения трафика

  • INPUT INTERFACE - входная точка Traffic Flow. Может быть физическим интерфейсом, или виртуальным (например точка входа VPN)
  • OUTPUT INTERFACE - выходная точка Traffic Flow.
  • Local Process IN - конечная точка Traffic Flow, адресованного к маршрутизатору
  • Local Process OUT - начальная точка Traffic Flow, сгенеренного самим маршрутизатором
  • Routing Decision - решение по маршрутизации. Решение может касаться перенаправления на INPUT или FORWARD, но также может быть и досрочное прекращение обработки, в случае отсутствия подходящего маршрута

Цепочки

  • input - Через эту chain идет трафик, направленный на интерфейсы роутера.
  • forward - Любой транзитный трафик.
  • output - Трафик, источниками которого являются интерфейсы роутера.
  • Prerouting - Трафик вошел в порт, но ещё не принято Routing Decision
  • Postrouting - Chain перед выходным портом.

Интерфейс

На любом устройстве всегда будет будет 2 интерфейса Traffic Flow (не стоит путать с физическим интерфейсом, он может быть один)

INPUT INTERFACE - входная точка Traffic Flow. Может быть физическим интерфейсом, или виртуальным (например точка входа VPN)

OUTPUT INTERFACE - выходная точка Traffic Flow.

Так например при прохождении Chain Input и Chain Prerouting никогда не будет задействован OUTPUT INTERFACE,

ROUTING DECISION (BRIDGE DECISION), TTL, ROUTING ADJUSTMENT являются автоматизированными процессами.

Остальные объекты являются настраиваемыми объектами.

  • HOTSPOT-IN и HOTSPOT-OUT относятся к возможностям Hotspot.
  • RAW PREROUTING и RAW OUTPUT – это частный случай файрвола, который служит дляснижения нагрузки на ЦП во время DOS-атак.
  • CONNECTION TRACKING – отслеживание соединений.
  • MANGLE PREROUTING, MANGLE INPUT, MANGLE FORWARD, MANGLE OUTPUT и MANGLEPOSTROUTING чаще всего служат для маркировки трафика.
  • DST-NAT и SRC-NAT – служат для настройки NAT.
  • FILTER INPUT, FILTER FORWARD и FILTER OUTPUT – брандмауэр.
  • HTB GLOBAL (QUEUE TREE) и SIMPLE QUEUS служат для манипуляций с трафиком:назначения приоритета, ограничений скоростей и др.
  • BRIDGE DECISION (ROUTING DECISION) – решение об обработке в мостовом соединении.
  • TTL – это Time To Live: когда пакет проходит через маршрутизатор, TTL пакета уменьшается на 1.
  • ACCOUNTING – возможности RADIUS-сервера.
  • ROUTING ADJUSTMENT – донастройка маршрутизации.

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