本文档介绍了如何对配置基本 MPLS VPN 文档进行故障排除。在使用本文档之前,我们建议您阅读该配置示例并查看网络图。
配置基本 MPLS VPN 展示了功能齐全的 MPLS 骨干网,也就是提供商边缘 (PE) 路由器可以通过该骨干网相互到达彼此。有关 MPLS 网络故障排除的信息,请参阅 MPLS 验证和故障排除支持页。
建立 MPLS VPN 之前,您必须能够从 PE 路由器 B (10.10.10.6) ping 通 PE 路由器 A (10.10.10.4),反之亦然。
记住,VPN 路由/转发实例 (VRF) 的名称要区分大小写,例如,Customer_A 和 customer_a 是不同的。
本文档的读者应该熟悉:
本文档不限于特定的软件和硬件版本。
本文档中的信息都是基于特定实验室环境中的设备编写的。本文档中使用的所有设备最初均采用原始(默认)配置。如果您使用的是真实网络,请确保您已经了解所有命令的潜在影响。
有关文件规则的更多信息请参见“ Cisco技术提示规则”。
show ip vrf [vrf-name] 命令显示当前路由器上存在的所有VRF及其关联的路由区分器和接口的摘要。
Pesaro# show ip vrf Name Default RD Interfaces Customer_A 100:101 Loopback101 Loopback111 Customer_B 100:102 Loopback102
此命令允许您验证:
VRF 的配置(及其名称)。
每个相关 PE 处的每个路由区分符都相同。
show ip vrf [{detail | interfaces}] vrf-name命令显示有关VRF的详细配置。
Pesaro# show ip vrf detail Customer_A VRF Customer_A; default RD 100:101 Interfaces: Loopback101 Loopback111 Connected addresses are not in global routing table Export VPN route-target communities RT:100:1001 Import VPN route-target communities RT:100:1001 No import route-map No export route-map Pesaro# show ip vrf interfaces Interface IP-Address VRF Protocol Loopback101 200.0.6.1 Customer_A up Loopback111 200.1.6.1 Customer_A up Loopback102 200.0.6.1 Customer_B up
这些命令允许您验证:
连接的地址不在全局路由表中。
每个 VRF 的路由属性。在一侧导出的内容应该在其他地方导入。
接口的状态(和 IP 地址)。
使用您先前验证全局路由表时所用的相同命令来验证路由表或路由协议数据库,并带上本部分显示的扩展字符。
要检查路由表,请添加 vrf [vrf-name] 扩展字符到 show ip route 命令中,以便验证路由表,如下所示:
Pescara# show ip route vrf Customer_A Codes: C - connected, S - static, I - IGRP, R - RIP, M - mobile, B - BGP D - EIGRP, EX - EIGRP external, O - OSPF, IA - OSPF inter area N1 - OSPF NSSA external type 1, N2 - OSPF NSSA external type 2 E1 - OSPF external type 1, E2 - OSPF external type 2, E - EGP i - IS-IS, L1 - ISIS level-1, L2 - ISIS level-2, ia - ISIS inter area * - candidate default, U - per-user static route, o - ODR P - periodic downloaded static route Gateway of last resort is not set B 200.0.6.0/24 [200/0] via 10.10.10.6, 00:42:14 B 200.1.6.0/24 [200/0] via 10.10.10.6, 00:42:14 C 200.0.4.0/24 is directly connected, Loopback101
也可以使用 show ip route vrf Customer_A 1.2.3.4 命令来验证特定地址的目标。
边界网关协议 (BGP) 在 PE 路由器之间使用,并且是站点间连接的必备条件。在本示例中,我们将使用内部 BGP (iBGP)。 也可以使用外部 BGP (eBGP) 作为 PE-CE 路由传播的外部路由协议。
可使用以下命令进行 BGP 故障排除:
show ip bgp neighbors
show ip bgp vpnv4 all(或 show ip bgp vpnv4 vrf [VRF name])
show ip bgp vpnv4 vrf VRF name tags(此命令特定于 VPN/MPLS)
show ip bgp vpnv4 vrf VRF name A.B.C.D
例如:
Pescara# show ip bgp vpnv4 vrf Customer_A BGP table version is 40, local router ID is 10.10.10.4 Status codes: s suppressed, d damped, h history, * valid, > best, i - internal Origin codes: i - IGP, e - EGP, ? - incomplete Network Next Hop Metric LocPrf Weight Path Route Distinguisher: 100:101 (default for vrf Customer_A) *>i200.0.6.0 10.10.10.6 0 100 0 ? *> 200.0.4.0 0.0.0.0 0 32768 ? *>i200.1.6.0 10.10.10.6 0 100 0 ?
有关 BGP 问题故障排除的详细信息,请参阅 BGP 支持页。
如果客户侧使用的路由协议不是 BGP,您就可以使用传统的 show 命令并将其应用于正确的 VRF。
如果您使用 Routing Information Protocol (RIP),则发出 show ip rip database vrf [VRF name] 命令。 例如:
Alcazaba# show ip rip database vrf vrf101 0.0.0.0/0 auto-summary 0.0.0.0/0 [2] via 150.150.0.2, 00:00:12, Ethernet1/1 6.0.0.0/8 auto-summary 6.6.6.6/32 redistributed [1] via 223.0.0.21, 7.0.0.0/8 auto-summary 7.7.7.0/24 [1] via 150.150.0.2, 00:00:12, Ethernet1/1 10.0.0.0/8 auto-summary 10.0.0.0/8 redistributed [1] via 125.2.2.2, 10.0.0.0/16 [1] via 150.150.0.2, 00:00:12, Ethernet1/1 10.200.8.0/22
如果您使用 OSPF,则发出 show ip ospf [process-id area-id] database 命令并指定正确的进程编号。例如:
Alcazaba# show ip ospf 2 database OSPF Router with ID (222.0.0.10) (Process ID 2) Router Link States (Area 1) Link ID ADV Router Age Seq# Checksum Link count 222.0.0.1 222.0.0.1 1364 0x80000013 0x7369 3 222.0.0.10 222.0.0.10 1363 0x80000002 0xFEFE 2 Net Link States (Area 1) Link ID ADV Router Age Seq# Checksum 150.150.0.1 222.0.0.10 1363 0x80000001 0xEC6D Summary Net Link States (Area 1) Link ID ADV Router Age Seq# Checksum 6.6.6.6 222.0.0.10 1328 0x80000001 0x4967 69.69.0.0 222.0.0.10 1268 0x80000001 0x2427 222.0.0.3 222.0.0.10 1328 0x80000001 0xEEF7 222.0.0.30 222.0.0.10 1268 0x80000001 0x7B5A
此命令允许您验证:
路由表是否正确(从用户的角度来看),或者路由表中缺失了什么。
BGP 已打开且处于工作状态(或者您可以查看缺失哪个邻居)。
MPLS VPN 使用二级标签堆栈。其中一个标签用于识别 VRF 并设置在两个 PE 之间。另一个标签(位于堆栈顶部)是“骨干”标签,由标准 MPLS 网络设置。
可以使用 traceroute VRF [vrf-name] A.B.C.B 命令验证传输标签。
注意:如果主干路由器配置为传播和生成IP生存时间(TTL)信息,则此命令仅适用于MPLS感知跟踪路由。有关详细信息,请参阅关于 mpls ip propagate-ttl 命令的文档。
Pesaro# traceroute vrf Customer_B 200.0.4.1 Type escape sequence to abort. Tracing the route to 200.0.4.1 1 10.1.1.21 [MPLS: Labels 25/28 Exp 0] 464 msec 280 msec 308 msec 2 10.1.1.5 [MPLS: Labels 22/28 Exp 0] 236 msec 572 msec 228 msec 3 200.0.4.1 108 msec * 100 msec
由于 MPLS/VPN 体系结构,此 traceroute 中 10.1.1.14 的缺失是正常现象。
可以使用 show ip bgp vpnv4 all tags 命令获取更精确的输出,例如特定 VRF 的标签表,如下所示:
Pescara# show ip bgp vpnv4 all tags Network Next Hop In tag/Out tag Route Distinguisher: 100:101 (Customer_A) 200.0.6.0 10.10.10.6 notag/28 200.0.4.0 0.0.0.0 16/aggregate(Customer_A) 200.1.6.0 10.10.10.6 notag/29 Route Distinguisher: 100:102 (Customer_B) 200.0.6.0 10.10.10.6 notag/30 200.0.4.0 0.0.0.0 28/aggregate(Customer_B)
也可以使用 show ip cef 命令:
Pescara# show ip cef vrf Customer_B detail IP CEF with switching (Table Version 10), flags=0x0 8 routes, 0 reresolve, 0 unresolved (0 old, 0 new) 46 leaves, 51 nodes, 54640 bytes, 361 inserts, 315 invalidations 0 load sharing elements, 0 bytes, 0 references universal per-destination load sharing algorithm, id F968AD29 5 CEF resets, 38 revisions of existing leaves refcounts: 1400 leaf, 1392 node Adjacency Table has 2 adjacencies 0.0.0.0/32, version 0, receive 200.0.6.0/24, version 9, cached adjacency to Serial0/1.1 0 packets, 0 bytes tag information set local tag: VPN-route-head fast tag rewrite with Se0/1.1, point2point, tags imposed: {20 30} via 10.10.10.6, 0 dependencies, recursive next hop 10.1.1.13, Serial0/1.1 via 10.10.10.6/32 valid cached adjacency tag rewrite with Se0/1.1, point2point, tags imposed: {20 30} 200.0.4.0/24, version 6, attached, connected 0 packets, 0 bytes tag information set local tag: 28 via Loopback102, 0 dependencies valid discard adjacency tag rewrite with , , tags imposed: {} 200.0.4.0/32, version 4, receive 200.0.4.1/32, version 3, receive 200.0.4.255/32, version 5, receive 224.0.0.0/24, version 2, receive 255.255.255.255/32, version 1, receive
此命令允许您验证:
标签都得到了有效使用。
为 VPN 目标使用了一个(至少)包含两个标签的堆栈。
可以使用 ping 命令验证 VRF 是否有效,但如果您是在 PE 路由器上,则必须指明特定的 VRF 名称。
Pescara# ping vrf Customer_A 200.0.6.1 Type escape sequence to abort. Sending 5, 100-byte ICMP Echos to 200.0.6.1, timeout is 2 seconds: !!!!! Success rate is 100 percent (5/5), round-trip min/avg/max = 176/264/576 ms
版本 | 发布日期 | 备注 |
---|---|---|
1.0 |
16-Nov-2007 |
初始版本 |