Как сохранить правила iptables? [Дубликат]

76

Я создаю правила для 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

Дополнительная информация: Ссылка Удачи!

    
задан Gustavo 06.04.2012 в 08:08
источник

2 ответа

108

Простым способом является использование 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

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

sudo netfilter-persistent save
sudo netfilter-persistent reload
    
ответ дан user213088 09.11.2013 в 15:53
33

Общий метод сохранения правил 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.

    
ответ дан andol 06.04.2012 в 08:27