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