Как правила маршрутизации из IPTables, IPVS и NFTables упорядочиваются с точки зрения прецедентов в ядре Linux?

Ядро Linux имеет возможность маршрутизировать трафик с помощью nftables, iptables и ipvs. Я собрал здесь 3 связанных вопроса, чтобы в целом задать более широкий общий вопрос о том, как определяется приоритет в отношении правил маршрутизации ядра и брандмауэра:

  • В общем, существует ли порядок приоритета при упорядочении этих конструкций балансировки нагрузки/фильтрации пакетов?
  • NFT и iptables, если ими не управлять должным образом с точки зрения установки, могут привести к «коллизиям» (непредсказуемым результатам). Решением этой проблемы, по-видимому, является установка iptables-legacy. Можно ли одновременно запускать NFT и iptables, и если да, то в каком порядке будут применяться данные «таблицы» iptables (Mangle, Filter, NAT) по отношению к правилам таблиц NFT?
  • IPVS способен реализовать балансировку нагрузки. В общем, это должно произойти до или после применения правил iptables к входящему пакету?
  • Как ко всему этому относится firewalld?
  • Как работает приоритет в отношении SELinux и этих различных правил?

Для контекста: недавно я заметил, что некоторые правила iptables в системе, где был установлен NFT, не работали должным образом, и, хотя в Интернете есть отличные диаграммы того, как упорядочиваются цепочки iptables по умолчанию относительно их резидентных таблиц, мне стало любопытно. о том, как бы рассуждали об этих цепочках и их обходе, если бы присутствовали другие правила из NFT, IPVS, eBPF и так далее.

1 ответ

Это CLI для управления теми же правилами, которые хранятся в ядре. Любым приоритетом является указанный приоритет или порядок записи.

Другие вопросы по тегам