Ipset восстановление списков после перезагрузки
- AJIekceu4
- 05.04.2018
- 4 856
- 1
- 18.03.2019
- 2
- 2
- 0
- Содержание статьи
При использовании списков 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
Добавить комментарий