UFW 防火墙使用手册
1297 字
6 分钟
UFW 防火墙使用手册
UFW(Uncomplicated Firewall)是 Ubuntu/Debian 系统自带的简化版 iptables 防火墙管理工具,易用且功能强大。
目录
1. 基本状态查看
# 查看防火墙状态(是否启用、已开放端口)sudo ufw status
# 查看详细状态(含编号、动作、来源等)sudo ufw status verbose
# 查看带编号的规则列表(方便删除指定规则)sudo ufw status numbered
# 查看防火墙版本ufw --version2. 启用与禁用
# 启用防火墙(首次启用会提示可能断开 SSH,确认已放行 22 端口再执行)sudo ufw enable
# 禁用防火墙(完全关闭,所有规则失效但保留)sudo ufw disable
# 重置防火墙(清空所有规则并禁用,谨慎使用)sudo ufw resetWARNING
sudo ufw reset 会清空所有规则并禁用防火墙,执行前请确认你还有其他方式可以连接服务器(如 VNC/控制台)。
3. 端口管理
# 开放指定端口(TCP 默认)sudo ufw allow 22
sudo ufw allow 80
sudo ufw allow 443
sudo ufw allow 8080
# 开放指定端口并指定协议sudo ufw allow 22/tcp
sudo ufw allow 53/udp
# 开放端口范围sudo ufw allow 1000:2000/tcp
sudo ufw allow 1000:2000/udp
# 关闭(拒绝)指定端口sudo ufw deny 3306
sudo ufw deny 6379/tcp
# 删除某条开放端口的规则sudo ufw delete allow 8080
# 通过编号删除规则(先用 status numbered 查看编号)sudo ufw status numbered
sudo ufw delete 34. IP 白名单与黑名单
# 允许单个 IP 访问所有端口(全局白名单)sudo ufw allow from 192.168.1.100
# 允许单个 IP 访问指定端口sudo ufw allow from 192.168.1.100 to any port 22
sudo ufw allow from 192.168.1.100 to any port 3306
# 允许 IP 段访问(CIDR 格式)sudo ufw allow from 192.168.1.0/24
sudo ufw allow from 10.0.0.0/8 to any port 22
# 允许特定 IP 和端口组合sudo ufw allow from 203.0.113.0/24 to any port 8080 proto tcp
# 拒绝单个 IP(黑名单)sudo ufw deny from 192.168.1.200
# 拒绝 IP 段sudo ufw deny from 10.10.10.0/24
# 删除某条 IP 规则sudo ufw delete allow from 192.168.1.1005. 默认策略
# 默认拒绝所有传入连接(推荐,安全模式)sudo ufw default deny incoming
# 默认允许所有传出连接(推荐)sudo ufw default allow outgoing
# 默认允许所有传入(不推荐,除非在内网测试)sudo ufw default allow incoming
# 默认拒绝所有传出(极端安全,可能断网)sudo ufw default deny outgoing6. 应用配置文件
# 查看系统预置的应用配置列表sudo ufw app list
# 查看某个应用具体会开放哪些端口sudo ufw app info 'Nginx Full'
sudo ufw app info 'OpenSSH'
# 通过应用名放行(比记端口号更方便)sudo ufw allow 'OpenSSH'
sudo ufw allow 'Nginx Full'
sudo ufw allow 'Apache'
sudo ufw allow 'MySQL'
# 删除应用规则sudo ufw delete allow 'Nginx Full'7. 接口级别的规则
# 仅允许从指定网卡进入的流量sudo ufw allow in on eth0 to any port 80
sudo ufw allow in on eth0 to any port 443
# 拒绝某网卡的所有传入sudo ufw deny in on eth1
# 查看网卡名称ip addr8. 日志管理
# 启用日志(记录被拦截/放行的连接)sudo ufw logging on
# 禁用日志sudo ufw logging off
# 设置日志级别sudo ufw logging low # 低:只记录被拦截的
sudo ufw logging medium # 中:记录被拦截和放行的
sudo ufw logging high # 高:记录所有,包括速率限制
sudo ufw logging full # 完整:记录所有包
# 查看 UFW 日志sudo tail -f /var/log/ufw.log9. 速率限制
# 限制 SSH 连接速率(30 秒内超过 6 次连接会被临时封禁)sudo ufw limit 22/tcp
sudo ufw limit ssh
# 限制其他端口速率sudo ufw limit 8080/tcp10. 规则优先级与插入
# UFW 规则按添加顺序匹配,先匹配的先执行# 建议顺序:白名单 > 正常端口 > 拒绝所有
# 在指定位置插入规则(例如在规则 #1 之前插入)sudo ufw insert 1 allow from 192.168.1.10011. 完整配置示例(Web 服务器场景)
# 1. 重置并设置默认策略sudo ufw reset
sudo ufw default deny incoming
sudo ufw default allow outgoing
# 2. 先放行 SSH(防止把自己锁在外面)sudo ufw allow 22/tcp# 或 sudo ufw allow 'OpenSSH'
# 3. 放行 Web 端口sudo ufw allow 80/tcp
sudo ufw allow 443/tcp
# 4. 放行 1Panel 端口(如果需要)sudo ufw allow 42544/tcp
# 5. 添加管理员 IP 白名单(可选)sudo ufw allow from 203.0.113.50 to any port 22
# 6. 启用防火墙sudo ufw enable
# 7. 查看最终规则sudo ufw status verbose12. 常见问题排查
# 规则不生效?sudo ufw reload
# 检查 iptables 底层规则(UFW 的底层)sudo iptables -L -n -v | grep ufw
# 查看某端口是否被监听sudo ss -tunlp | grep :80
# 测试端口连通性(从其他机器)nc -zv 你的IP 80CAUTION
如果启用 UFW 后 SSH 连不上,在服务器控制台/VNC 执行 sudo ufw disable 或 sudo ufw allow 22/tcp 恢复。
文档版本: 2026-07-30
本地阅读版下载
支持与分享
如果这篇文章对你有帮助,欢迎分享给更多人或打赏支持!
相关文章智能推荐
1
SSH 完整配置指南(Debian / Ubuntu)
运维教程面向新手的 SSH 完整配置教程,涵盖创建用户、修改端口、密钥登录、防火墙配置、故障排查及用户删除,适用于 Debian / Ubuntu 服务器。
2
Linux 账号切换使用手册
运维教程Linux 用户创建、账号切换、sudo 权限配置及 SSH 多用户登录的完整操作手册。
3
1Panel 安装教程(Debian 12)
运维教程Debian 12 下 1Panel 面板的完整安装教程,涵盖 Docker 官方源/第三方安装、镜像加速配置、防火墙放行、IP 白名单及安全加固。
4
Linux ACL 访问控制列表完整使用指南
运维教程Linux ACL 从入门到实战,涵盖安装、授权、查看、删除及恢复默认权限的完整操作指南。
5
PM2 使用教程(Node.js 进程守护工具)
运维教程PM2 完整使用指南,涵盖安装、启动配置、进程管理、日志管理、集群模式、开机自启及常见问题排查。
随机文章随机推荐













