Centos7,配置防火墙,开启端口

1.Centos7版本对防火墙进行 加强,不再使用原来的iptables,启用firewall

1.查看已开放的端口(默认不开放任何端口)
firewall-cmd --list-ports
2.开启80端口
firewall-cmd --zone=public(作用域) --add-port=80/tcp(端口和访问类型) --permanent(永久生效)
示例: firewall-cmd --zone=public --add-port=80/tcp --permanent
3.重启防火墙
firewall-cmd --reload
4.停止防火墙
systemctl stop firewalld.service
5.禁止防火墙开机启动
systemctl disable firewalld.service
6.删除
firewall-cmd --zone=public --remove-port=80/tcp --permanent

2,Centos 7 设置防火墙 出现 “FirewallD is not running” 原因与解决方法

解决方法

关于linux系统防火墙:

  • centos5、centos6、redhat6系统自带的是iptables防火墙。
  • centos7、redhat7自带firewall防火墙。
  • ubuntu系统使用的是ufw防火墙。

防火墙导致服务不正常的问题:

在服务器安装某些服务之后,服务无法连接、无法正常启动等情况。查看下系统防火墙有没开放相关的服务端口。(linux系统防火墙开放相关端口后还要重启防火墙,重启防火墙后防火墙规则才会生效)。

以我的 centos7 为例,具体解决方法如下:

1、启动FirewallD服务命令:

systemctl start firewalld.service #开启服务
systemctl enable firewalld.service #设置开机启动

2、查看FirewallD防火墙状态

systemctl status firewalld

3、现在防火墙 FirewallD 就已经正常运行了。

FirewallD 常用的命令:

firewall-cmd --state ##查看防火墙状态,是否是running

systemctl status firewalld.service ##查看防火墙状态

systemctl start firewalld.service ##启动防火墙

systemctl stop firewalld.service ##临时关闭防火墙

systemctl enable firewalld.service ##设置开机启动防火墙

systemctl disable firewalld.service ##设置禁止开机启动防火墙

firewall-cmd --permanent --query-port=80/tcp ##查看80端口有没开放

firewall-cmd --reload ##重新载入配置,比如添加规则之后,需要执行此命令

firewall-cmd --get-zones ##列出支持的zone

firewall-cmd --get-services ##列出预定义的服务

firewall-cmd --query-service ftp ##查看ftp服务是否放行,返回yes或者no

firewall-cmd --add-service=ftp ##临时开放ftp服务

firewall-cmd --add-service=ftp --permanent ##永久开放ftp服务

firewall-cmd --remove-service=ftp --permanent ##永久移除ftp服务

firewall-cmd --add-port=80/tcp --permanent ##永久添加80端口

firewall-cmd --zone=public --remove-port=80/tcp --permanent ##移除80端口

iptables -L -n ##查看规则,这个命令是和iptables的相同的

man firewall-cmd ##查看帮助