一月 13, 2026指南
如何在 Linux 服务器上配置防火墙
配置 UFW (Ubuntu) 和 Firewalld (CentOS) 防火墙以保护服务器安全的完整指南。

防火墙对于服务器安全至关重要,它控制传入和传出的网络流量。本指南涵盖了在 Ubuntu/Debian 上配置 UFW 以及在 CentOS/RHEL 系统上配置 Firewalld 的方法。
安装 UFW
bash
sudo apt update
sudo apt install ufw -yUFW 基本命令
bash
# 检查状态
sudo ufw status
# 启用防火墙
sudo ufw enable
# 允许 SSH(重要!)
sudo ufw allow 22/tcp
# 允许 HTTP 和 HTTPS
sudo ufw allow 80/tcp
sudo ufw allow 443/tcp
# 拒绝某个端口
sudo ufw deny 3306/tcp
# 删除一条规则
sudo ufw delete allow 80/tcp使用应用程序配置文件
bash
# 列出可用的应用程序
sudo ufw app list
# 允许 Nginx
sudo ufw allow 'Nginx Full'
# 允许 OpenSSH
sudo ufw allow 'OpenSSH'安装 Firewalld
bash
sudo yum install firewalld -y
sudo systemctl start firewalld
sudo systemctl enable firewalldFirewalld 基本命令
bash
# 检查状态
sudo firewall-cmd --state
# 列出所有规则
sudo firewall-cmd --list-all
# 允许某项服务
sudo firewall-cmd --permanent --add-service=http
sudo firewall-cmd --permanent --add-service=https
sudo firewall-cmd --reload
# 允许某个端口
sudo firewall-cmd --permanent --add-port=8080/tcp
sudo firewall-cmd --reload使用区域 (Zones)
Firewalld 使用区域来管理网络安全。常用区域:
bash
# 列出所有区域
sudo firewall-cmd --get-zones
# 设置默认区域
sudo firewall-cmd --set-default-zone=public
# 向区域添加服务
sudo firewall-cmd --zone=public --add-service=ssh --permanent
sudo firewall-cmd --reload安全最佳实践
- 在启用防火墙之前务必先允许 SSH,以免把自己锁在外面
- 尽可能使用特定 IP 地址:sudo ufw allow from 192.168.1.100
- 定期检查防火墙规则并删除不使用的规则
- 启用日志记录以监控防火墙活动
- 在应用于生产环境之前测试防火墙规则