Процесс обработки сетевых правил в nftables включает несколько этапов: wiki.nftables.org
- Проверка выражений. wiki.nftables.org Каждое выражение проверяет, соответствует ли пакет определённому полю полезной нагрузки или метаданным пакета/потока. wiki.nftables.org Выражения оцениваются линейно, от левого к правому: если первое выражение совпадает, то оценивается следующее и так далее. wiki.nftables.org
- Выполнение действий. wiki.nftables.org Если достигается финальное выражение, то пакет соответствует всем выражениям в правиле, и выполняются его действия. wiki.nftables.org Каждое действие может включать установку метки netfilter, подсчёт пакета, ведение журнала или принятие решения, например, принятие или отбрасывание пакета или переход к другой цепочке. wiki.nftables.org
- Обработка пакетов. habr.com Файервол обрабатывает пакеты с учётом семейства таблиц и хуков цепочек. habr.com У цепочки есть приоритет: чем он ниже (может быть отрицательным), тем раньше обрабатывается цепочка. habr.com
Условия в правиле логически связаны (с помощью оператора AND), поэтому для соответствия правила все условия должны быть оценены как «истинные». docs.redhat.com Если какое-либо условие не выполняется, оценка переходит к следующему правилу. docs.redhat.com