如何在 Ubuntu 22.04 上配置 VPS 防火墙安全组

文章导读
Ubuntu 22.04 默认使用 UFW 管理防火墙,配置 VPS 安全组需同时在云服务商控制台放行端口并在系统内启用 UFW 规则,操作前务必确认 SSH 端口已放行以防失联。
📋 目录
  1. A 命令速用版
  2. B 为什么会这样
  3. C 分步处理
  4. D 怎么验证是否生效
  5. E 常见坑
  6. F 常见问题
  7. G 参考来源
A A

Ubuntu 22.04 默认使用 UFW 管理防火墙,配置 VPS 安全组需同时在云服务商控制台放行端口并在系统内启用 UFW 规则,操作前务必确认 SSH 端口已放行以防失联。

先说结论:Ubuntu 22.04 防火墙配置核心是 UFW 工具,需配合云厂商安全组双重防护,优先保障 SSH 连通性再限制其他端口。

  • 适合:使用 Ubuntu 22.04 系统的 VPS 实例,需要基础网络访问控制场景
  • 先准备:确认当前 SSH 端口号,保留云控制台远程终端访问权限
  • 验收:执行 ufw status 显示 active 且关键端口状态为 ALLOW

命令速用版

# 允许 SSH 连接(防止锁死)
sudo ufw allow 22/tcp
# 启用防火墙
sudo ufw enable
# 查看状态
sudo ufw status
# 允许特定端口(如 Web)
sudo ufw allow 80/tcp

为什么会这样

VPS 网络安全依赖云厂商安全组与系统防火墙两层防御,仅配置一层可能导致规则被绕过或管理混乱。

云服务商的安全组工作在 hypervisor 网络层,流量到达实例前已被过滤;UFW 工作在操作系统内核 netfilter 层,控制实例内部进出流量。两层配置一致可避免单点失效,例如云安全组放行但系统防火墙拦截会导致服务不可达,反之则存在暴露风险。

分步处理

步骤 1:确认 SSH 端口并放行
检查 SSH 配置端口,默认为 22,若修改过需记录实际端口号。
执行命令:sudo ufw allow 22/tcp(若修改过端口则替换数字)。
检查点:命令返回 Rules updated 类似提示。

如何在 Ubuntu 22.04 上配置 VPS 防火墙安全组

步骤 2:启用 UFW 防火墙
执行命令:sudo ufw enable
系统会提示 Command may disrupt existing ssh connections,输入 y 确认。
风险边界:若 SSH 端口未放行,执行此命令会导致远程连接中断。

步骤 3:配置云厂商安全组
登录云服务商控制台,找到实例对应的安全组或防火墙设置。
添加入站规则,协议 TCP,端口范围与 UFW 允许端口一致,源地址按需限制(如 0.0.0.0/0 或特定 IP)。
操作动作:保存规则并应用到实例。

步骤 4:放行其他业务端口
根据业务需要开放 80、443 等端口。
执行命令:sudo ufw allow 80/tcp
回滚提醒:若配置错误,可通过云控制台 VNC 或救援模式进入系统执行sudo ufw disable恢复。

如何在 Ubuntu 22.04 上配置 VPS 防火墙安全组

怎么验证是否生效

使用状态查询命令与外部连通性测试结合验证。

1. 本地状态检查:执行sudo ufw status verbose,确认 Status: active 且默认策略为 deny (incoming)。
2. 端口监听检查:执行ss -tuln,确认业务端口处于 LISTEN 状态。
3. 外部连通性测试:使用本地终端执行telnet 你的 VPS IP 端口或使用在线端口扫描工具,确认放行端口通、未放行端口断。

常见坑

1. SSH 端口未放行即启用:这是最高频故障,务必先 allow 22 再 enable。
2. IPv6 配置遗漏:UFW 默认可能同时管理 IPv6,若云厂商不支持 IPv6 需在/etc/default/ufw中设置 IPV6=no。
3. 默认策略未修改:启用后默认入站是 deny,若需开放新服务必须显式 allow,不要依赖默认允许。

常见问题

如何重置 UFW 配置?

执行sudo ufw reset可清除所有规则并禁用防火墙,需重新配置。

如何在 Ubuntu 22.04 上配置 VPS 防火墙安全组

UFW 日志在哪里查看?

默认日志位于/var/log/ufw.log,可使用sudo tail -f /var/log/ufw.log实时查看拦截记录。

云安全组和 UFW 哪个优先级高?

云安全组优先级更高,流量先经过云安全组过滤,到达实例后再经 UFW 处理,任一层面拦截都会导致连接失败。

参考来源

Ubuntu 官方文档 - Firewall configuration with UFW
URL: https://ubuntu.com/server/docs/firewall-u-fw