ipset — это сопутствующее приложение для межсетевого экрана Linux iptables. Он позволяет задавать правила для быстрой и простой блокировки набора IP-адресов.
1. создайте новый «набор» сетевых адресов. Эта команда создаст новый «хэш» набор сетевых адресов с названием «myset».
ipset create myset hash:net
или
ipset -N myset nethash
2. Добавляем списки сетей
# ipset add myset 14.144.0.0/12 # ipset add myset 27.8.0.0/13 # ipset add myset 58.16.0.0/15 # ipset add myset 1.1.1.0/24
3. Добавляем настройки в iptables iptables -I INPUT -m set –match-set myset src -j DROP
ipset create myset-ip hash:ip ipset -N myset-ip iphash
# ipset add myset-ip 1.1.1.1 # ipset add myset-ip 2.2.2.2
# iptables -I INPUT -m set –match-set myset-ip src -j DROP
Cозданный вами ipset хранится в памяти и исчезнет после перезагрузки. Чтобы сделать ipset постоянным, вам необходимо сделать следующее:
Во-первых, сохраните ipset в /etc/ipset.conf
ipset save > /etc/ipset.conf
Затем включите ipset.service, который работает аналогично iptables.service для восстановления правил iptables.
Блокировка с помощью PeerGuardian и других черных списков Инструмент pg2ipset-gitAUR от автора Maeyanie.com в сочетании со скриптом ipset-update.sh https://github.com/ilikenwf/pg2ipset/blob/master/ipset-update.sh
может использоваться с cron для автоматического обновления различных чёрных списков. На данный момент по умолчанию реализована блокировка: страны, узла выхода Tor и списка Bluetack pg2.
Для просмотра наборов:
# ipset list или
# ipset -L Для удаления набора:
# ipset destroy myset или
# ipset -X myset Для удаления всех наборов:
# ipset destroy Дополнительную информацию см. в ipset(8).
Оптимизация Инструмент iprangeAUR может помочь уменьшить количество записей в ipset.conf путём объединения соседних диапазонов или удаления пересекающихся диапазонов. Это может повысить производительность маршрутизатора/брандмауэра, если размер таблицы огромен. Этот инструмент также может преобразовать список имён хостов в IP-адреса.
Хоть ipset и спроектирован так, чтобы его можно было хорошо масштабировать, это не означает, что можно делать до бесконечности. В частности, в некоторых странах очень большое пространство IP-адресов, что делает геоблокировку неэффективной.