Ответы:
В iptables нет опции, которая сделает ваши правила постоянными. Но вы можете использовать iptables-saveи iptables-restoreдля выполнения своей задачи.
Сначала добавьте правило iptable, используя указанную вами команду.
Затем сохраните правила iptables в некоторый файл, например, /etc/iptables.confиспользуя следующую команду:
$ iptables-save > /etc/iptables.conf
Добавьте следующую команду, /etc/rc.localчтобы перезагрузить правила при каждой перезагрузке.
$ iptables-restore < /etc/iptables.conf
rc.localтак как между запуском сервисов и политикой брандмауэра будет разрыв в открытом окне. Я предпочитаю использовать pre-up крюк для петлевого интерфейса в , /etc/network/interfacesчтобы преодолеть это.
rc.localможет иметь ожидаемый эффект, но в этой ситуации это является препятствием.
(Потому что было предложено сделать это своим собственным ответом ...)
На Debian установить iptables-persistent.
Пакет автоматически загрузится /etc/iptables/rulesдля вас во время загрузки.
Каждый раз, когда вы изменяете свои правила, запускайте их, /sbin/iptables-save > /etc/iptables/rulesчтобы сохранить. Вы также можете добавить это к последовательности выключения, если хотите.
/etc/iptables/rules.v4и /etc/iptables/rules.v6для IPv4 и IPv6 соответственно. Если вы хотите, чтобы таблица применялась к обоим видам соединений, вы должны сохранить ее в обоих файлах правил.
После установки iptables-persistentвыше вы также можете сохранить правила с помощью следующей более короткой команды в Ubuntu 16.04+:
sudo netfilter-persistent save
И они также могут быть возвращены к тому, какими они были в прошлый раз, когда вы их сохранили:
sudo netfilter-persistent reload
iptables-persistentпакет, который сделает это.