当我检查 iptables 服务状态时,它显示“活动”(已退出),为什么以及如何修复它?
答案1
该消息是正常的;没有错误,也没有任何需要修复的内容(除非您想迁移到firewalld
或其他)。所发生的情况是iptables-restore
加载了防火墙规则,然后退出,因为加载规则后它不需要保留。这对于Type=oneshot
服务来说是典型的。
[root@redacted ~]# systemctl status iptables
● iptables.service - IPv4 firewall with iptables
Loaded: loaded (/usr/lib/systemd/system/iptables.service; enabled; vendor preset: disabled)
Active: active (exited) since Thu 2018-10-04 13:14:52 UTC; 1 weeks 4 days ago
[root@redacted ~]# wc -l /etc/sysconfig/iptables
822 /etc/sysconfig/iptables
[root@redacted ~]# systemctl list-unit-files | grep ipt
iptables.service enabled
[root@redacted ~]# systemctl list-unit-files | grep firew
firewalld.service disabled
如果你看一下,/usr/lib/systemd/system/iptables.service
它是一个 shell 脚本的包装器,它(最终)调用iptables-restore
从/etc/sysconfig/iptables
.
(firewalld
是不同的东西,可能涉及也可能不涉及(它是不是在上面的防火墙上,这些命令及其输出是从复制的))