Андрей Елсуков опубликовал патч для поддержки тэгирования пакетов в IPFW.
Патч добавляет в файрвол два новых модификатора tag и untag, и опцию tagged. Когда пакет обрабатывается правилом файрвола, модификатор tag N добавляется "маркер" (тэг) с номером N. Одновременно к пакету может быть прикреплено несколько различных тэгов. Они используются только внутри ядра системы и не передаются в сеть. При помощи модификатора untag тэг может быть удалён из пакета. Тэги могут быть добавлены либо удалены из пакета не только при помощи файрвола, а, например, при помощи специальной netgraph ноды. Для проверки наличия определённых тэгов в пакете используется опция tagged.
Тэгирование пакетов может использоваться, например, для следующих задач:
пометка пакетов до трансляции при помощи ng_nat или ipfw nat, с возможностью идентификации и фильтрации пакетов после трансляции;
пометка пакетов проходящих через определённые netgraph ноды;
пометка разными тэгами пакетов входящих на различные интерфейсы и настройка политик их фильтрации.
|