使用firewalld是否可以使用反向ipset作为源?

使用firewalld是否可以使用反向ipset作为源?

使用firewalld我可以制定这样的规则:(note the invert="True"

firewall-cmd --zone=public --add-rich-rule='rule family="ipv4" source address="192.168.100.0/24" invert="True" drop'

我可以指定对于某些来源,我需要将它们视为区域的一部分:

firewall-cmd --permanent --zone=external  --add-source=ipset:knowns

是否可以颠倒这一点并确保将不在 ipset 中的任何 ip 视为另一个指定区域的一部分?我查看了手册页,但找不到任何迹象表明这是否可能。

答案1

您可以通过创建包含所有“不良”IP 地址/范围的 ipset(使用firewall-cmd)来模仿此行为。然后,您添加一个仅将此 ipset 作为源的防火墙区域。

# firewall-cmd --permanent --zone=axisofevil --add-source=ipset:roguenations

ipset“roguenations”来源的所有流量都可以访问“axisofevil”区域的所有服务。如果您根本不允许任何服务,则这些客户端将无法获得任何服务。

不要忘记添加另一个包含所有“不良”IPv6 地址/范围的 inet6 类型区域。

# firewall-cmd --permanent --new-ipset=roguenations6 --type=hash:net --family=inet6

提示:您可以使用来自例如的整个地理IP数据库https://www.ip2location.com/free/visitor-blocker以 CIDR 格式添加到 ipset(使用firewall-cmd --new-ipset-from-file或者--从文件添加条目..:)

我建议禁用默认打开的“AllowZoneDrifting”。

华泰

相关内容