Как сохранить текущую конфигурацию брандмауэра Ubuntu? [dубликат]

Этот вопрос уже имеет ответ здесь: iptables сбрасывается, когда сервер перезагружает 4 ответа

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

Решена проблема!

do:

После написания команд iptables , do:

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#Saving_iptables Удачи!

83
задан 11 April 2012 в 03:49

4 ответа

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

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

Результат, созданный iptables-save, может быть затем прочитан на stdin с помощью iptables- восстановить. Если на сервере, без 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.

37
ответ дан 18 July 2018 в 05:23

Легкий способ использовать 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
120
ответ дан 18 July 2018 в 05:23

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

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

Результат, созданный iptables-save, может быть затем прочитан на stdin с помощью iptables- восстановить. Если на сервере, без 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.

37
ответ дан 24 July 2018 в 18:18

Легкий способ использовать 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
121
ответ дан 24 July 2018 в 18:18
  • 1
    Спасибо, мне было интересно, почему он не работает с Ubuntu 16.04 – bluesman 13 December 2016 в 01:59
  • 2
    netfilter-persistent запускается как услуга, предлагающая крючки во время выключения и во время загрузки. После установки iptables-persistent в качестве плагина для netfilter-persistent, iptables-persistent plugin должен вызываться netfilter-persistent службой для сохранения и загрузки. Но в некоторых конфигурациях, похоже, намеренно пропускают письма. Причина в том, что и как управлять им непрозрачна. – Craig Hicks 11 March 2018 в 16:22
  • 3
    Сообщение во время установки iptables-persistent выглядит следующим образом: Текущие правила iptables могут быть сохранены в файле конфигурации /etc/iptables/rules.v4. Эти правила будут автоматически загружаться при запуске системы. Правила сохраняются автоматически во время установки пакета. См. Страницу руководства iptables-save (8) для получения инструкций по обновлению файла правил. – Craig Hicks 11 March 2018 в 16:24
  • 4
    Поэтому я не могу видеть этот ответ в качестве фактического ответа. – Craig Hicks 11 March 2018 в 16:26

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

Похожие вопросы: