最新下载
热门教程
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
Linux 服务器防火墙如何使用 UFW 进行基础规则配置
时间:2026-08-31 20:04:47 编辑:袖梨 来源:一聚教程网
UFW配置核心是“先保连接、再设策略、最后启用”:先确认状态并清理干扰,优先放行SSH(如sudo ufw allow 22/tcp),再设默认策略(deny incoming/allow outgoing),最后启用;删规则必须用编号,避免误操作。
UFW 是 Ubuntu 和 Debian 系统上最实用的防火墙工具,配置简单但顺序和细节决定成败。核心不是“怎么加规则”,而是“先保连接、再设策略、最后启用”——错一步就可能被锁在服务器外。
确认状态并清理干扰
别急着 enable。先运行 sudo ufw status,如果显示 Status: inactive,说明防火墙根本没在工作,所有端口天然放行。此时要检查是否有其他防火墙在运行:
- 执行 sudo iptables -L 和 sudo nft list ruleset,若有输出,需先停用对应服务(如 sudo systemctl stop iptables)
- 再用 sudo ufw status verbose 查看默认策略、已加载规则和日志开关,这是排查问题的第一手信息
优先放行 SSH,保住远程入口
这是生死线。没这步就启用,SSH 连接会立刻中断:
- 标准 22 端口:用 sudo ufw allow 22/tcp(比 ufw allow ssh 更可靠,不依赖 /etc/services 配置)
- 若改过端口(如 2222),必须写明协议:sudo ufw allow 2222/tcp;只写 2222 会同时打开 TCP/UDP,增加风险
- Web 服务建议用端口号写法:sudo ufw allow 80/tcp 和 sudo ufw allow 443/tcp,避免 http/https 别名因配置缺失失效
- 数据库等敏感服务,只允本地访问:sudo ufw allow from 127.0.0.1 to any port 3306
设置默认策略并启用防火墙
默认策略是安全基线,必须在放行 SSH 后执行:
- sudo ufw default deny incoming:所有入站流量默认拒绝
- sudo ufw default allow outgoing:出站流量默认放行,不影响服务器主动请求(如 apt 更新、API 调用)
- 执行 sudo ufw enable 启用后,终端会提示 Firewall is active and enabled on system startup
- 立即验证:sudo ufw status numbered,确保 SSH 规则排在第一位且状态为 ALLOW IN
删规则必须靠编号,不能靠猜测
UFW 把 allow 80 和 allow 80/tcp 当作两条独立规则,用 sudo ufw delete allow 80 可能删错:
- 先运行 sudo ufw status numbered,获取带编号的完整列表
- 再按编号删除,例如删第 3 条:sudo ufw delete 3
- 若已锁机无法远程,只能进控制台执行 sudo ufw reset 清空重来