本文主要针对centos7和8,6不再此介绍
官方针对防火墙介绍如下:
centos7之上默认使用firewalld作为防火墙
防火墙命令
检查是否安装防火墙
1
yum install firewalld firewall-config
查看防火墙状态
1
2
3
4
5
6
7
8
9
firewall-cmd --state
结果:running 和not running
systemctl status firewalld
结果:
firewalld.service - firewalld - dynamic firewall daemon
Loaded: loaded (/usr/lib/systemd/system/firewalld.service; enabled)
Active: active (running) since Sat 2013-04-06 22:56:59 CEST; 2 days ago
Main PID: 688 (firewalld)
CGroup: name=systemd:/system/firewalld.service
禁用防火墙
1
2
systemctl stop firewalld
systemctl disable firewalld
开机启动防火墙
1
systemctl enable firewalld
针对安全加固SELinux关闭
1
2
sed -i 's/enforcing/disabled/' /etc/selinux/config
setenforce 0
允许为permissive
恢复安全加固setenforce 1
配置防火墙放行规则
配置防火墙放行规则
1
2
firewall-cmd --add-port=80/tcp --permanent
firewall-cmd --add-port=443/tcp --permanent
这里放行了80端口和443端口,用于web服务器,并且支持https必须要开启443端口。
--permanent
参数表示该条规则永久生效
如果你想放行的端口号是连贯的,也可以直接指定范围,例如:
1
firewall-cmd --add-port=8080-8888/tcp --permanent
如果配置错了,还可以取消:
1
2
3
firewall-cmd --remove-port=80/tcp --permanent
firewall-cmd --remove-port=443/tcp --permanent
firewall-cmd --remove-port=8080-8888/tcp --permanent
当我们添加或移除防火墙规则后,需重新加载才能生效,使用--reload
参数:
1
firewall-cmd --reload
配置好后我们可以通过--list-all
参数查看防火墙规则:
1
firewall-cmd --list-all