一、实验拓扑
二、实验要求
1、R1与R5MPLS VPN 静态
2、R6与R7MPLS VPN RIP,OSPF
3、R7可以访问R2/3/4的环回
三、实验步骤
1.配置公网区域IP
# R2
[r2]int loo0
[r2-LoopBack0]ip add 2.2.2.2 24
[r2-LoopBack0]int g0/0/0
[r2-GigabitEthernet0/0/0]ip add 23.1.1.1 24
# R3
[r3]int loo0
[r3-LoopBack0]ip add 3.3.3.3 24
[r3-LoopBack0]int g0/0/0
[r3-GigabitEthernet0/0/0]ip add 23.1.1.2 24
[r3-GigabitEthernet0/0/0]int g0/0/1
[r3-GigabitEthernet0/0/1]ip add 34.1.1.1 24
# R4
[r4]int loo0
[r4-LoopBack0]ip add 4.4.4.4 24
[r4-LoopBack0]int g0/0/0
[r4-GigabitEthernet0/0/0]ip add 34.1.1.2 24
[r4-GigabitEthernet0/0/0]int g0/0/2
[r4-GigabitEthernet0/0/2]ip add 47.1.1.1 24
2.公网区域启动OSPF协议
# R2
[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 23.1.1.0 0.0.0.255
# R3
[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.0 0.0.0.255
[r3-ospf-1-area-0.0.0.0]network 34.1.1.0 0.0.0.255
# R4
[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.0 0.0.0.255
[r4-ospf-1-area-0.0.0.0]network 47.1.1.0 0.0.0.255
3.启动MPLS
[r2]mpls lsr-id 2.2.2.2 # 必须先定义MPLS的router-id,要为本地设备的真实ip地址,且邻居可达,因为改地址将用于建立TCP会话,建议使用环回地址
[r2]mpls # 开启MPLS协议
Info: Mpls starting, please wait... OK!
[r2-mpls]mpls ldp # 再激活ldp协议
[r2-mpls-ldp]q
[r2]int g0/0/0
# 接口开启MPLS和ldp
[r2-GigabitEthernet0/0/0]mpls
[r2-GigabitEthernet0/0/0]mpls ldp
[r3]mpls lsr-id 3.3.3.3
[r3]mpls
Info: Mpls starting, please wait... OK!
[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]int g0/0/1
[r3-GigabitEthernet0/0/1]mpls
[r3-GigabitEthernet0/0/1]mpls ldp
[r4]mpls lsr-id 4.4.4.4
[r4]mpls
Info: Mpls starting, please wait... OK!
[r4-mpls]mpls ldp
[r4-mpls-ldp]q
[r4]int g0/0/0
[r4-GigabitEthernet0/0/0]mpls
[r4-GigabitEthernet0/0/0]mpls ldp
4.PE与PE之间建立mp-bgp邻居关系
[r2]bgp 1
[r2-bgp]router-id 2.2.2.2 # 先和对端建立正常BGP邻居关系,可用于传递正常的公网路由
[r2-bgp]peer 4.4.4.4 as-number 1
[r2-bgp]peer 4.4.4.4 connect-interface LoopBack 0
[r2-bgp]peer 4.4.4.4 next-hop-local
[r4]bgp 1
[r4-bgp]peer 2.2.2.2 as-number 1
[r4-bgp]peer 2.2.2.2 connect-interface LoopBack 0
[r4-bgp]peer 2.2.2.2 next-hop-local
IPV4传递路由
在IPV4的家族模式中,与对端建立一个VPNV4的关系,用于传递VPNV4路由
[r2]bgp 1
[r2-bgp]ipv4-family vpnv4
[r2-bgp-af-vpnv4]peer 4.4.4.4 enable
[r4]bgp 1
[r4-bgp]ipv4-family vpnv4
[r4-bgp-af-vpnv4]peer 2.2.2.2 enable
5.配置MPLS VPN
[r2]ip vpn-instance a # 创建名为a的vrf空间,空间名仅具有本地意义
[r2-vpn-instance-a]ipv4-family # 进入IPV4配置模式
[r2-vpn-instance-a-af-ipv4]route-distinguisher 1:1 # RD值
[r2-vpn-instance-a-af-ipv4]vpn-target 1:1 # RT值,必须与对端的PE端一致
[r2-vpn-instance-a-af-ipv4]q
[r2-vpn-instance-a]q
[r2]int g0/0/1 # 进入链接CE端的接口
[r2-GigabitEthernet0/0/1]ip binding vpn-instance a # 关联到vrf空间
[r2-GigabitEthernet0/0/1]ip add 192.168.1.1 24 # 配置私有ip地址
# 注:在关联到vrf空间前不能配置接口ip,否则该地址的直连路由将进入公有路由表
[r2]ip vpn-instance b
[r2-vpn-instance-b]ipv4-family
[r2-vpn-instance-b-af-ipv4]route-distinguisher 2:2
[r2-vpn-instance-b-af-ipv4]vpn-target 2:2
[r2-vpn-instance-b-af-ipv4]int g0/0/2
[r2-GigabitEthernet0/0/2]ip binding vpn-instance b
[r2-GigabitEthernet0/0/2]ip add 192.168.1.1 24
[r4]ip vpn-instance a
[r4-vpn-instance-a]ipv4-family
[r4-vpn-instance-a-af-ipv4]route-distinguisher 1:1
[r4-vpn-instance-a-af-ipv4]vpn-target 1:1
[r4-vpn-instance-a-af-ipv4]int g0/0/1
[r4-GigabitEthernet0/0/1]ip binding vpn-instance a
[r4-GigabitEthernet0/0/1]ip add 192.168.3.1 24
[r4]ip vpn-instance c
[r4-vpn-instance-c]ipv4-family
[r4-vpn-instance-c-af-ipv4]route-distinguisher 2:2
[r4-vpn-instance-c-af-ipv4]vpn-target 2:2
[r4-vpn-instance-c-af-ipv4]int g4/0/0
[r4-GigabitEthernet4/0/0]ip binding vpn-instance c
[r4-GigabitEthernet4/0/0]ip add 192.168.3.1 24
6.B1、B2区域配置
[r1]int loo0
[r1-LoopBack0]ip add 192.168.2.1 24
[r1-LoopBack0]int g0/0/0
[r1-GigabitEthernet0/0/0]ip add 192.168.1.2 24
[r1-GigabitEthernet0/0/0]q
[r1]ip route-static 192.168.3.0 24 192.168.1.1
[r1]ip route-static 192.168.4.0 24 192.168.1.1
[r2]ip route-static vpn-instance a 192.168.2.0 24 192.168.1.2 # PE端编写到vrf空间内的静态路由
[r5]int loo0
[r5-LoopBack0]ip add 192.168.4.1 24
[r5-LoopBack0]int g0/0/0
[r5-GigabitEthernet0/0/0]ip add 192.168.3.2 24
[r5-GigabitEthernet0/0/0]q
[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
[r4]ip route-static vpn-instance a 192.168.4.0 24 192.168.3.2
将本地vrf空间内的静态和直连路由重发布到BGP协议传递到对端的PE
[r2]bgp 1
[r2-bgp]ipv4 vpn-instance a
[r2-bgp-a]import-route direct
[r2-bgp-a]import-route static
[r4]bgp 1
[r4-bgp]ipv4 vpn-instance a
[r4-bgp-a]import-route direct
[r4-bgp-a]import-route static
7. A1、A2区域配置
[r6]int g0/0/0
[r6-GigabitEthernet0/0/0]ip add 192.168.1.2 24
[r6-GigabitEthernet0/0/0]int loo0
[r6-LoopBack0]ip add 192.168.2.2 24
[r6-LoopBack0]q
# 启动rip协议,宣告网段
[r6]rip 1
[r6-rip-1]undo summary
[r6-rip-1]ver 2
[r6-rip-1]network 192.168.2.0
[r6-rip-1]network 192.168.1.0
# 在VPN空间开启rip
[r2]rip 1 vpn-instance b
[r2-rip-1]undo summary
[r2-rip-1]ver 2
[r2-rip-1]network 192.168.1.0
# 使用双向重发布,实现路由共享
[r2]bgp 1
[r2-bgp]ipv4-family vpn-instance b
[r2-bgp-b]import-route rip 1
[r2]rip 1 vpn-instance b
[r2-rip-1]import-route bgp
[r7]int loo0
[r7-LoopBack0]ip add 192.168.4.2 24
[r7-LoopBack0]int g0/0/1
[r7-GigabitEthernet0/0/1]ip add 192.168.3.2 24
[r7-GigabitEthernet0/0/1]int g0/0/0
[r7-GigabitEthernet0/0/0]ip add 47.1.1.2 24
[r7]ospf 2 router-id 7.7.7.7
[r7-ospf-2]area 0
[r7-ospf-2-area-0.0.0.0]network 192.168.3.0 0.0.0.255
[r7-ospf-2-area-0.0.0.0]network 192.168..0 0.0.0.2554
[r7-ospf-2-area-0.0.0.0]network 192.168.4.0 0.0.0.255
[r4]ospf 2 vpn-instance c
[r4-ospf-2]area 0
[r4-ospf-2-area-0.0.0.0]network 192.168.3.0 0.0.0.255
[r4-ospf-2]import-route bgp
[r4-ospf-2]q
[r4]bgp 1
[r4-bgp]ipv4-family vpn-instance c
[r4-bgp-c]import-route ospf 2
[r4]ospf 2 vpn-instance c
[r4-ospf-2]import-route bgp
测试:
8.公网访问
[r7]acl 2000
[r7-acl-basic-2000]rule permit source 192.168.0.0 0.0.255.255
[r7-acl-basic-2000]int g0/0/0
[r7-GigabitEthernet0/0/0]nat outbound 2000
[r7-GigabitEthernet0/0/0]q
[r7]ip route-static 0.0.0.0 0 47.1.1.1
9.测试