MPLS配置
1、 IP可达— 使用路由协议全网可达
[r1]ip route-static 0.0.0.0 0 12.1.1.2 //r1与r6相当于pc,缺省指向网关
[r6]ip route-static 0.0.0.0 0 56.1.1.1
[r2]ospf 1 router-id 2.2.2.2
[r2-ospf-1]area 0
[r2-ospf-1-area-0.0.0.0]network 2.2.2.2 0.0.0.0
[r2-ospf-1-area-0.0.0.0]network 12.1.1.2 0.0.0.0
[r2-ospf-1-area-0.0.0.0]network 23.1.1.1 0.0.0.0
[r3]ospf 1 router-id 3.3.3.3
[r3-ospf-1]area 0
[r3-ospf-1-area-0.0.0.0]network 3.3.3.3 0.0.0.0
[r3-ospf-1-area-0.0.0.0]network 23.1.1.2 0.0.0.0
[r3-ospf-1-area-0.0.0.0]network 34.1.1.1 0.0.0.0
[r4]ospf 1 router-id 4.4.4.4
[r4-ospf-1]area 0
[r4-ospf-1-area-0.0.0.0]network 4.4.4.4 0.0.0.0
[r4-ospf-1-area-0.0.0.0]network 34.1.1.2 0.0.0.0
[r4-ospf-1-area-0.0.0.0]network 45.1.1.1 0.0.0.0
[r5-ospf-1]area 0
[r5-ospf-1-area-0.0.0.0]network 5.5.5.5 0.0.0.0
[r5-ospf-1-area-0.0.0.0]network 45.1.1.2 0.0.0.0
[r5-ospf-1-area-0.0.0.0]network 56.1.1.1 0.0.0.0
2、 配置MPLS – LDP
[r2]mpls lsr-id 2.2.2.2
// 必须先定义mpls的router-id,要为本地设备的真实ip地址,且邻居可达,因为该地址将用于建立TCP会话,建议使用环回地址
[r2]mpls // 再开启mpls协议
[r2-mpls]mpls ldp // 再激活LDP协议
之后需要在所有标签经过的接口上开启协议
[r2-mpls-ldp]q
[r2]int g0/0/1
[r2-GigabitEthernet0/0/1]mpls // 先开启MPLS
[r2-GigabitEthernet0/0/1]mpls ldp // 再激活LDP协议
[r2-GigabitEthernet0/0/1]q
[r3]mpls lsr-id 3.3.3.3
[r3]mpls
[r3-mpls]mpls ldp
[r3-mpls-ldp]q
[r3]int g0/0/0
[r3-GigabitEthernet0/0/0]mpls
[r3-GigabitEthernet0/0/0]mpls ldp
[r3-GigabitEthernet0/0/0]q
[r3]int g0/0/1
[r3-GigabitEthernet0/0/1]mpls
[r3-GigabitEthernet0/0/1]mpls ldp
[r3-GigabitEthernet0/0/1]q
r4与r5同理
当启动配置完成后,邻居间使用UDP报文组播收发hello包;之后基于hello包中的router-id地址进行TCP会话的建立;
使用mpls解决BGP的路由黑洞
[r2]ospf 1 router-id 2.2.2.2
[r2-ospf-1]area 0
[r2-ospf-1-area-0.0.0.0]un network 12.1.1.2 0.0.0.0
[r5]ospf 1 router-id 5.5.5.5
[r5-ospf-1]area 0
[r5-ospf-1-area-0.0.0.0]un network 56.1.1.1 0.0.0.0
[r1]bgp 1
[r1-bgp]peer 12.1.1.2 as-number 2
[r1-bgp]network 1.1.1.0 24
[r2]bgp 2
[r2-bgp]peer 12.1.1.1 as-number 1
[2-bgp]peer 5.5.5.5 as-number 2
[2-bgp]peer 5.5.5.5 connect-interface lo0
[r2-bgp]peer 5.5.5.5 next-hop-local
[r5-bgp]peer 56.1.1.2 as-number 3
[r5-bgp]peer 2.2.2.2 as-number 2
[r5-bgp]peer 2.2.2.2 connect-interface lo0
[r5-bgp]peer 2.2.2.2 next-hop-local
[r6]bgp 3
[r6-bgp]peer 56.1.1.1 as-number 2
[6-bgp]network 6.6.6.0 24
产生路由黑洞
lsr上做
[r2]route recursive-lookup tunnel
[r5]route recursive-lookup tunnel
R2从BGP邻居5.5.5.5 学习到6.6.6.0 网段的路由;
R2在访问6.6.6.0 时,将在数据包中压入到达5.5.5.5ip地址的标签号,来穿越中间没有运行BGP协议的设备;
实现打破路由黑洞;注:华为设备默认不为BGP协议执行下一跳标签机制,cisco默认执行;
==华为设备需要开启 route recursive-lookup tunnel ==
路由基于隧道进行递归查找
MPLS VPN
1、 ISP部分
==1) IGP路由 ==
ISP内互通
r2
ospf 1 router-id 2.2.2.2
area 0.0.0.0
network 2.2.2.2 0.0.0.0
network 23.1.1.1 0.0.0.0
r3
ospf 1 router-id 3.3.3.3
area 0.0.0.0
network 3.3.3.3 0.0.0.0
network 23.1.1.2 0.0.0.0
network 34.1.1.1 0.0.0.0
r4
ospf 1 router-id 4.4.4.4
area 0.0.0.0
network 4.4.4.4 0.0.0.0
network 34.1.1.2 0.0.0.0
network 47.1.1.1 0.0.0.0
查看排错dis ospf peer brief
[r7]ip route-static 0.0.0.0 0.0.0.0 47.1.1.1
== 2) 配置MPLS VPN==
[r2]ip vpn-instance kaikai //创建名为kaikai的vrf空间
[r2-vpn-instance-kaikai]ipv4-family //进入IPV4的配置模式下
[2-vpn-instance-kaikai-af-ipv4]route-distinguisher 1:1 //RD值
[r2-vpn-instance-kaikai-af-ipv4]vpn-target 1:1 // RT值 必须对端的PE端一致
[r2]int g0/0/0 //进入链接CE端的接口
[r2-GigabitEthernet0/0/0]ip binding vpn-instance kaikai // 关联到vrf空间
[r2-GigabitEthernet0/0/0]ip address 192.168.2.2 24 // 配置私有ip地址
==注:在关联到vrf空间前不能配置接口ip,否则该地址的直连路由将进入公有路由表;==
[r2]ip vpn-instance meimei
[r2-vpn-instance-meimei]ipv4-family
[r2-vpn-instance-meimei-af-ipv4]route-distinguisher 2:2
[r2-vpn-instance-meimei-af-ipv4]vpn-target 2:2
[r2]int g2/0/0
[2-GigabitEthernet2/0/0]ip binding vpn-instance meimei
[r2-GigabitEthernet2/0/0]ip address 192.168.2.2 24
r4同理
[r1]int lo0
[r1-LoopBack0]ip address 192.168.1.1 24
[r1]int g0/0/0
[r1-GigabitEthernet0/0/0]ip address 192.168.2.1 24
r1,r5,r6,r7正常配地址
查看排错
[r2]display ip routing-table vpn-instance a 查看空间内的私有路由表
[r2]ping -vpn-instance a 192.168.2.1 正常测试将在公有路由表中查询记录;该命令为基于VRF空间
3) MPLS域
[r2]mpls lsr-id 2.2.2.2
[r2]mpls
[r2-mpls]mpls ldp
[r2]int g0/0/1
[r2-GigabitEthernet0/0/1]mpls
[r2-GigabitEthernet0/0/1]mpls ldp
r3与r4同理
查看排错**display mpls ldp peer**
4) PE与PE间建立MP-BPG邻居关系
[r2]bgp 1
[r2-bgp]peer 4.4.4.4 as-number 1
先和对端建立正常BGP邻居关系,可用于传递正常的公网路由
[r2-bgp]peer 4.4.4.4 connect-interface lo0
[r2-bgp]peer 4.4.4.4 next-hop-local
同时还需要再在IPV4的家族模式中,与对端建立一个VPNV4的关系,用于传递VPNV4路由
[r2-bgp]ipv4-family vpnv4
[r2-bgp-af-vpnv4]peer 4.4.4.4 enable
r4同理
查看排错
[r4-bgp]dis bgp peer
[r2-bgp]display bgp vpnv4 all peer 查看mp-bgp邻居关系
5) CE端与PE端交互路由
静态
[r1]ip route-static 192.168.3.0 24 192.168.2.2
[r1]ip route-static 192.168.4.0 24 192.168.2.2
//CE端直接编写静态路由即可;
[r2]ip route-static vpn-instance kaikai 192.168.1.0 192.168.2.1
//PE端编写到VRF空间内的静态路由
[r2]bgp 1
[r2-bgp]ipv4 vpn-instance kaikai
[r2-bgp-kaikai]import-route static
[r2-bgp-kaikai]import-route direct // 将本地vrf空间内的静态和直连路由重发布到BGP协议传递到对端的PE
r4与r5用静态同理
[r5]ip route-static 192.168.1.0 24 192.168.3.1
[r5]ip route-static 192.168.2.0 24 192.168.3.1
//CE端直接编写静态路由即可;
[r4]ip route-static vpn-instance meimei 192.168.4.0 192.168.3.2
//PE端编写到VRF空间内的静态路由
[r4]bgp 1
[r4-bgp]ipv4 vpn-instancemeimei
[r4-bgp-kaikai]import-route static
[r4-bgp-kaikai]import-route direct
// 将本地vrf空间内的静态和直连路由重发布到BGP协议传递到对端的PE
OSPF
[r6]ospf 1 router-id 6.6.6.6
[r6-ospf-1]area 0
[r6-ospf-1-area-0.0.0.0]network 192.168.1.2 0.0.0.0
[r6-ospf-1-area-0.0.0.0]network 192.168.2.1 0.0.0.0
//CE端正常启动OSPF即可
[r2]ospf 2 vpn-instance meimei
[r2-ospf-2]area 0
[r2-ospf-2-area-0.0.0.0]network 192.168.2.2 0.0.0.0
//PE端,启动VPNV4专用的ospf协议
之后使用双向重发布,实现路由共享
[r2]bgp 1
[r2-bgp]ipv4-family vpn-instance meimei
[r2-bgp-a]import-route ospf 2
[r2]ospf 2 vpn-instance meimei
[r2-ospf-2]import-route bgp
r4与r7同理