UFW全称Uncomplicated Firewall,是Ubuntu等Linux发行版中默认的防火墙配置工具,操作逻辑比原生iptables更简洁。很多用户使用宝塔面板管理服务器时,希望借助面板的可视化能力完成UFW的配置,避免直接操作命令行出现失误。以下将完整介绍通过宝塔面板配置UFW防火墙的具体步骤和相关注意事项。

前置条件检查
在开始配置之前,需要先确认服务器环境满足要求:
- 服务器系统为Ubuntu 16.04及以上版本,或Debian 9及以上版本,这些系统默认支持UFW组件
- 已安装最新版宝塔面板,且面板运行正常,拥有服务器root权限
- 服务器未安装其他冲突的防火墙工具,比如firewalld,若已安装需要先停止并卸载
在宝塔面板中启用UFW防火墙
宝塔面板本身没有直接集成UFW的配置入口,需要先通过面板安装UFW组件,再借助面板的终端功能完成基础配置:
安装UFW组件
登录宝塔面板后,进入软件商店页面,搜索UFW防火墙,如果没有找到对应软件,可以进入终端页面,执行以下命令安装UFW:
# 更新软件源 apt update # 安装UFW apt install ufw -y
启用UFW并设置默认规则
安装完成后,在宝塔终端中执行以下命令启用UFW,并设置默认规则:
# 设置默认规则:拒绝所有入站连接,允许所有出站连接 ufw default deny incoming ufw default allow outgoing # 启用UFW,执行后会提示是否继续,输入y回车 ufw enable
启用后可以通过ufw status verbose命令查看UFW的运行状态,正常会显示Status: active。
通过宝塔面板配置UFW规则
UFW的端口、IP规则配置依然需要通过命令行完成,但可以通过宝塔面板的安全页面做辅助校验,避免规则冲突:
放行指定端口
如果需要放行网站常用的80、443端口,或者SSH的22端口,可以在宝塔终端执行以下命令:
# 放行80端口(HTTP) ufw allow 80/tcp # 放行443端口(HTTPS) ufw allow 443/tcp # 放行22端口(SSH,建议修改为非默认端口后再放行) ufw allow 22/tcp
规则添加完成后,可以进入宝塔面板的安全页面,查看端口列表中是否已经出现对应端口的放行记录,确认规则生效。
屏蔽指定IP
如果遇到恶意访问的IP,需要屏蔽该IP的所有访问请求,可以执行以下命令:
# 屏蔽单个IP ufw deny from 192.168.0.1 # 屏蔽IP段 ufw deny from 192.168.0.0/24
删除已有规则
如果需要删除已经添加的规则,可以先查看规则编号,再执行删除命令:
# 查看所有规则及对应编号 ufw status numbered # 删除编号为1的规则,替换1为实际要删除的规则编号 ufw delete 1
常见配置场景示例
以下是两个常见的UFW配置场景,可直接参考使用:
| 场景 | 配置命令 | 说明 |
|---|---|---|
| 仅允许指定IP访问SSH端口 | ufw allow from 127.0.0.1 to any port 22 | 替换127.0.0.1为你的管理IP,避免SSH端口被暴力破解 |
| 放行FTP被动模式端口范围 | ufw allow 39000:40000/tcp | 宝塔面板默认FTP被动端口为39000-40000,需要手动放行 |
注意事项
- 修改UFW规则前建议先备份当前规则,避免误操作导致无法远程连接服务器
- 如果修改了SSH默认端口,需要先放行新端口再关闭旧端口的放行规则,防止断开连接
- 宝塔面板自带的防火墙功能和UFW是独立的两套规则,建议只使用其中一套,避免出现规则冲突
- 每次修改UFW规则后,不需要重启服务,规则会立即生效