解决CentOS7关闭/开启防火墙出现Unit iptables.service failed to load: No such file or director

场景:CentOS7中执行启动关闭或开启防火墙命令  service iptables start/stop 会报错
           Failed to start iptables.service: Unit iptables.service failed to load: No such file or directory.
原因:iptables是CentOS7以下版本的管理方式
解决办法:在CentOS 7或RHEL 7或Fedora中防火墙由firewalld来管理。

语法命令格式如下:启用区域端口和协议组合
firewall-cmd [--zone=<zone>] --add-port=<port>[-<port>]/<protocol> [--timeout=<seconds>]
上述端口可以是一个单独的端口 <port> 或者是一个端口范围 <port>-<port> 。协议可以是 tcp 或 udp。

下面以单独开放80端口为例:

#添加
firewall-cmd --zone=public --add-port=80/tcp --permanent (--permanent永久生效,没有此参数重启后失效)
#重新载入(添加后必须重新载入)
firewall-cmd --reload


#查看
firewall-cmd --zone=public --query-port=80/tcp

#删除
firewall-cmd --zone=public --remove-port=80/tcp --permanent

如果要添加范围例外端口 如 8080-8090 

#添加
firewall-cmd --zone=public --add-port=8080-8888/tcp --permanent (--permanent永久生效,没有此参数重启后失效)
#重新载入(添加后必须重新载入)
firewall-cmd --reload



#查看
firewall-cmd --zone=public --query-port=8080-8888/tcp

#删除
firewall-cmd --zone=public --remove-port=8080-8888/tcp --permanent

当然你可以还原传统的管理方式,执行一下命令:

#暂停使用firewalld管理
systemctl stop firewalld
systemctl mask firewalld
#并且安装iptables-services:
yum install iptables-services
#设置开机启动:
systemctl enable iptables
#启动防火墙
systemctl stop iptables 
systemctl start iptables
systemctl restart iptables
systemctl reload iptables
#保存设置
service iptables save

#开放某个端口 在/etc/sysconfig/iptables里添加(如:8080)
-A RH-Firewall-1-INPUT -m state --state NEW -m tcp -p tcp --dport 8080 -j ACCEPT


参考链接:http://www.mamicodecom/info-detail-2354080.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

心歌技术

打赏不能超过你的早餐钱!!!

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值