ipset і набори IP
чи встановлений ipset?
which ipset
/usr/sbin/ipset # (так)
# якщо ні - встановлюю
apt install ipset
чи є якісь набори IP?
root@mail:~/adm# ipset list -n
root@mail:~/adm# # (нема)
створюємо набори
# Для IPv4
ipset create banned_inet4 hash:ip family inet hashsize 4096 maxelem 65536
# Для IPv6
ipset create banned_inet6 hash:ip family inet6 hashsize 4096 maxelem 65536
! Набори мають назву banned_inet4/6, тому що "inet4" і "inet6" - це значення змінної <family>
fail2ban, яка приймає відповідне значення від типу IP адреси, яка обробляється (IPv4 або IPv6) і її буде зручно використовувати при інтеграції iptable з ipset на наступному кроці. "banned" можна замінити іншим словом.
hashsize 4096 - Це початковий розмір хеш-таблиці (кількість "кошиків", у які розподіляються IP-адреси). Чим більше hashsize, тим швидше пошук/додавання IP (менше колізій). Але використовується трохи більше оперативної пам’яті. Значення має бути степенем двійки: 64, 128, 256, …, 4096, 8192 тощо.
maxelem 65536 - це максимальна кількість елементів (IP), які можна додати в набір.
Якщо є початкові списки зловмисників (banned_ipv4.txt, banned_ipv6.txt) - ми можемо завантажити їх у відповідні набори:
xargs -n1 ipset add banned_inet4 < /root/adm/ipset_init/banned_inet4.txt
xargs -n1 ipset add banned_inet6 < /root/adm/ipset_init/banned_inet6.txt
xargs — це утиліта в Linux, яка бере вхідні дані (наприклад, рядки з файлу або з конвеєра) і виконує над ними команду.
Last updated