Ubuntu服务器默认的UFW防火墙配置是禁用状态,因此所有端口(包括SSH、HTTP、HTTPS)在初始状态下都是开放的。
不过,当你首次启用UFW时,它会应用一组默认规则:
默认规则行为:
- 入站流量:默认拒绝所有(
deny (incoming)) - 出站流量:默认允许所有(
allow (outgoing))
这意味着如果你直接运行 sudo ufw enable 而不添加任何规则,SSH(22端口)、HTTP(80端口)、HTTPS(443端口)都会被阻止,导致你无法远程连接。
正确配置步骤:
# 1. 首先允许SSH(避免锁死自己)
sudo ufw allow ssh
# 或指定端口:sudo ufw allow 22/tcp
# 2. 允许HTTP/HTTPS(如果需要)
sudo ufw allow http
sudo ufw allow https
# 或:sudo ufw allow 80,443/tcp
# 3. 启用UFW
sudo ufw enable
# 4. 查看状态
sudo ufw status verbose
检查当前状态:
# 查看UFW是否激活
sudo ufw status
# 查看详细规则
sudo ufw status numbered
注意事项:
- 如果通过云服务(AWS、Azure等)或物理防火墙,还需检查其安全组/防火墙设置。
- 某些Ubuntu版本或云镜像可能预配置了SSH允许规则。
- 如果误锁自己,可通过恢复模式或物理控制台禁用UFW:
sudo ufw disable
建议在启用UFW前,始终先添加SSH允许规则,并确认当前连接不会中断。
CLOUD技术笔记