CentOS Linux release 7.6.1810 (Core)
当我像这样检查 iptables 状态时:
[miao@MeowK8SSlave4 ~]$ service iptables status
Redirecting to /bin/systemctl status iptables.service
Unit iptables.service could not be found.
如何成功查看状态?
答案1
如果您只想确定当前的防火墙状态,则该firewalld
systemd
服务可能会在 CentOS 7 中为您处理该状态(除非您更改了安装中的某些默认设置)。
要查询服务的状态,您可以执行以下操作:
# systemctl status firewalld
要停止防火墙,您可以执行以下操作:
# systemctl stop firewalld
要永久禁用它,您可以执行以下操作(替换disable
为enable
以执行相反的操作):
# systemctl disable firewalld
您还可以使用该firewall-cmd
命令来浏览并查找有关当前防火墙配置的更多具体信息。例如,要查明防火墙是否正在运行
# firewall-cmd --state
这红帽防火墙文档有一个很好的图表,显示服务如何iptables
(firewalld
但不是同时)连接到iptables
命令。该文档还有一个页面描述了两者之间的差异以及如何配置您的系统以使用该iptables
服务而不是firewalld
.
答案2
iptables.service
是包的一部分iptables-services
:
# yum whatprovides /usr/lib/systemd/system/iptables.service
[...]
iptables-services-1.4.21-34.el7.x86_64 : iptables and ip6tables services for iptables
Repo : base
Matched from:
Filename : /usr/lib/systemd/system/iptables.service
但是,只要iptables
安装了该软件包,您仍然可以拥有活动的 iptables 配置。您可以使用 进行检查iptables --list
。
答案3
可以在CentOS中查看iptables服务状态:
sudo systemctl status iptables
sudo systemctl status ip6tables
如果服务尚未启动,您可以通过以下方式启动它们:
sudo systemctl start iptables
sudo systemctl start ip6tables