
firewalld,一个出色的实用程序,可以保护和阻止网络流量
几天前 新版本firewalld 2.0宣布发布,这是一个主要版本,除了标记分支更改之外,此次发布还因为政策问题的修正,以及支持改进等。
对于那些不了解 Firewalld 的人来说,他们应该知道它是 作为 nftables 和 iptables 数据包过滤器的包装器实现。 Firewalld 作为后台进程运行,允许通过 D-Bus 动态更改数据包过滤规则,而无需重新加载数据包过滤规则,也无需断开已建立的连接。
要管理防火墙,使用 firewall-cmd 实用程序,在创建规则时,它不是基于 IP 地址、网络接口和端口号,而是基于服务名称,例如,打开对 SSH 的访问,关闭SSH 等等。
firewall-config (GTK) 图形界面和 firewall-applet (Qt) applet 也 可用于更改防火墙设置. 在 NetworkManager、libvirt、podman、docker 和 fail2ban 等项目中,支持通过 D-BUS API firewalld 进行管理。
另外, firewalld 分别维护运行和永久配置. 因此,firewalld 也为应用程序提供了一个方便地添加规则的接口。
firewalld 2.0 主要新特性
正如开头提到的,此版本脱颖而出 引入违反向后兼容性的策略更改 它们消除了处理规则的问题,即规定仅在地址范围与其他区域重叠的情况下与某个区域相关的传入数据包的处理(如果区域中的地址范围重叠,则数据包可能落入多个区域) ,忽略指定的规则)。
新版 Firewalld 2.0 中其他突出的变化是 添加了对 nftables 的支持, 它允许您使用流表数据包转发路径选择机制,从而可以显着提高流量转发性能。
我们还可以发现 添加了 NftablesCounters 配置以使用 nftables 数据包计数器。 启用 NftablesFlowtable 的 Firewalld 将网络转发的 iperf 性能提高了约 59%。
除此之外,我们还可以发现 添加了对为区域设置不同优先级的支持, 它允许用户控制数据包进入区域的顺序。
另一方面,值得一提的是 在 Firewalld 2.0 中,TFTP 客户端服务被删除, 基本上没有按预期工作,因为它是为了允许电源而合并的 访问服务器。 当添加到区域时,它“从未真正起作用”。
其他变化 从这个新版本中脱颖而出:
- 添加了支持 Zabbix Java Gateway 和 Zabbix Web Service 的服务。
- 添加了支持 Minecraft、0AD、纪元 1602、纪元 1800、文明 IV、文明 V、异星工厂、极品飞车:最高通缉、群星、要塞十字军、超级燕尾卡丁车、泰拉瑞亚、零 K 和定居者的服务。
- OpenTelemetry (OTLP) 的聚合服务。
- 此外,这些政策忽视了该地区一些长期存在的规则。
– 源始终在接口之前发送
– 来源按区域名称排序
如果您有兴趣了解更多关于这个新版本的信息,您可以在 以下链接。
获取防火墙
最后对于那些 有兴趣能够安装此防火墙,您应该知道该项目已经在许多 Linux 发行版上使用,包括 RHEL 7+、Fedora 18+ 和 SUSE/openSUSE 15+。 firewalld 代码是用 Python 编写的,并在 GPLv2 许可下发布。
您可以获得构建的源代码 从下面的链接。