一、检查安全组规则
登录阿里云控制台,进入ECS实例的安全组配置页面,确认目标端口(如22/80/443)是否已添加允许入站流量的规则。特别注意源IP范围是否设置为0.0.0.0/0(允许所有访问)或特定IP段。
常见错误包括:
- 协议类型选择错误(如TCP/UDP未区分)
- 端口范围填写不规范(单端口需用”80/80″,连续端口用”8000/9000″)
- 优先级较高的拒绝规则覆盖允许规则
二、验证系统防火墙状态
通过SSH连接到服务器后,执行以下命令:
- 查看防火墙运行状态:
systemctl status firewalld
(Firewalld)或service iptables status
(iptables) - 检查已开放端口:
firewall-cmd --list-ports
或iptables -L -n -v
- 临时关闭防火墙测试:
systemctl stop firewalld
(需谨慎操作)
三、排查服务监听状态
使用netstat -tuln
或ss -tuln
命令验证服务是否在指定端口监听,特别注意:
- 监听地址是否为0.0.0.0(外网可访问)而非127.0.0.1
- 确认服务进程已正常启动:
systemctl status nginx
等 - 测试本地访问:
curl http://localhost:80
四、分析规则冲突与顺序
防火墙规则遵循从上到下匹配原则,需重点检查:
- 是否存在默认拒绝策略(如INPUT链的DROP规则)未配置例外
- 放行规则是否被高优先级的拒绝规则覆盖
- NAT规则与过滤规则的执行顺序冲突
五、查看防火墙日志
通过以下方式获取诊断信息:
- Firewalld日志:
journalctl -u firewalld
- iptables日志:需预先添加LOG规则
- 阿里云安全组流量日志:控制台-云监控-流量审计
防火墙设置失败需从云平台安全组、操作系统防火墙、服务配置三个层面逐层排查。建议先通过临时禁用防火墙定位问题层级,再针对性修正配置。复杂网络环境建议使用流量审计工具辅助诊断。