同一VPC不同CIDR段下无法Ping通EC2实例问题求助
问题分析与解决步骤
核心问题是VPC主CIDR段(192.168.0.0/16)与辅助CIDR段(11.11.0.0/16)之间的跨CIDR内部通信未生效,以下是针对性的排查和解决方法:
1. 检查Windows实例本地路由配置
VPC路由表的local路由仅控制AWS网络层面的转发,但Windows实例自身需要识别目标CIDR属于同一个VPC网络:
- 在192.168.1.198实例上运行命令:
route print - 查看是否存在条目:
11.11.0.0 255.255.0.0 192.168.1.1 192.168.1.198(下一跳为子网默认网关,通常是网段的.1) - 如果缺失,手动添加永久路由:
route add 11.11.0.0 mask 255.255.0.0 192.168.1.1 -p - 同样在11.11.1.108实例上检查是否有
192.168.0.0/16指向其子网网关11.11.1.1的路由,缺失则按相同方法添加
2. 验证VPC路由表关联与条目完整性
- 确认公有子网(192.168.1.0/24)和新私有子网(11.11.1.0/24)都关联了包含以下两条local路由的路由表:
192.168.0.0/16 -> local11.11.0.0/16 -> local
- 若新子网使用了独立路由表,需手动添加主CIDR的local路由(默认添加辅助CIDR后,系统会自动同步到所有关联路由表,但手动创建的路由表可能例外)
3. 排查Windows本地防火墙
安全组允许ICMP不代表Windows自身防火墙放行:
- 在11.11.1.108实例上,打开「Windows Defender防火墙」,创建入站规则,允许来自
192.168.0.0/16网段的所有ICMPv4请求 - 可临时关闭防火墙进行测试,快速确认是否是本地防火墙拦截
4. 关于NAT的澄清
你对NAT的推测方向有误:
- VPC内的主、辅助CIDR属于同一个私有网络域,跨CIDR通信不需要通过NAT网关/实例,直接依赖VPC路由的
local条目即可完成内部转发 - 11.11.0.0/16是公网可路由段,但在VPC内部,只要路由表标记为
local,AWS会将其视为VPC内部地址,不会直接路由到公网,因此无需配置NAT转换实现内部通信
内容的提问来源于stack exchange,提问作者Diego Satizabal
相关产品推荐
相关产品推荐

