1. 前言
Linux软件防火墙用于审查与过滤网络数据报文,按规则拒绝或接受处理数据报文。一般情况,不建议直接关闭,而是精准控制流量的许可。关闭防火墙将会面临全面的安全威胁。CentOS 6使用iptables作为防火墙,CentOS 7使用firewalld作为防火墙。本文主要介绍CentOS 7防火墙firewalld的常用配置方式。
2. CentOS 7 关闭防火墙
CentOS 7关闭防火墙运行:
[root@zcwyou ~]# systemctl stop firewalld.service
CentOS 7关闭防火墙
CentOS 7禁止防火墙开机自动运行:
[root@zcwyou ~]# systemctl disable firewalld.service
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
centos 7重启防火墙
3.1.4 查看防火墙所有区域的设置,包括添加的端口和服务
[root@zcwyou ~]# firewall-cmd --list-all
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