CISCO 路由器MPLS VPN的快速配置

MPLS VPN 是一种虚拟专线服务。通过 MPLS VPN,CE 可以直接把未经再封装、访问另一个客户园区的数据包发送给运营商边界路由器(这里称为 PE)。PE 为该数据包打上相应的标签,然后发送给连接另一个园区的 PE,最后另一个园区的 PE 将数据包的标签去除后发给另一个园区的 CE。

MPLS VPN 的基本原理

在 PE 上可以将连接 CE 的接口绑定到某个 VRF 路由表上,这样客户园区的私网路由条目就会被放入 VRF 路由表而不是主路由表中。PE 连接不同客户的 CE 使用不同的 VRF 路由表,不同 VRF 路由表通过 RD(路由标识符)来本地唯一识别。当路由器收到 CE 发送的数据时,会查找连接该 CE 接口对应的 VRF 路由表并进行转发。

在 PE 与 PE 之间建立 VPNv4 地址簇的 BGP 邻居,以及为 VRF 路由表设置相应的导入和导出 RT(路由目标),即可通过 VPNv4 BGP 表实现 PE 间 VRF 路由条目的交互。其中,导出 RT 为将本 VRF 路由表中的路由条目加入到 VPNv4 BGP 表时要携带的 RT;导入 RT 为将 VPNv4 BGP 表中携带哪些 RT 的路由条目加入到本 VRF 路由表中。(RD 和 RT 的格式都是 xx:xx)

VPNv4 BGP 可以为本地 VRF 路由表中的路由条目分发标签并共享给邻居。但是,运营商内一般只有 PE 以及路由反射器(此处不考虑)运行了 VPNv4 BGP,且它们之间并不是直连建立邻居的。没有运行 VPNv4 BGP 的路由器将不能识别 VRF 路由条目的标签。需要 PE 为 CE 发来的数据包打上双重标签。其中,外层标签是由 LDP 分发的、去往另一个 PE(VPNv4 BGP 邻居)的下一跳对应的标签;内层标签是由 VPNv4 BGP 分发的 VRF 路由条目标签。这样沿途没有运行 VPNv4 BGP 的路由器只需查看外层标签即可正常转发客户园区的数据包。然后当客户园区的数据包到达另一台 PE 时,PE 通过查看数据包的内层标签即可确定该数据包应查找哪个 VRF 路由表进行转发。

CISCO路由器MPLSVPN的快速配置

拓扑说明

CE1 CE2分别为同公司的两个园区,通过营运商的PE P设备组成的MPLS VPN专线互联。

配置思路

1、配置运营商的底层IGP协议

2、配置运营商的MPLS LDP协议

3、配置运营商的MBGP协议

4、配置运营商PE上与园区互联的VRF

5、配置运营商PE上与园区互联的接入协议(IGP)

6、在运营商PE上将私网IGP与公网的MBGP中间双向重分布

CE1配置

hostname CE1

interface Loopback0

ip address 1.1.1.1 255.255.255.255

interface GigabitEthernet0/0

ip address 100.0.0.1 255.255.255.0

//配置CE接口IP LO0模拟下挂网络

router rip

version 2

network 1.0.0.0

network 100.0.0.0

no auto-summary

//园区与运营商PE互联采用RIP协议

CE2配置

hostname CE2

interface Loopback0

ip address 5.5.5.5 255.255.255.255

interface GigabitEthernet0/0

ip address 200.0.0.1 255.255.255.0

router rip

version 2

network 5.0.0.0

network 200.0.0.0

no auto-summary

PE1配置

hostname PE1

ip vrf A

rd 100:1

route-target export 2:2

route-target import 1:1

//配置与园区互联的VRF

ip cef

mpls ip

mpls label range 100 1000

mpls label protocol ldp

mpls ldp router-id Loopback0 force

//配置MPLS LDP

interface Loopback0

ip address 2.2.2.2 255.255.255.255

interface GigabitEthernet0/0

ip vrf forwarding A

ip address 100.0.0.2 255.255.255.0

interface GigabitEthernet0/1

ip address 23.0.0.2 255.255.255.0

mpls ip

//配置接口IP,对应绑定VRF,开启MPLS IP,这里需要注意如果LO0地址掩码不是32位,采用OSPF协议一定要修改网络类型,否则其他设备将不会有非32位掩码的路由条目和对应的标签。

router ospf 110

router-id 2.2.2.2

network 2.2.2.2 0.0.0.0 area 0

network 23.0.0.2 0.0.0.0 area 0

//配置运营商底层OSPF 协议

router rip

version 2

no auto-summary

address-family ipv4 vrf A

redistribute bgp 100 metric 1

network 100.0.0.0

no auto-summary

exit-address-family

//配置与园区互联的RIP协议,注意是VRF下宣告私网,重分布BGP VPNV4路由

router bgp 100

bgp router-id 2.2.2.2

bgp log-neighbor-changes

no bgp default ipv4-unicast

neighbor 4.4.4.4 remote-as 100

neighbor 4.4.4.4 update-source Loopback0

address-family ipv4

neighbor 4.4.4.4 activate

exit-address-family

address-family vpnv4

neighbor 4.4.4.4 activate

exit-address-family

address-family ipv4 vrf A

redistribute rip

exit-address-family

//配置PE之间的BGP VPNV4邻居,重分布来自与园区互联的RIP路由

P配置

hostname P

ip cef

mpls ip

mpls label range 100 1000

mpls label protocol ldp

mpls ldp router-id Loopback0 force

interface Loopback0

ip address 3.3.3.3 255.255.255.255

interface GigabitEthernet0/0

ip address 34.0.0.3 255.255.255.0

mpls ip

interface GigabitEthernet0/1

ip address 23.0.0.3 255.255.255.0

mpls ip

router ospf 110

router-id 3.3.3.3

network 3.3.3.3 0.0.0.0 area 0

network 23.0.0.3 0.0.0.0 area 0

network 34.0.0.3 0.0.0.0 area 0

//P设备不需要与PE设备之间建立BGP邻居,只需配置MPLS LDP标签转发即可。

PE2配置

hostname PE2

ip vrf A

rd 200:1

route-target export 1:1

route-target import 2:2

ip cef

mpls ip

multilink bundle-name authenticated

mpls label range 100 1000

mpls label protocol ldp

mpls ldp router-id Loopback0 force

interface Loopback0

ip address 4.4.4.4 255.255.255.255

interface GigabitEthernet0/0

ip address 34.0.0.4 255.255.255.0

mpls ip

interface GigabitEthernet0/1

ip vrf forwarding A

ip address 200.0.0.2 255.255.255.0

router ospf 110

router-id 4.4.4.4

network 4.4.4.4 0.0.0.0 area 0

network 34.0.0.4 0.0.0.0 area 0

router rip

version 2

no auto-summary

address-family ipv4 vrf A

redistribute bgp 100 metric 1

network 200.0.0.0

no auto-summary

exit-address-family

router bgp 100

bgp router-id 4.4.4.4

bgp log-neighbor-changes

no bgp default ipv4-unicast

neighbor 2.2.2.2 remote-as 100

neighbor 2.2.2.2 update-source Loopback0

address-family ipv4

neighbor 2.2.2.2 activate

exit-address-family

address-family vpnv4

neighbor 2.2.2.2 activate

exit-address-family

address-family ipv4 vrf A

redistribute rip

exit-address-family

CE2配置

hostname CE2

interface Loopback0

ip address 5.5.5.5 255.255.255.255

interface GigabitEthernet0/0

ip address 200.0.0.1 255.255.255.0

router rip

version 2

network 5.0.0.0

network 200.0.0.0

no auto-summary

配值完成后在P上检查

底层OSPF正常

CISCO路由器MPLSVPN的快速配置

MPLS LDP正常

CISCO路由器MPLSVPN的快速配置

PE1 查看BGP VPNV4邻居正常

show ip bgp neighbors 4.4.4.4

CISCO路由器MPLSVPN的快速配置

VRF正常

CISCO路由器MPLSVPN的快速配置

全局路由表没有私网路由

CISCO路由器MPLSVPN的快速配置

BGP VPNV4路由表私网路由正常传递

show ip bgp vpnv4 all

CISCO路由器MPLSVPN的快速配置

VRF A中私网路由正常传递

show ip route vrf A

CISCO路由器MPLSVPN的快速配置

在CE1查看私网路由传递正常,两园区互通正常

CISCO路由器MPLSVPN的快速配置

CISCO路由器MPLSVPN的快速配置