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

Комментарии

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

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