使用 iptables -L 检查 iptables 规则
虽然 firewalld
是许多 Linux 发行版中管理防火墙的现代方式,但它通常是通过配置底层的 netfilter
框架来实现的,而 netfilter
传统上是由 iptables
命令管理的。
即使使用 firewalld
,你仍然可以使用 iptables
命令检查 firewalld
在 netfilter
中创建的规则。这有助于你理解 firewalld
如何将其基于区域的规则转换为底层的 iptables
规则。
要列出当前的 iptables
规则,我们将使用带有 -L
选项的 iptables
命令。由于查看防火墙规则需要管理员权限,我们需要使用 sudo
。
输入以下命令并按回车键:
sudo iptables -L
你会看到大量的输出!这个输出显示了不同的 iptables
链(如 INPUT
、FORWARD
、OUTPUT
)以及其中的规则。firewalld
会创建自己的链,通常以 FWD
、IN_
、OUT_
等为前缀,以便根据区域和服务管理流量。
以下是你可能看到的输出片段(具体输出会有所不同):
Chain INPUT (policy ACCEPT)
target prot opt source destination
ACCEPT all -- anywhere anywhere ctstate RELATED,ESTABLISHED
ACCEPT all -- anywhere anywhere
INPUT_direct all -- anywhere anywhere
INPUT_ZONES_SOURCE all -- anywhere anywhere
INPUT_ZONES all -- anywhere anywhere
...
Chain FORWARD (policy ACCEPT)
target prot opt source destination
...
Chain OUTPUT (policy ACCEPT)
target prot opt source destination
...
Chain INPUT_ZONES (1 references)
target prot opt source destination
FWD_public all -- anywhere anywhere [goto] /* zone public */
...
现在不必担心理解输出的每一行。关键是要知道 firewalld
在幕后积极管理这些 iptables
规则。iptables -L
命令让你了解内核正在执行的实际数据包过滤规则。
这一步结束了我们对 firewalld
及其与 iptables
关系的简要介绍。你已经学习了如何检查活动区域、查找配置文件以及检查底层的 iptables
规则。
点击 继续 完成实验。