Как правила маршрутизации из 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 для управления теми же правилами, которые хранятся в ядре. Любым приоритетом является указанный приоритет или порядок записи.