## 发现问题 新在百度云上买台服务器,配置防火墙,开启端口的时候发现无法查看当前防火墙状态。 运行环境是CentOS7 1. sevice命令查看`service iptables status` 报错: ``` Redirecting to /bin/systemctl status iptables.service Unit iptables.service could not be found. ``` 提示我iptables-service未安装 2. iptables方式 ` /etc/init.d/iptables status` 提示不存在该文件或目录 ## 查找原因 CentOS7默认的防火墙不是iptables,而是firewalle. 以上命令在原来CentOS6是好使的 ## 解决方法 ### 一、保持firewall方式管理 如果要添加范围例外端口 如 1000-2000 语法命令如下:启用区域端口和协议组合 firewall-cmd [--zone=<zone>] --add-port=<port>[-<port>]/<protocol> [--timeout=<seconds>] 此举将启用端口和协议的组合。端口可以是一个单独的端口 <port> 或者是一个端口范围 <port>-<port> 。协议可以是 tcp 或 udp。 实际命令如下: 添加 firewall-cmd --zone=public --add-port=80/tcp --permanent (--permanent永久生效,没有此参数重启后失效) 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 ### 二、还原传统的管理方式 关闭防火墙 ```php systemctl stop firewalld systemctl mask firewalld ``` 并且安装iptables-services: ```php yum install iptables-services ``` 设置开机启动: ```php systemctl enable iptables //其他设置 systemctl stop iptables systemctl start iptables systemctl restart iptables systemctl reload iptables ``` 保存设置 ```php service iptables save ``` 开放某个端口 在/etc/sysconfig/iptables里添加 ```php -A RH-Firewall-1-INPUT -m state --state NEW -m tcp -p tcp --dport 8080 -j ACCEPT ``` 具体使用哪种方式看你选择了! 【参考】 [解决CentOS7关闭/开启防火墙出现Unit iptables.service failed to load: No such file or directory.](https://blog.csdn.net/c233728461/article/details/52679558) 未经允许不得转载:张浩博客 » 开启iptables-service,查看、增加、删除防火墙端口
评论前必须登录!
立即登录 注册