如何通过BGP让数据中心多子网经AWS Direct Connect连通AWS资源?
问题排查:数据中心子网无法通过AWS Direct Connect BGP访问AWS资源
环境信息
- 数据中心路由器:Cisco ASR 1001-hx
- 数据中心子网:
- VLAN 10:10.100.0.0/24
- VLAN 20:10.200.0.0/24
- AWS子网:10.0.0.0/16
- Direct Connect虚拟接口(VLAN90):10.90.0.0/29
- AWS VIF IP:10.90.0.1
- 数据中心子接口IP:10.90.0.2
- 现状:BGP邻居已建立(ASN参数正常),VLAN90内主机(10.90.0.3)可ping通AWS 10.0.0.33,但VLAN10/20子网无法访问AWS资源
排查及解决步骤
1. 检查BGP路由宣告是否包含数据中心子网
确认Cisco ASR是否已将10.100.0.0/24和10.200.0.0/24宣告给AWS BGP邻居:
- 执行命令查看已宣告路由:
show ip bgp neighbors 10.90.0.1 advertised-routes - 若未看到目标子网,添加宣告配置:
若使用前缀列表/路由映射,需确保这两个子网被包含在允许范围内。router bgp <本地ASN> network 10.100.0.0 mask 255.255.255.0 network 10.200.0.0 mask 255.255.255.0
2. 验证AWS侧路由学习状态
登录AWS控制台,进入Direct Connect > 虚拟接口,查看已接收的路由列表,确认10.100.0.0/24和10.200.0.0/24是否存在。若未学习到,排查双方BGP邻居的路由过滤策略。
3. 检查本地路由及回程路径
- 确认ASR路由表中存在AWS 10.0.0.0/16的BGP路由:
show ip route bgp - 验证VLAN10/20子网的主机是否将ASR作为默认网关,或配置了指向ASR的静态路由,确保流量能送达ASR。
- 抓包验证回程流量:在ASR上执行
monitor capture,检查是否有来自AWS的回程数据包到达。
4. 排查NAT与ACL限制
- 确认ASR未对VLAN10/20到AWS的流量配置不必要的NAT(Direct Connect私网场景通常无需NAT)。
- 检查ACL或防火墙规则,确保允许VLAN10/20与AWS子网的双向流量:
若存在限制规则,调整ACL允许对应子网的双向通信。show access-lists show ip access-lists
5. 检查BGP路由属性与优先级
- 确认本地宣告的路由具备足够优先级,可通过调整
weight、local-preference等BGP属性,确保AWS优先选择该路径。 - 排查是否存在路由汇总导致子网被聚合,若AWS仅收到汇总路由,需确认汇总范围包含VLAN10/20子网。
6. 验证子接口及VLAN配置
- 确认ASR上VLAN10/20子接口的VLAN封装与IP配置正确:
interface GigabitEthernetX/Y.Z encapsulation dot1Q 10 ip address 10.100.0.1 255.255.255.0 - 检查接口状态:
show ip interface brief,确保VLAN10/20子接口处于up/up状态。
内容的提问来源于stack exchange,提问作者Bhargav
相关产品推荐
相关产品推荐

