开启iptables-service,查看、增加、删除防火墙端口

发现问题

新在百度云上买台服务器,配置防火墙,开启端口的时候发现无法查看当前防火墙状态。
运行环境是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=] --add-port=[-]/ [–timeout=]
此举将启用端口和协议的组合。端口可以是一个单独的端口 或者是一个端口范围 - 。协议可以是 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

二、还原传统的管理方式

关闭防火墙

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里添加

-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.

你可能感兴趣的:(服务器)