一、实验拓扑
二、实验要求
- 根据图示正确配置IP地址
- 区域内使用ospf来传递自身私网路由
- 使用VRF来防止冲突
- 区域内部使用MPLS标签建立路径
- 达到VPN内部可跨站点互访
三、实验步骤
1、配置AS内部ospf
[PE1]ospf 1
[PE1-ospf-1]a 0
[PE1-ospf-1-area-0.0.0.0]net 1.1.1.1 0.0.0.0
[PE1-ospf-1-area-0.0.0.0]net 10.0.0.0 0.0.0.3
[P1]ospf 1
[P1-ospf-1]a 0
[P1-ospf-1-area-0.0.0.0]net 101.101.101.101 0.0.0.0
[P1-ospf-1-area-0.0.0.0]net 10.0.0.0 0.0.0.3
[P1-ospf-1-area-0.0.0.0]net 20.0.0.0 0.0.0.3
[PE2]ospf 1
[PE2-ospf-1]a 0
[PE2-ospf-1-area-0.0.0.0]net 2.2.2.2 0.0.0.0
[PE2-ospf-1-area-0.0.0.0]net 20.0.0.0 0.0.0.3
===============================>AS100↑
[PE3]ospf 1
[PE3-ospf-1]a 0
[PE3-ospf-1-area-0.0.0.0]net 3.3.3.3 0.0.0.0
[PE3-ospf-1-area-0.0.0.0]net 50.0.0.0 0.0.0.3
[P2]ospf 1
[P2-ospf-1]a 0
[P2-ospf-1-area-0.0.0.0]net 102.102.102.102 0.0.0.0
[P2-ospf-1-area-0.0.0.0]net 60.0.0.0 0.0.0.3
[P2-ospf-1-area-0.0.0.0]net 50.0.0.0 0.0.0.3
[PE4]ospf 1
[PE4-ospf-1]a 0
[PE4-ospf-1-area-0.0.0.0]net 4.4.4.4 0.0.0.0
[PE4-ospf-1-area-0.0.0.0]net 60.0.0.0 0.0.0.3
===============================>AS200↑
*配置ospf是为了能够成功建立PE之间的IBGP邻居、LDP邻居建立
2、配置MPLS
[PE1]mpls lsr-id 1.1.1.1 //配置mpls的lsr-id
[PE1]mpls ldp //全局使能mpls ldp
[PE1-ldp]quit
[PE1]int g0/0
[PE1-GigabitEthernet0/0]mpls enable //接口使能mpls
[PE1-GigabitEthernet0/0]mpls ldp enable //接口使能ipv4的ldp功能
[P1]mpls lsr-id 101.101.101.101
[P1]mpls ldp
[P1-ldp]quit
[P1]int range g0/0 g0/1
[P1-if-range]mpls enable
[P1-if-range]mpls ldp enable
[PE2]mpls lsr-id 2.2.2.2
[PE2]mpls ldp
[PE2-ldp]quit
[PE2]int g0/0
[PE2-GigabitEthernet0/0]mpls enable
[PE2-GigabitEthernet0/0]mpls ldp enable
===============================>AS100↑
[PE3]mpls lsr-id 3.3.3.3
[PE3]mpls ldp
[PE3-ldp]int g0/1
[PE3-GigabitEthernet0/1]mpls en
[PE3-GigabitEthernet0/1]mpls ldp en
[P2]mpls lsr-id 102.102.102.102
[P2]mpls ldp
[P2-ldp]int range g0/0 g0/1
[P2-if-range]mpls enable
[P2-if-range]mpls ldp enable
[PE4]mpls lsr-id 4.4.4.4
[PE4]mpls ldp
[PE4-ldp]int g0/0
[PE4-GigabitEthernet0/0]mpls enable
[PE4-GigabitEthernet0/0]mpls ldp enable
===============================>AS200↑
3、创建VPN实例
[PE1]ip vpn-instance vpn1 //创建名为vpn1的vpn实例,各个vpn实例的名称可以不一样,但是有需求的vpn实例中的RD、RT值需要按需配置
[PE1-vpn-instance-vpn1]route-distinguisher 100:1 //RD值用于路由撤销,以区分不同VPN实例(防止地址空间重叠)
[PE1-vpn-instance-vpn1]vpn-target 100:1 both //both是将import和export的RT值都设置为相同 的。import值取交集来决定是否接收路由。export值发送会带出去,其他路由器会根据其值来和自身import值取交集选择是否接收
[PE1]ip vpn-instance vpn2
[PE1-vpn-instance-vpn2]route-distinguisher 200:1
[PE1-vpn-instance-vpn2]vpn-target 200:1 both
[PE2]ip vpn-instance vpn1
[PE2-vpn-instance-vpn1]vpn-target 100:1 both
[PE2-vpn-instance-vpn1]route-distinguisher 100:1
[PE2]ip vpn-instance vpn2
[PE2-vpn-instance-vpn2]vpn-target 200:1 both
[PE2-vpn-instance-vpn2]route-distinguisher 200:1
------
[PE4]ip vpn-instance vpn11
[PE4-vpn-instance-vpn11]vpn-target 100:1 both
[PE4-vpn-instance-vpn11]route-distinguisher 100:1
[PE4]ip vpn-instance vpn22
[PE4-vpn-instance-vpn22]vpn-target 200:1 both
[PE4-vpn-instance-vpn22]route-distinguisher 200:1
[PE3]ip vpn-instance 11
[PE3-vpn-instance-11]vpn-target 100:1 both
[PE3-vpn-instance-11]route-distinguisher 100:1
[PE3]ip vpn-instance 22
[PE3-vpn-instance-22]vpn-target 200:1 both
[PE3-vpn-instance-22]route-distinguisher 200:1
4、配置PE与CE间的基于VPN实例的ospf
[CE1]ospf 1
[CE1-ospf-1]a 0
[CE1-ospf-1-area-0.0.0.0]net 172.16.1.0 0.0.0.3
[CE1-ospf-1-area-0.0.0.0]net 192.168.1.1 0.0.0.0
[CE2]ospf 1
[CE2-ospf-1]a 0
[CE2-ospf-1-area-0.0.0.0]net 172.16.1.4 0.0.0.3
[CE2-ospf-1-area-0.0.0.0]net 192.168.1.1 0.0.0.0
[PE1]ospf 11 vpn-instance vpn1 //ospf进程11所属VPN实例为vpn1
[PE1-ospf-11]a 0
[PE1-ospf-11-area-0.0.0.0]net 172.16.1.0 0.0.0.3
[PE1]ospf 12 vpn-instance vpn2
[PE1-ospf-12]a 0
[PE1-ospf-12-area-0.0.0.0]net 172.16.1.4 0.0.0.3
[PE1]int g0/1
[PE1-GigabitEthernet0/1]ip binding vpn-instance vpn1 //接口绑定VPN实例,该命令会清除端口部分配置
[PE1-GigabitEthernet0/1]ip address 172.16.1.1 255.255.255.252 //如ip会被清除,需要重新配置,需注意!所以建议先配置VPN实例绑定后进行IP配置
[PE1]int g0/2
[PE1-GigabitEthernet0/2]ip binding vpn-instance vpn2
[PE1-GigabitEthernet0/2]ip add 172.16.1.5 30
------
[PE4]ospf 11 vpn-instance vpn11
[PE4-ospf-11]a 0
[PE4-ospf-11-area-0.0.0.0]net 172.16.2.0 0.0.0.3
[PE4]ospf 12 vpn-instance vpn22
[PE4-ospf-12]a 0
[PE4-ospf-12-area-0.0.0.0]net 172.16.2.4 0.0.0.3
[PE4]int g0/1
[PE4-GigabitEthernet0/1]ip binding vpn-instance vpn11
[PE4-GigabitEthernet0/1]ip add 172.16.2.1 30
[PE4]int g0/2
[PE4-GigabitEthernet0/2]ip binding vpn-instance vpn22
[PE4-GigabitEthernet0/2]ip add 172.16.2.5 30
[CE3]ospf 1 //CE端ospf正常配置即可
[CE3-ospf-1]a 0
[CE3-ospf-1-area-0.0.0.0]net 192.168.2.1 0.0.0.0
[CE3-ospf-1-area-0.0.0.0]net 172.16.2.0 0.0.0.3
[CE4]ospf 1
[CE4-ospf-1]a 0
[CE4-ospf-1-area-0.0.0.0]net 192.168.2.2 0.0.0.0
[CE4-ospf-1-area-0.0.0.0]net 172.16.2.4 0.0.0.3
5、配置MP-BGP,PE间建立IBGP邻居关系
[PE1]bgp 100
[PE1-bgp-default]peer 2.2.2.2 as 100
[PE1-bgp-default]peer 2.2.2.2 con l0 //这里IBGP用的是环回口建立,所以需要更改更新源为环回口
[PE1-bgp-default]add vpnv4 //进入vpnv4地址族视图中使能IBGP邻居,配置了该项是MP-BGP
[PE1-bgp-default-vpnv4]peer 2.2.2.2 enable
[PE2]bgp 100
[PE2-bgp-default]peer 1.1.1.1 as 100
[PE2-bgp-default]peer 1.1.1.1 con l0
[PE2-bgp-default]add vpnv4
[PE2-bgp-default-vpnv4]peer 1.1.1.1 enable
------
[PE3]bgp 200
[PE3-bgp-default]peer 4.4.4.4 as 200
[PE3-bgp-default]peer 4.4.4.4 con l0
[PE3-bgp-default]add vpnv4
[PE3-bgp-default-vpnv4]peer 4.4.4.4 enable
[PE4]bgp 200
[PE4-bgp-default]peer 3.3.3.3 as 200
[PE4-bgp-default]peer 3.3.3.3 con l0
[PE4-bgp-default]add vpnv4
[PE4-bgp-default-vpnv4]peer 3.3.3.3 en
6、配置普通BGP(EBGP),基于VPN实例
[PE2]int g0/1.1 //由于有两个VPN实例,却只有一条物理链路的情况下,使用子接口来配置
[PE2-GigabitEthernet0/1.1]ip binding vpn-instance vpn1 //VPN实例绑定子接口
[PE2-GigabitEthernet0/1.1]ip add 30.0.0.1 30
[PE2-GigabitEthernet0/1.1]vlan-type dot1q vid 10
[PE2]int g0/1.2
[PE2-GigabitEthernet0/1.2]ip binding vpn-instance vpn2
[PE2-GigabitEthernet0/1.2]ip add 40.0.0.1 30
[PE2-GigabitEthernet0/1.2]vlan-type dot1q vid 20
[PE2]bgp 100
[PE2-bgp-default]ip vpn-instance vpn1 //进入VPN实例视图
[PE2-bgp-default-vpn1]peer 30.0.0.2 as 200 //使用物理接口IP建立EBGP邻居
[PE2-bgp-default-vpn1]add ipv4 //进入ipv4地址族视图
[PE2-bgp-default-ipv4-vpn1]peer 30.0.0.2 enable //邻居使能
[PE2-bgp-default]ip vpn-instance vpn2
[PE2-bgp-default-vpn2]peer 40.0.0.2 as 200
[PE2-bgp-default-vpn2]add ipv4
[PE2-bgp-default-ipv4-vpn2]peer 40.0.0.2 enable
------
[PE3]int g0/0.1
[PE3-GigabitEthernet0/0.1]ip binding vpn 11
[PE3-GigabitEthernet0/0.1]ip add 30.0.0.2 30
[PE3-GigabitEthernet0/0.1]vlan-type dot1q vid 10
[PE3]int g0/0.2
[PE3-GigabitEthernet0/0.2]ip binding vpn 22
[PE3-GigabitEthernet0/0.2]ip add 40.0.0.2 30
[PE3-GigabitEthernet0/0.2]vlan-type dot1q vid 20
[PE3]bgp 200
[PE3-bgp-default]ip vpn-instance 11
[PE3-bgp-default-11]peer 30.0.0.1 as 100
[PE3-bgp-default-11]add ipv4
[PE3-bgp-default-ipv4-11]peer 30.0.0.1 en
[PE3-bgp-default]ip vpn-instance 22
[PE3-bgp-default-22]peer 40.0.0.1 as 100
[PE3-bgp-default-22]add ipv4
[PE3-bgp-default-ipv4-22]peer 40.0.0.1 en
7、OSPF/BGP路由双向引入
[PE1]bgp 100
[PE1-bgp-default]ip vpn-instance vpn1
[PE1-bgp-default-vpn1]add ipv4
[PE1-bgp-default-ipv4-vpn1]import-route ospf 11 //对应的vpn实例下引入对应的ospf进程路由
[PE1-bgp-default]ip vpn-instance vpn2
[PE1-bgp-default-vpn2]add ipv4
[PE1-bgp-default-ipv4-vpn2]import-route ospf 12
[PE1]ospf 11
[PE1-ospf-11]import-route bgp //这里实验环境直接引入bgp路由
[PE1]ospf 12
[PE1-ospf-12]import-route bgp
[PE4]bgp 200
[PE4-bgp-default]ip vpn-instance vpn11
[PE4-bgp-default-vpn11]add ipv4
[PE4-bgp-default-ipv4-vpn11]import-route ospf 11
[PE4-bgp-default]ip vpn-instance vpn22
[PE4-bgp-default-vpn22]add ipv4
[PE4-bgp-default-ipv4-vpn22]import-route ospf 12
[PE4]ospf 11
[PE4-ospf-11]import-route bgp
[PE4-ospf-11]ospf 12
[PE4-ospf-12]import-route bgp
四、实验结果
1、私网互通
[CE1]tracert -a 192.168.1.1 192.168.2.1
traceroute to 192.168.2.1 (192.168.2.1) from 192.168.1.1, 30 hops at most, 40 bytes each packet, press CTRL+C to break
1 172.16.1.1 (172.16.1.1) 1.000 ms 0.000 ms 3.000 ms
2 30.0.0.1 (30.0.0.1) 2.000 ms 2.000 ms 2.000 ms
3 30.0.0.2 (30.0.0.2) 2.000 ms 2.000 ms 1.000 ms
4 172.16.2.1 (172.16.2.1) 2.000 ms 2.000 ms 2.000 ms
5 172.16.2.2 (172.16.2.2) 2.000 ms 2.000 ms 3.000 ms
2、LDP信息
[PE1]dis mpls ldp lsp
Status Flags: * - stale, L - liberal, B - backup, N/A - unavailable
FECs: 3 Ingress: 2 Transit: 2 Egress: 1
FEC In/Out Label Nexthop OutInterface/LSINDEX
1.1.1.1/32 3/-
-/24128(L)
2.2.2.2/32 -/24127 10.0.0.1 GE0/0
24127/24127 10.0.0.1 GE0/0
101.101.101.101/32 -/3 10.0.0.1 GE0/0
24128/3 10.0.0.1 GE0/0
3、路由信息
[CE1]dis ospf routing
OSPF Process 1 with Router ID 192.168.1.1
Routing Table
Routing for network
Destination Cost Type NextHop AdvRouter Area
192.168.1.1/32 0 Stub 0.0.0.0 192.168.1.1 0.0.0.0
172.16.1.0/30 1 Transit 0.0.0.0 192.168.1.1 0.0.0.0
Routing for ASEs
Destination Cost Type Tag NextHop AdvRouter
192.168.2.1/32 1 Type2 3489661028 172.16.1.1 172.16.1.1
Total nets: 3
Intra area: 2 Inter area: 0 ASE: 1 NSSA: 0
[CE2]dis ospf routing
OSPF Process 1 with Router ID 192.168.1.1
Routing Table
Routing for network
Destination Cost Type NextHop AdvRouter Area
172.16.1.4/30 1 Transit 0.0.0.0 192.168.1.1 0.0.0.0
192.168.1.1/32 0 Stub 0.0.0.0 192.168.1.1 0.0.0.0
Routing for ASEs
Destination Cost Type Tag NextHop AdvRouter
192.168.2.2/32 1 Type2 3489661028 172.16.1.5 172.16.1.5
Total nets: 3
Intra area: 2 Inter area: 0 ASE: 1 NSSA: 0
4、抓包分析
点点赞,关注一下!制作不易!