Назад | Перейти на главную страницу

iptables - откуда они генерируются или загружаются в последовательности загрузки?

Я не могу понять, как iptables загружаются при загрузке в системе centos7.7. Iptables-services не устанавливается. Я знаю о переходе на Firewalld, но хочу знать как ядро ​​настраивает правила iptables.

Для меня важно то, что цепочка FORWARD имеет правило отклонения откуда угодно:

REJECT     all  --  anywhere             anywhere             reject-with icmp-port-unreachable
REJECT     all  --  anywhere             anywhere             reject-with icmp-port-unreachable

который отбрасывает все пакеты из не упомянутых в предыдущих правилах:

Chain FORWARD (policy ACCEPT)
target     prot opt source               destination
ACCEPT     all  --  anywhere             192.168.100.0/24     ctstate RELATED,ESTABLISHED
ACCEPT     all  --  192.168.100.0/24     anywhere
...
ACCEPT     all  --  anywhere             192.168.101.0/24
ACCEPT     all  --  192.168.101.0/24     anywhere

Исправить достаточно просто - я просто запускаю это:

iptables -I FORWARD 2 -j ACCEPT -s 192.168.0.0/16

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

Рекурсивный поиск в / etc / systemd и в / usr / lib / systemd для iptables ничего не возвращает. Я пришел к выводу, что ядро ​​выбирает набор правил по умолчанию при загрузке на основе конфигурации сети. (Я отключил NetworkManager). Ничего в иерархии rc.d. Говорит ли ядро: «Ага, у меня есть эти интерфейсы, я разрешаю пересылку между ними»?

Я экспериментировал, перезагружался довольно много раз (на самом деле, виртуальная машина может быть лучшей платформой для экспериментов, мне приходит в голову), читал справочную страницу для iptables и различные интернет-ресурсы, которые в основном говорят, как загружать нужные вам правила , обычно с помощью iptables-services. Я не против создавать те правила, которые мне нужны, но не понимаю, где создаются правила по умолчанию.

В / etc / sysconfig / network-scripts также нет ничего, относящегося к iptables.

Чтобы уточнить: Firewalld не установлен. Сервисный файл присутствует, но замаскирован в / etc / systemd / system