Проблема с моей конфигурацией iptables при перезагрузке

Я много раз пытался сохранить конфигурацию iptables, чтобы она запускалась автоматически при перезагрузке Raspberry Pi (Ubuntu 22.04.1 LTS), но когда я смотрю с помощью этой команды:

      $ sudo iptables -L

мои правила цепочки исчезли после перезагрузки.

Я следовал этой документации:

https://help.ubuntu.com/community/IptablesHowTo

Вот правила с командами, которые я использовал в этом конкретном порядке:

      sudo iptables -A INPUT -m conntrack --ctstate ESTABLISHED,RELATED -j ACCEPT
sudo iptables -A INPUT -p tcp --dport ssh -j ACCEPT
sudo iptables -A INPUT -p tcp --dport 80 -j ACCEPT
sudo iptables -A INPUT -j DROP
sudo iptables -I INPUT 1 -i lo -j ACCEPT

Затем из той же документации они рекомендуют Решение №1 или Решение №2 для сохранения и восстановления iptables при перезагрузке. Я пробовал оба без успеха.

Вот что я сделал для решения № 2:

Я сохранил свои правила брандмауэра в файл iptables.rules следующим образом:

      sudo sh -c "iptables-save > /etc/iptables.rules"

Я создал этот новый файл для скрипта в /etc/network/if-pre-up.d/iptablesload. Вот содержимое скрипта, который я редактировал с помощью Vim:

      #!/bin/sh
iptables-restore < /etc/iptables.rules
exit 0

Я сохранил файл в Vim с помощью :wq

Затем я создал этот новый файл для скрипта в /etc/network/if-post-down.d/iptablessave. Это содержит:

      #!/bin/sh
iptables-save -c > /etc/iptables.rules
if [ -f /etc/iptables.downrules ]; then
   iptables-restore < /etc/iptables.downrules
fi
exit 0

Я сохранил файл в Vim с помощью :wq

И, наконец, я дал обоим скриптам права на выполнение следующим образом:

      sudo chmod +x /etc/network/if-post-down.d/iptablessave
sudo chmod +x /etc/network/if-pre-up.d/iptablesload

После всего этого, когда я перезагружаю свой Raspberry Pi и ввожу команду

      sudo iptables -L 

все мои цепные правила исчезли.

Я новичок в Ubuntu, спасибо за помощь.

1 ответ

Ubuntu предоставляет следующий метод загрузки правил iptables во время загрузки:

Необходимое программное обеспечение:

iptables-persistent должен быть установлен

Правила во время загрузки:

правила, загружаемые во время загрузки, хранятся в (IPv4) и/etc/iptables/rules.v6(IPv6). Существующий набор правил v4 можно сохранить в/etc/iptables/rules.v4с командой

      iptables-save -c > /etc/iptables/rules.v4

или

      ip6tables-save -c > /etc/iptables/rules.v6

Есть и другие способы, такие как собственные скрипты, запускаемые при загрузке, которые подробно не описываются в этом вопросе. Плохие наборы правил iptable могут помешать вашему доступу к серверу. Будьте осторожны, всегда спрашивайте, что произойдет, если ...?

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