AWS VPC私有子网Windows Server经第三方防火墙无法访问公网排查
AWS VPC第三方防火墙场景下私有子网Windows实例公网访问故障排查
部署场景
- 已搭建包含公有子网、私有子网的AWS VPC环境,目标演示逻辑:私有子网内部署的Windows Server实例,通过VPC内的第三方EC2防火墙访问公网
- 第三方EC2防火墙配置多块弹性网卡分别接入对应子网,已配置全放行安全策略、允许接口ping
- 私有子网内已部署EC2 Windows Server实例,当前实例无法访问外部网络
故障现象
- EC2 Windows实例可ping通本地/24网段内所有地址,包括防火墙接入该私有子网的接口地址
- EC2 Windows实例无法通过网页浏览、ping等方式访问外部网络
- 在EC2 Windows实例上执行
tracert 8.8.8.8,所有跳数均返回“* * * * 请求超时”,且无法显示默认网关地址 - 无论将EC2 Windows实例以太网配置为DHCP模式,还是静态配置防火墙同子网接口IP为默认网关,故障均持续存在
已验证的配置基线
- Network ACLs为默认配置,全方向允许所有流量
- Security groups配置为双向允许所有流量
- 私有子网关联路由表共2条条目:目标为VPC内网网段时,下一跳为防火墙对应弹性网卡;目标为0.0.0.0/0时,下一跳为防火墙对应弹性网卡
- 防火墙接入私有子网的接口可正常ping、RDP连接到该EC2 Windows实例
- 防火墙上未查询到源地址为该EC2 Windows实例、目标为外部网络的流量日志
- EC2 Windows实例内部系统防火墙已完全关闭
抓包排查结果
- Windows侧Wireshark抓包:EC2 Windows实例发往8.8.8.8的ping包、发往防火墙接口IP的ping包,目的MAC地址均为防火墙接口的MAC地址
- 防火墙侧接口抓包:仅能捕获到EC2 Windows实例发往防火墙接口IP的ping包,未捕获到实例发往8.8.8.8的外网ping包
待解答问题
- 该现象是否代表AWS VPC丢弃了实例发往外网的流量?
- 配置过程中是否存在遗漏项?
- 需要分别从AWS平台侧、Windows系统侧检查哪些配置项,才能定位故障根因并完成修复?
内容的提问来源于stack exchange,提问作者Joe Kwok
相关产品推荐
相关产品推荐

