iptables -L 与 “systemctl status iptables” 里的iptables 是什么关系?
iptables -L 是什么?
这是一个命令行工具,直接操作内核中的 netfilter 规则表。
无论规则是 firewalld 添加的、旧版 iptables 服务添加的,还是手动添加的,iptables -L 都能看到。
iptables -L 与 “systemctl status iptables” 里的iptables 只是重名,不是同一个服务或工具?
不完全是重名,而是同一个工具,但不同的使用方式:
本质区别
| 项目 | `iptables -L` | `systemctl status iptables` |
| ------ | ------------------------------------- | -------------------------------------------------------------- |
| **本质** | **用户空间二进制程序**<br>`/usr/sbin/iptables` | **Systemd 服务单元**<br>`/usr/lib/systemd/system/iptables.service`
| **作用** | 直接**操作内核**防火墙规则表 | **管理静态规则文件**<br>(保存/加载 `/etc/sysconfig/iptables`) |
| **类比** | 像 `vim` 编辑器命令 | 像 `vim` 的自动保存脚本服务|
关键理解
iptables 作为命令 = 操作内核防火墙的工具(无论谁用,效果一样)
iptables 作为服务 = 使用这个工具的一个"脚本服务",它只是做两件事:
开机时:执行 iptables-restore < /etc/sysconfig/iptables 加载规则
关机时:执行 iptables-save > /etc/sysconfig/iptables 保存规则
浙公网安备 33010602011771号