Брандмауэр iptables в Linux-системах — это мощный инструмент, который предоставляет администраторам возможность тонко настраивать доступ к сети, разрешая или блокируя определенный трафик с высокой степенью точности.
Опытные администраторы Linux, вероятно, знакомы с разочарованием, которое вызывает потеря правил iptables после перезагрузки системы. Это происходит потому, что по умолчанию настройки iptables не сохраняются после перезагрузки. После настройки правил важно выполнить еще один шаг, чтобы убедиться, что они сохранятся и останутся активными после перезагрузки.
Прежде чем продолжить, убедитесь, что в вашей системе уже настроены некоторые правила.
Знак # означает, что команда выполняется от root. Откройте заранее консоль с рутовыми правами — sudo -i в Debian-based системах или su в остальных.
Чтобы посмотреть текущие правила, выполните:
# iptables -L
В зависимости от используемого вами дистрибутива Linux следуйте инструкциям ниже, чтобы сохранить настроенные вами правила iptables.
Сохранение правил на Ubuntu/Debian.
Чтобы сделать правила iptables постоянными после перезагрузки, установите пакет iptables-persistent с помощью менеджера пакетов apt:
# apt install iptables-persistent
Во время установки появится запрос на сохранение текущих правил для iptables. Если у вас уже есть нужные правила, выберите "Да". В случае необходимости позже вы можете сохранить правила снова вручную.
Если вы хотите сохранить правила после изменения их вручную, используйте команду:
# netfilter-persistent save
Эта команда сохранит текущие правила для iptables и для ip6tables в файлах:
/etc/iptables/rules.v4
/etc/iptables/rules.v6
Для обновления постоянных правил iptables новыми настройками, используйте команду:
# iptables-save > /etc/iptables/rules.v4
или для правил IPv6:
# ip6tables-save > /etc/iptables/rules.v6
Чтобы удалить постоянные правила iptables, откройте соответствующий файл /etc/iptables/rules.v* и удалите строки с нежелательными правилами.
Сохранение правил на CentOS/RHEL
Чтобы сделать правила iptables постоянными после перезагрузки, установите пакет iptables-persistent с помощью менеджера пакетов dnf:
# dnf install iptables-services
Во время установки появится запрос на сохранение текущих правил для iptables. Если у вас уже есть нужные правила, выберите "Да". В случае необходимости позже вы можете сохранить правила снова вручную.
Если вы хотите сохранить правила после изменения их вручную, используйте команду:
# service iptables save
Эта команда сохранит текущие правила для iptables и для ip6tables в файлах:
/etc/sysconfig/iptables
/etc/sysconfig/ip6tables
Для загрузки правил при перезагрузке убедитесь, что iptables включен для автозапуска:
# systemctl enable iptables
# systemctl start iptables
Убедиться, что служба запущена, можно с помощью команды:
# systemctl status iptables
Для обновления постоянных правил iptables новыми настройками, используйте команду:
# iptables-save > /etc/sysconfig/iptables
или для правил IPv6:
# ip6tables-save > /etc/sysconfig/ip6tables
Чтобы удалить постоянные правила iptables, откройте файл /etc/sysconfig/iptables для правил IPv4, или файл /etc/sysconfig/ip6tables для IPv6, и удалите строки с нежелательными правилами.