CentOS防火墙管理及配置
防火墙配置介绍
firewalld为防火墙服务名称,centos7以前是使用iptables
firewall-cmd:防火墙配置命令行工具
/etc/firewalld/:防火墙相关配置文件目录
防火墙服务管理
bash
# 查看防火墙状态
firewall-cmd --state
# 查看防火墙的状态
systemctl status firewalld
# 开启防火墙
systemctl start firewalld
# 关闭防火墙
systemctl stop firewalld
# 开机启用防火墙
systemctl enable firewalld
# 开机禁用防火墙
systemctl disable firewalld
防火墙配置
所有防火墙配置使用firewall-cmd
命令来设置
- 开放防火墙端口
bash
# 开放8080端口
#---zone 作用域
#---add-port=80/tcp 添加端口,格式为:端口号/通讯协议
#--permanent 标志用于使更改永久生效,如果不使用,更改将在下次重启后失效。
firewall-cmd --zone=public --add-port=8080/tcp --permanent
# 允许防火墙开放一段端口,例如:开放50000至60000之间的所有端口
firewall-cmd --zone=public --add-port=50000-60000/tcp --permanent
- 关闭防火墙端口
bash
# 关闭8080端口
# 删除端口映射(例如删除 TCP 8080 端口):
firewall-cmd --zone=public --remove-port=8080/tcp --permanent
- 查看防火墙当前已开放端口
bash
# 查看当前防火墙已开放端口
firewall-cmd --zone=public --list-ports
# 查看防火墙对某个端口是否开放
# firewall-cmd --query-port=端口号/tcp
firewall-cmd --query-port=3306/tcp
重载防火墙
防火墙配置修改以后,必须重载防火墙配置以使更改生效(无论是添加还是移除,都需要重启一遍防火墙才能生效)
bash
# 重载防火墙配置命令
firewall-cmd --reload
端口查看
bash
# 检查端口被哪个进程占用:netstat -lnp|grep 端口号
netstat -lnp|grep 80
# 查看被监听(Listen)的端口
netstat -lntp
注意:
如果是云服务器(例:阿里云、腾讯云、华为云等),服务器在防火墙开放端口的同时还需在云服务中控台配置安全组开放相关端口,才能使最终链路打通链接。