Автозагрузка правил iptables на Ubuntu Server с netplan

Soft&Hard

После перехода системы настройки сетевых интерфейсов с ifupdown на netplan, перестали работать старые способы загрузки правил iptables. Перестали выполняться скрипты в /etc/network/if-pre-up.d/, как и в других if-up.d, if-down.d директориях. Актуально для Ubuntu Server 20 или Ubuntu Server 22.

Настраиваем автозагрузку правил iptables с помощью netfilter-persistent.

netfilter-persistent — это базовый пакет, обеспечивающий загрузку конфигураций для netfilter с использованием plugin-ориентированной архитектуры.

Это скрипт который вызывается через сервис systemd и запускает другие пользовательские скрипты, которые называются плагинами.

Для работы с iptables существуют плагины, для netfilter-persistent, которые собраны в отдельный пакет iptables-persistent:

/usr/share/netfilter-persistent/plugins.d/15-ip4tables
/usr/share/netfilter-persistent/plugins.d/25-ip6tables

Установка iptables-persistent:

apt-get install iptables-persistent

linux

Сохранить текущие правила для IPv4? Yes.

linux

Сохранить текущие правила для IPv6? No.

linux

Проверим что сохранилось:

cat /etc/iptables/rules.v4

linux

Добавим что-нибудь:

iptables -A INPUT -p tcp -m tcp --dport 53 -j ACCEPT

Сохраним текущие правила:

netfilter-persistent save

Проверим что сохранилось:

cat /etc/iptables/rules.v4

linux

Перезагружаемся и проверяем.

По умолчанию перед загрузкой существующие правила iptables очищаются. Изменить это поведение и другие параметры можно в настройках:

/etc/default/netfilter-persistent
iptables -L

linux

Всё работает.

internet-lab.ru

Материал распространяется по лицензии CC-BY-SA

Оцените статью
IT-Привет!
Добавить комментарий