问题 1
我有一个很长的列表,在文件中有 1500 多个 ip,比如 /etc/blocklist.ips,每个 ip 占一行。如何使用 centos 7 中的firewalld 删除文件中的每个 ip?我还发现 /firewald 文件夹中有 .xml 文件,所以这意味着我应该在 .xml 文件中创建我的阻止列表?
问题2
Firewalld 停止并不意味着使用 Firewalld 创建的规则在 iptables 上不起作用,对吗?
问题 3
刷新 iptables 也会删除 Firewalld 上的所有内容吗?
答案1
管理大量 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
据我所知,firewalld 还没有一种 API 方法来添加在 match 模块上运行所需的 iptables 规则,所以我认为你最终会做一些像这样的稍微丑陋的事情:
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
那样在没有防火墙的情况下进行操作。