Transit Gateway(TGW)单IP路由失效问题咨询
我在eu-west-1区域拥有一个VPC,其CIDR为192.168.252.0/22,该VPC已关联至同区域的TGW并完成路由传播。另一个eu-west-2区域的TGW与该TGW建立了对等连接。
当通过TGW访问VPC内的主机时,配置192.168.252.0/22网段的静态路由可正常访问目标主机192.168.252.168;但配置192.168.252.168/32单IP路由或192.168.252.0/24网段路由均无法生效。我认为只要路由匹配目标IP即可,无需完全匹配VPC网段,请问我遗漏了什么?
出现这种现象的核心原因通常和AWS Transit Gateway(TGW)对等连接的路由过滤规则、TGW路由表的传播与关联逻辑有关,具体如下:
1. TGW对等连接的路由前缀列表限制
在建立跨区域TGW对等连接时,默认或手动配置的**路由前缀列表(Route Prefix List)**会过滤通过对等连接的流量前缀。如果eu-west-1区域的TGW在接受对等连接流量时,仅允许192.168.252.0/22前缀通过,那么更细粒度的192.168.252.0/24或192.168.252.168/32前缀会被直接丢弃,导致路由无法生效。
验证与修复:
- 登录AWS控制台,进入eu-west-1区域的TGW对等连接配置页面
- 检查接受方路由前缀列表,确认是否包含
192.168.252.0/24或192.168.252.168/32前缀;如果没有,添加对应前缀到列表中 - 同时检查eu-west-2区域TGW的发送方路由前缀列表,确保允许发送这些细粒度前缀
2. TGW路由表的关联范围错误
如果eu-west-2区域的TGW中,你配置的/24或/32静态路由所在的路由表,并未关联到发起访问流量的资源(比如EC2所在的VPC、VPN连接等),那么流量根本不会命中这些静态路由,自然无法生效。
验证与修复:
- 确认发起流量的资源所在的VPC/连接,已关联到包含目标静态路由的TGW路由表
- 检查TGW路由表的关联对象列表,确保覆盖所有需要访问eu-west-1 VPC的资源
3. TGW路由传播的前缀冲突
当VPC关联到TGW时,TGW默认只会自动传播VPC的完整CIDR块(即192.168.252.0/22)到自身路由表。如果eu-west-1的TGW路由表中存在其他冲突的细粒度路由(比如指向其他资源的静态路由),会优先匹配该路由,导致流量被错误转发,无法到达目标主机。
验证与修复:
- 检查eu-west-1区域TGW的路由表,确认没有与
192.168.252.0/24或192.168.252.168/32冲突的路由条目 - 如果存在冲突路由,调整路由优先级或删除冲突条目
额外注意事项
- 确保VPC的安全组和网络ACL允许
192.168.252.0/24或192.168.252.168/32的流量(虽然你用/22能访问,但建议再次确认规则范围) - 跨区域TGW对等连接默认MTU为8500,如果发起流量的资源MTU小于该值,可能导致数据包分片丢失,可尝试降低TGW对等连接的MTU或调整资源MTU
内容的提问来源于stack exchange,提问作者Omiron

