У меня очень длинный список 1500+ IPS в файле, скажем, /etc/blocklist.ips, каждый IP-адрес в строке файла. Как я могу DROP для каждого ip в файле с firewalld от centos 7? Также я искал, что в папке / firewald есть файлы .xml, так что это означает, что я должен создать свой черный список в файле .xml?
остановка Firewalld не означает, что правила, созданные с помощью firewalld, не работают с iptables, верно?
Очистка iptables также удалит все на firewalld?
Лучший способ управлять правилами брандмауэра с большим количеством IP-адресов остается с ipset
.
Затем создайте набор IP-адресов:
ipset create blacklist hash:ip hashsize 4096
и добавьте каждый из IP-адресов, которые необходимо заблокировать:
ipset add blacklist 192.168.0.5
ipset add blacklist 192.168.0.100
ipset add blacklist 192.168.0.220
AFAIK firewalld еще не имеет метода API для добавления необходимого правила iptables, которое работает на match модуль, так что вы собираетесь сделать что-то немного уродливое, я думаю:
firewall-cmd --direct --add-rule ipv4 filter INPUT 0 -m set --match-set blacklist src -j DROP
вместо обычного iptables -I INPUT -m set --match-set blacklist src -j DROP
вы бы обошлись без firewalld.