Как сохранить правила iptables?

Я создаю правила для iptables. Но когда я перезагружаю компьютер, правила не работают! Как сохранить правила на Ubuntu?


Проблема была решена!

делать:

После записи команды iptables выполните:

 1. sudo su
 2. iptables-save > /etc/iptables.rules
 3. In /etc/network/if-pre-up.d/iptables,put:

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

 4. After, in /etc/network/if-post-down.d/iptables,put:
 #!/bin/sh
 iptables-save -c > /etc/iptables.rules
 if [ -f /etc/iptables.rules ]; then
 iptables-restore < /etc/iptables.rules
 fi
 exit 0
 5. After, give permission to the scripts:
 sudo chmod +x /etc/network/if-post-down.d/iptables
 sudo chmod +x /etc/network/if-pre-up.d/iptables

Дополнительная информация: https://help.ubuntu.com/community/IptablesHowTo Удачи!

2 ответа

Самый простой способ - использовать iptables-persistent,

устанавливать iptables-persistent:

sudo apt-get install iptables-persistent

После установки вы можете в любое время сохранить / перезагрузить правила iptables:

sudo /etc/init.d/iptables-persistent save 
sudo /etc/init.d/iptables-persistent reload

Ubuntu 16.04 Server

Установка, как описано выше, работает без проблем, но две команды для сохранения и перезагрузки выше, похоже, не работают с сервером 16.04. Следующие команды работают с этой версией:

sudo netfilter-persistent save
sudo netfilter-persistent reload

Общий способ сохранения правил iptables - использовать команду iptables-save, которая записывает в stdout.

iptables-save > /etc/network/iptables.rules

Выходные данные, созданные с помощью iptables-save, можно затем прочитать в stdin с помощью iptables-restore. Если на сервере без NetworkManager, общий подход состоит в том, чтобы использовать предварительную команду в /etc/network/interfaces.

iface eth0 inet static
        ....
        pre-up iptables-restore < /etc/network/iptables.rules

Если вы используете NetworkManager, должна быть возможность выполнить ту же команду из сценария, созданного в /etc/NetworkManager/dispatcher.d/. В документации сообщества - iptables howto, см. Конфигурация при запуске для NetworkManager для получения дополнительной информации.

Обратите внимание, что команды iptables, iptables-save и iptables-restore являются только IPv4. Для трафика IPv6 эквивалентными командами являются ip6tables, ip6tables-save и ip6tables-restore.

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