Відповіді:
Немає можливості в 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
пакет, який це зробить.