【帮助中心】Linux firewalld 防火墙教程,开放 / 关闭端口,保障云服务器安全

2026-10-14 04:40:30丨 发布者:云天域--技术

使用 Linux 云服务器搭建网站、部署项目,服务器安全非常重要。firewalld 是 CentOS7 及以上系统默认的防火墙服务,可以控制端口访问,防止恶意 IP 扫描和攻击。如果网站外部无法访问,很多情况是防火墙端口没有放行。

一、基础操作命令

# 查看firewalld运行状态
systemctl status firewalld

# 启动防火墙
systemctl start firewalld

# 开机自动启动防火墙
systemctl enable firewalld

# 关闭防火墙
systemctl stop firewalld

# 开机禁用防火墙(不推荐生产环境使用)
systemctl disable firewalld

二、查看当前防火墙放行端口

# 查看所有永久生效规则
firewall-cmd --list-all

三、放行端口(网站常用 80、443 端口)

# 永久放行80端口(http网站端口)
firewall-cmd --permanent --add-port=80/tcp

# 永久放行443端口(https网站端口)
firewall-cmd --permanent --add-port=443/tcp

# 放行自定义端口,例如8080
firewall-cmd --permanent --add-port=8080/tcp
添加--permanent代表永久生效;添加规则后,必须重载防火墙
# 重载防火墙,让规则生效
firewall-cmd --reload

四、删除端口规则

如果不再使用某个端口,可以移除放行规则:

firewall-cmd --permanent --remove-port=8080/tcp
# 重载生效
firewall-cmd --reload

五、允许 / 拒绝服务快捷方式

firewalld 支持直接放行服务名称,不用手动写端口

# 永久放行http服务(对应80端口)
firewall-cmd --permanent --add-service=http
# 永久放行https服务(对应443端口)
firewall-cmd --permanent --add-service=https
firewall-cmd --reload

六、新手常见问题

  1. 端口放行后仍然访问不到:除系统防火墙外,还要检查云服务器控制台的安全组策略
  2. 区分 tcp 和 udp,网站网页访问都是 tcp 协议
  3. 生产环境不要直接关闭防火墙,只开放业务必要端口
  4. 每次修改永久规则,必须执行 firewall-cmd --reload 重载

总结

firewalld 用来管控服务器端口访问,搭建网站一定要放行 80 和 443 端口。云服务器防护需要防火墙 + 平台安全组双重配置,不要为了省事直接关闭防火墙,避免服务器遭受网络攻击。