Назад | Перейти на главную страницу

Медленная вставка правил в UFW

Мне нужно заблокировать около 10 000 IP-адресов в моем брандмауэре, у меня есть все IP-адреса в файле, поэтому я запускаю эту команду из командной строки:

while read line; do sudo ufw insert 1 deny from $line; done < IP_addresses

И работает, вставляет правила, но это очень медленно, вставляет примерно 1 правило в секунду, можно ли сделать это быстрее?

Он работает на Debian 9 с 1 ядром процессора Xeon (VPS).

Более быстрый способ - добавить их в файл /etc/ufw/before.rules.

Вы можете сгенерировать строки для вставки с помощью цикла for, выполнив следующие действия.

for line in `cat IP_addresses`; do echo "-A ufw-before-input -s $line -j DROP" >> rules.out ; done 

Затем вы можете поместить этот вывод в файл rules.out в файл /etc/ufw/before.rules после строки, которая гласит:

# End required lines

Это использует инструкции, найденные на https://www.cyberciti.biz/faq/how-to-block-an-ip-address-with-ufw-on-ubuntu-linux-server/ в качестве основы. Соответствующий раздел - последний под названием Совет: UFW НЕ блокирует IP-адрес