Существует ли «наилучшая практика» или стандарт, позволяющий сделать несколько правил iptables постоянными? Я имею в виду: автоматически применяется при перезагрузке системы?
Я использую VPS с Ubuntu Server 10.04 LTS (Lucid Lynx).
Спасибо.
БОЛЬШОЕ РЕДАКТИРОВАНИЕ: Я не хочу, чтобы какое-либо правило сохранялось (как это делает пакет iptables-persistent
). Я хочу, чтобы только мой собственный набор был перезагружен ... если другие правила в конечном итоге добавляются при запуске iptables, их следует отбросить ...
Самый простой способ - использовать iptables-save и iptables-restore , чтобы сохранить определенные в настоящее время правила iptables в файл и (повторно) загрузить их (например, после перезагрузки). ).
Так, например, вы должны запустить
sudo iptables-save | sudo tee /etc/iptables.conf
, чтобы сохранить текущие правила iptables в /etc/iptables.conf
, а затем вставить эти строки в /etc/rc.local
:
# Load iptables rules from this file
iptables-restore < /etc/iptables.conf
Быстрое обновление, так как вы могли бы использовать 12.04 сейчас, и все стало лучше.
Пакет iptables-persistent
теперь решает эту проблему. Для установки
sudo apt-get install iptables-persistent
Правила, определенные при установке пакета, сохраняются и используются при каждой последующей загрузке. Новые загруженные правила сбрасываются при перезагрузке.
Файл конфигурации, если вам нужно изменить их (после установки iptables-persistent
), равен /etc/iptables/rules.v4
или /etc/iptables/rules.v6
для iptables ipv4 и ipv6 соответственно.
Лучше, чем /etc/rc.local
, добавить строку в /etc/network/interfaces
после сохранения правил iptable, например,
post-up iptables-restore < /etc/iptables.up.rules
или то же самое, чтобы поместить файл в /etc/network/if-down.d/
или /etc/network/if-post-down.d/
. или /etc/network/if-pre-up.d/
или /etc/network/if-up.d/
.