已添加入站ICMP规则仍无法PING通AWS私有子网EC2实例求解决方案
排查思路与解决方案
核心问题定位
你遇到的现象完全符合Windows操作系统默认防火墙拦截规则的特征:Windows Server默认只放行RDP 3389端口入站,默认拦截ICMP ping请求以及所有未明确允许的其他TCP端口入站,而安全组、NACL、路由表层面你已经确认配置正确,因此优先排查操作系统层面配置。
分步排查操作
1. 验证Windows防火墙规则(90%以上概率是该问题)
通过BASTION RDP登录EC2SQL1实例,执行以下操作:
- 打开「Windows Defender防火墙」→ 点击左侧「高级设置」
- 选择左侧「入站规则」,找到名称为
文件和打印机共享(回显请求 - ICMPv4-In)的规则,右键点击「启用规则」,如果需要适配IPv6也同步启用对应ICMPv6规则 - 针对需要开放的其他TCP端口(如SQL默认1433端口),右键点击「入站规则」→「新建规则」:
- 规则类型选「端口」→ 下一步
- 协议选「TCP」,输入需要开放的端口号 → 下一步
- 选「允许连接」→ 下一步
- 按需勾选适用的网络配置文件(建议全选)→ 下一步
- 输入规则名称后保存即可
- 临时验证可以直接关闭Windows Defender防火墙测试,如果此时ping和端口访问恢复正常,即可确认是OS防火墙拦截导致的问题
2. 验证目标端口监听状态
如果配置完防火墙后指定TCP端口仍然无法访问,执行以下命令确认服务正常监听:
netstat -ano | findstr "你要验证的端口号"
- 如果返回结果中状态为
LISTENING,且绑定地址不是127.0.0.1,说明服务监听正常 - 如果没有返回结果,或者绑定地址为
127.0.0.1,需要调整对应服务的监听配置,开放私有IP访问权限
3. 安全组ICMP规则校验(可选)
如果上述操作后ping仍然不通,确认EC2SQL1关联的安全组入站规则中ICMP配置正确:
- 入站规则协议选择「ICMPv4」
- 类型选择「回显请求 (Echo Request,类型8)」,或者直接选择「全部ICMPv4」
- 源地址设置为BASTION的私有IP或者VPC CIDR段即可
内容的提问来源于stack exchange,提问作者Chayan Dutt
相关产品推荐
相关产品推荐

