<>出现的问题

虚拟机:centos
想使用
service iptables start
这个命令打开防火墙,然后出现了如下的提示

Failed to start iptables.service: Unit iptables.service not found.
即找不到iptables.service这个服务

<>怎么解决

第一,我们要知道centos7.0之前使用service这个命令管理服务,centos7.0之后使用systemctl命令管理服务程序,也就是说解决方式1是换个命令
第二,可以下载iptables-services。

格式分别如下:

service 服务名【start/stop/restart/reload/status】

systemctl 【start/stop/restart/reload/status】服务名

<>1. 使用systemctl命令

在CentOS 7或RHEL 7或Fedora中防火墙由firewalld来管理

添加
firewall-cmd --zone=public --add-port=80/tcp --permanent
(–permanent表示永久生效,没有此参数重启后会失效)

添加范围例外端口 如 1000-2000:
firewall-cmd --zone=public --add-port=1000-2000/tcp --permanent
重新载入
firewall-cmd --reload
查看
firewall-cmd --zone=public --query-port=80/tcp
删除
firewall-cmd --zone=public --remove-port=80/tcp --permanent
开启防火墙
systemctl start firewalld.service
//或者省略firewalld.service后面的.service也可以,下面一条命令也一样。
关闭防火墙
systemctl stop firewalld.service
查看运行状态
firewall-cmd --state
//running 表示运行

补充下面一种情况

systemctl 启动 firewalld 时出现 Failed to start firewalld.service: Unit is masked.
//这说明这里命令被锁定住了,你不能进行start或者stop等其他的操作,想要操作就必须先解锁

锁定服务命令
systemctl mask firewalld
会出现如下提示

Created symlink /etc/systemd/system/firewalld.service → /dev/null.

解除锁定
systemctl unmask firewalld
出现如下提示

Removed /etc/systemd/system/firewalld.service.

<>2. 继续使用service

首先安装iptables-services
yum install iptables-services
但如若是centos7及以上版本的会显示如下的信息

让你使用systemctl命令,而不是继续用service命令(妈了个巴子,搞来搞去还是用systemctl命令)
systemctl stop iptables systemctl start iptables systemctl restart iptables
systemctl reload iptables
此时就把问题解决了,机智如我。。。哈哈哈哈(仰天长笑)

感谢阅读。。。有错请指出,一起努力进步。。。

技术
下载桌面版
GitHub
Gitee
SourceForge
百度网盘(提取码:draw)
云服务器优惠
华为云优惠券
腾讯云优惠券
阿里云优惠券
Vultr优惠券
站点信息
问题反馈
邮箱:[email protected]
吐槽一下
QQ群:766591547
关注微信