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

  • 51
  • 0
  • 100,00%
  • 2

При использовании списков 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

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

Ваш e-mail не будет опубликован.