以下是Ubuntu防火墙(UFW)的故障排查步骤:
-
检查防火墙状态
sudo ufw status sudo ufw status verbose # 查看详细规则- 若显示
Status: inactive,需启用防火墙:sudo ufw enable。
- 若显示
-
验证规则配置
- 查看已添加规则:
sudo ufw show added或sudo ufw status numbered。 - 确保规则允许必要端口(如SSH 22、HTTP 80):
sudo ufw allow <端口/协议>。 - 检查默认策略:
sudo ufw default deny incoming(默认拒绝入站,需手动放行规则)。
- 查看已添加规则:
-
排查服务与端口
- 确认服务是否运行:
sudo systemctl status <服务名>(如ssh、nginx)。 - 查看端口监听状态:
sudo netstat -tuln或sudo ss -tuln。
- 确认服务是否运行:
-
检查日志与错误信息
- 启用并查看UFW日志:
sudo ufw logging on sudo tail -f /var/log/ufw.log # 实时查看日志 - 分析被拒绝的连接记录(如
REJECT或DROP)。
- 启用并查看UFW日志:
-
临时禁用防火墙测试
sudo ufw disable # 临时关闭防火墙,确认是否因规则导致问题- 测试后重新启用:
sudo ufw enable,并优化规则。
- 测试后重新启用:
-
处理规则冲突或服务异常
- 删除冲突规则:
sudo ufw delete <规则编号>。 - 重启UFW使配置生效:
sudo ufw reload。
- 删除冲突规则:
注意:操作前备份规则文件(/etc/ufw/),避免误删关键配置。若问题仍未解决,可结合系统日志(/var/log/syslog)进一步分析。