第 41 章 使用和配置 firewalld
防火墙是保护机器不受来自外部的、不需要的网络数据影响的一种方式。它允许用户通过定义一组防火墙规则 来控制主机上的入站网络流量。这些规则用于对传入流量进行排序,并阻止它或允许它通过。
			firewalld 是一个防火墙服务守护进程,它通过 D-Bus 接口提供动态、可自定义的防火墙。如果是动态的,它会在每次更改规则时启用、修改和删除规则,而无需在每次更改规则时重启防火墙守护进程。
		
			您可以使用 firewalld 来配置大多数典型情况所需的数据包过滤。如果 firewalld 不涵盖您的场景,或者您想要完全控制规则,请使用 nftables 框架。
		
			firewalld 使用区、策略和服务的概念来简化流量管理。区域以逻辑方式分隔网络。网络接口和源可以分配给区。策略用于拒绝或允许区域间的流量流。防火墙服务是预定义的规则,覆盖了允许特定服务的传入流量的所有必要设置,并在区域内应用。
		
			服务使用一个或多个端口或地址进行网络通信。防火墙会根据端口过滤通讯。要允许服务的网络流量,必须打开其端口。firewalld 会阻止未明确设置为开放的端口上的所有流量。一些区(如可信区)默认允许所有流量。
		
			firewalld 维护单独的运行时和永久配置。这允许仅运行时的更改。firewalld 重新加载或重启后,运行时配置不会保留。在启动时,它会从永久配置填充。
		
			请注意,带有 nftables 后端的 firewalld 不支持使用- direct 选项将自定义 nftables 规则传递给 firewalld。
		
41.1. 使用 firewalld、nftables 或者 iptables 时
在 RHEL 8 中,您可以根据您的情况使用以下数据包过滤工具:
- 
						firewalld:firewalld工具简化了常见用例的防火墙配置。
- 
						nftables:使用nftables工具来设置复杂和性能关键的防火墙,如用于整个网络。
- 
						iptables:Red Hat Enterprise Linux 上的iptables工具使用nf_tables内核 API 而不是传统的后端。nf_tablesAPI 提供了向后兼容性,以便使用iptables命令的脚本仍可在 Red Hat Enterprise Linux 上工作。对于新的防火墙脚本,请使用nftables。
					要防止不同的与防火墙相关的服务(firewalld、nftables 或 iptables)相互影响,请在 RHEL 主机上仅运行其中一个服务,并禁用其他服务。