iptables... блокировка диапазона без переполнения набора ipset IP-адресами

iptables... блокировка диапазона без переполнения набора ipset IP-адресами

У меня есть диапазон IPS 197.192.xx, который изо дня в день атакует мои pop/imap/smtp-серверы методом перебора.

У меня установлен IP-сет, который блокирует все IP-адреса, пытающиеся взломать мой сервер.

Я хотел бы заблокировать доступ для pop/smtp/imap для всех IP-адресов, начинающихся с 197.192

Для этого я ввел следующую команду:

ipset -A myIpset 197.192.0.0/24

но это добавило 65536 IP-адресов в мой IPset, сделав его огромным, и теперь я не могу добавлять в него больше IP-адресов.

Есть ли другой, более элегантный способ сделать это?

решение1

Вы можете добавить еще один ipset для блокировки, на этот раз типа hash:net, и добавить 197.192.0.0/16 к этому ipset. Или заменить свой ipset на один из типа , hash:netпоскольку hash:netможет также хранить IP-адреса (сетевая маска 32).

Чтобы преобразовать из hash:ipв hash:net:

 ipset save myIpset > myIpset &&
   ipset destroy myIpset &&
   sed s/:ip/:net/ myIpset | ipset restore &&
   ipset add myIpset 197.192.0.0/16

решение2

Вы можете просто не использовать ipset для этого; iptables может довольно легко сопоставлять сети:

iptables -I INPUT -s 197.192.0.0/16 -p tcp --dports smtp,imap,pop3 -j DROP

или похожие.

Кстати: Вы сообщили о насилии[email protected]как запрошено в AfriNIC Whois? Стоит попробовать...

Связанный контент