Ipset восстановление списков после перезагрузки

  • 05.04.2018
  • 4 856
  • 1
  • 18.03.2019
  • 2
  • 2
  • 0
Ipset восстановление списков после перезагрузки

При использовании списков ipset при фильтрации пакетов на фаерволе в связке c iptables-persistent (netfilter-persistent), можно столкнуться с тем, что после перезагрузки устройства, правила для iptables не будут применяться автоматически, т.к. используемые в них списки ipset не будут созданы автоматически при загрузке.

Описание

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

Создаем файл плагина, цифра 14 в имени, позволяет данному скрипту выполняться до загрузки основных правил 15-ip4tables и 25-ip6tables для iptables:

touch /usr/share/netfilter-persistent/plugins.d/14-ipset

Делаем его исполняемым:

chmod +x /usr/share/netfilter-persistent/plugins.d/14-ipset

Любым удобным редактором, вносим в него ваши правила, в этом примере мы создаем список (TEMP-BLOCK):

#!/bin/sh
ipset create TEMP-BLOCK hash:ip timeout 300

Сохраняем файл и пробуем перезагрузиться. Если после перезагрузки, правила для iptables автоматически не применились при старте системы, то посмотреть на ошибки можно таким образом:

journalctl | grep netfilter-persistent
Была ли эта статья Вам полезна?

Комментарии к статье (1)

    • Кирилл

    "ipset create -exist" надо иначе будет ошибка при рестарте netfilter-persistent будет.

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *

Напоминаем Вам, что Ваше сообщение будет опубликовано только после проверки администратором сайта. Обычно это занимает 1-2 рабочих дня.