Найти тему

Автозагрузка правил iptables на Ubuntu Server 20/22

После перехода системы настройки сетевых интерфейсов с 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
-2

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

-3

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

-4

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

cat /etc/iptables/rules.v4
-5

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

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

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

netfilter-persistent save

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

cat /etc/iptables/rules.v4
-6

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

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

iptables -L
-7

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

Источник:

Автозагрузка правил iptables на Ubuntu Server с netplan | internet-lab.ru

💰 Поддержать проект

Если вам понравилась статья, то ставьте 👍🏻 каналу.
Пишите комментарии, задавайте вопросы, подписывайтесь.