Проблема с моей конфигурацией 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 могут помешать вашему доступу к серверу. Будьте осторожны, всегда спрашивайте, что произойдет, если ...?