1. 前言

Linux软件防火墙用于审查与过滤网络数据报文,按规则拒绝或接受处理数据报文。一般情况,不建议直接关闭,而是精准控制流量的许可。关闭防火墙将会面临全面的安全威胁。CentOS 6使用iptables作为防火墙,CentOS 7使用firewalld作为防火墙。本文主要介绍CentOS 7防火墙firewalld的常用配置方式。

2. CentOS 7 关闭防火墙

CentOS 7关闭防火墙运行:

[root@zcwyou ~]# systemctl stop firewalld.service




关闭容器中的防火墙 关闭防火墙有危害吗_centos7 关闭防火墙的指令


CentOS 7关闭防火墙

CentOS 7禁止防火墙开机自动运行:

[root@zcwyou ~]# systemctl disable firewalld.service


关闭容器中的防火墙 关闭防火墙有危害吗_centos7 关闭防火墙的指令_02


CentOS 7禁止防火墙开机自动运行

不建议直接关闭防火墙,强烈建议开启防火墙并按需精准控制流量。

3. 按需精准控制流量

我们先来认识一些常用的协议与对应的端口号。

DNS:用于域名解析。协议和端口号分别为,TCP 53 与UDP 53

HTTP:网页服务,一般的网页都是http协议。端口号为TCP 80

HTTPS:SSL加密的网站。端口号为TCP 443。

FTP:控制端口号,TCP 21。数据端口TCP 20。

SSH:TCP,22

Telnet:TCP,23

mysql的默认端口是TCP 3306

3.1 CentOS 7 设置防火墙

3.1.1 临时允许443/TCP端口,立即生效

[root@zcwyou ~]# firewall-cmd --add-port=443/tcp

3.1.2 永久允许443/TCP端口,重启防火墙后生效

[root@zcwyou ~]# firewall-cmd --permanent --add-port=443/tcp

3.1.3 永久允许3690/TCP端口,重启防火墙后生效

[root@zcwyou ~]# firewall-cmd --permanent --add-port=3690/tcp

永久打开端口需要reload一下,如果用了reload临时打开的端口就失效了

[root@zcwyou ~]# firewall-cmd --reload


关闭容器中的防火墙 关闭防火墙有危害吗_centos7 关闭防火墙的指令_03


centos 7重启防火墙

3.1.4 查看防火墙所有区域的设置,包括添加的端口和服务

[root@zcwyou ~]# firewall-cmd --list-all


关闭容器中的防火墙 关闭防火墙有危害吗_centos7 关闭防火墙的指令_04


centos 7查看防火墙所有区域的设置

3.1.5 允许外界访问本机mysql默认端口3306

[root@zcwyou ~]# firewall-cmd --add-port=3306/tcp

注意:这只是临时生效,请看本文最后说明。

3.1.6 阻止外界连接本机TCP 80端口

[root@zcwyou ~]# firewall-cmd --remove-port=80/tcp

注意:如果想永久生效,必须在命令里添加--permanent参数。表示永久生效。如果不添加,只能表示临时生效。防火墙重新加载配置的命令为firewall-cmd --reload


关闭容器中的防火墙 关闭防火墙有危害吗_centos7 关闭防火墙的指令_05