我正在尝试在 RHEL7 上使用 iptables。我已执行以下操作:
systemctl mask firewalld
systemctl stop firewalld
yum install iptables-services
systemctl enable iptables
systemctl start iptables
但最后一行错误:
Job for iptables.service failed because the control process exited with error code. See "systemctl status iptables.service" and "journalctl -xe" for details.
journalctl -u service-name.service
-- No entries --
和journalctl -xe
Jan 13 12:30:03 localhost.localdomain systemd[1]: Unit iptables.service entered failed state.
Jan 13 12:30:03 localhost.localdomain systemd[1]: iptables.service failed.
Jan 13 12:30:03 localhost.localdomain polkitd[10240]: Unregistered Authentication Agent for unix-process:27798:561438909 (system bus name :1.22082, object path /org/freedesktop/P
lines 1222-1263/1263 (END)
它只告诉我失败了,而不是原因,我也不知道是什么未注册 unix-process 的身份验证代理意思是还是相关。我相信这是因为它总是遵循 iptables 错误行。但我不知道这意味着什么,或者具体如何补救。也不知道哪个是原因,哪个是结果。
此外:
sudo iptables -S
-P INPUT ACCEPT
-P FORWARD ACCEPT
-P OUTPUT ACCEPT
sestatus
SELinux status: enabled
SELinuxfs mount: /sys/fs/selinux
SELinux root directory: /etc/selinux
Loaded policy name: targeted
Current mode: permissive
Mode from config file: enforcing
Policy MLS status: enabled
Policy deny_unknown status: allowed
Max kernel policy version: 28
并iptables-restore
挂起。
解决:
我不确定真正的原因到底是什么,是句柄锁还是其他什么,但经过几次重启和运行后iptables-restore
,我现在能够启动服务了。
如何启动 iptables 服务?
答案1
简短回答我知道,但我遇到了类似的问题,重启后就解决了。服务在启动时启动,然后我可以正常停止和启动。
答案2
按顺序运行,它起作用了。服务 iptables 保存 systemctl stopfirewalld systemctl disablefirewalld systemctl start iptables systemctl status iptables systemctl enable iptables