快捷搜索:  汽车  科技

解读MPLSVPNHub-Spoke组网实验:解读MPLSVPNHub-Spoke组网实验

解读MPLSVPNHub-Spoke组网实验:解读MPLSVPNHub-Spoke组网实验2:配置并验证MPLS VPN Hub-Spoke组网,Hub Spoke的设计核心是对Hub PE及Spoke PE设备上的vpn-instance的设计。1:基本的IP地址配置如拓扑所示,每个设备都有一个loopback0口,ISP骨干网IGP采用OSPF,MPLS LDP(本步骤省略)实验拓扑实验采用华为ENSP模拟器来完成,完成以上MPLS VPN Hub-Spoke VPN组网建设后,可以使得HUB中心站点能够访问任意Spoke站点,同时Spoke站点能够通过Hub站点进行中转互访。具体的实验步骤如下:实验步骤

在HCIE-Routing & Switching考试中,我们需要掌握MPLS VPN的知识点,其中涉及到了如何部署MPLS VPN Hub Spoke、MPLS VPN Hub Spoke实现原理等。今天就让我们通过一个实验来学习MPLS VPN Hub Spoke实现原理及配置。

首先通过一张图来了解HUB Spoke组网,HUB一般为公司的总部站点,Spoke一般为公司的分支站点,HUB spoke的模型要求是spoke之间的互访流量必须经过HUB中心站点的中转(图中PC1和PC2互访流量必须经过中间HUB站点完成)。

解读MPLSVPNHub-Spoke组网实验:解读MPLSVPNHub-Spoke组网实验(1)

这样的架构模型叫做Hub Spoke模型,最早在OSPF FR环境中经常用到,但随着网络的发展,Hub Spoke模型不再局限于OSPF FR,而且FR已经被淘汰。只要符合这种流量模型的组网架构都可以统称为Hub Spoke模型。例如在MSPLS VPN组网中、IPsec VPN组网中都有此架构。

Hub Spoke MPLS VPN实验拓扑如下:

实验拓扑

解读MPLSVPNHub-Spoke组网实验:解读MPLSVPNHub-Spoke组网实验(2)

实验采用华为ENSP模拟器来完成,完成以上MPLS VPN Hub-Spoke VPN组网建设后,可以使得HUB中心站点能够访问任意Spoke站点,同时Spoke站点能够通过Hub站点进行中转互访。具体的实验步骤如下:

实验步骤

1:基本的IP地址配置如拓扑所示,每个设备都有一个loopback0口,ISP骨干网IGP采用OSPF,MPLS LDP(本步骤省略)

2:配置并验证MPLS VPN Hub-Spoke组网,Hub Spoke的设计核心是对Hub PE及Spoke PE设备上的vpn-instance的设计。

参数规划:

与Site1连接的vpn-instance

Name:ccz

RD:100:1

RT:100:1 export,100:2 import

出向RT值等于HUB站点入向vpn-instance里的入向RT,入向RT等于HUB站点出向vpn-instance里的出向RT。

与Site2连接的vpn-instance(配置同与Site1连接的VRF)

Name:ccz

RD: 100:1

RT:100:1 export,100:2 import

在HUB PE设备上需要配置两个vpn-instance,一个的目的是为了从spoke PE接收路由,并且将路由发布给Hub CE,另外一个vpn-instance是为了从Hub CE接收路由并通过MP-BGP发布给spoke PE。

与Hub连接的vpn-instance

Name:ccz_in

RD: 100:1

RT:100:1 import

与Hub连接的 vpn-instance

Name:ccz_out

RD: 100:2

RT:100:2 export

各个PE设备配置VPN-Instance,并与相应的接口绑定:

在R2上配置如下:

[R2]ip vpn-instance ccz

[R2-vpn-instance-ccz]route-distinguisher 100:1

[R2-vpn-instance-ccz-af-ipv4]vpn-target 100:1 export-extcommunity

[R2-vpn-instance-ccz-af-ipv4]vpn-target 100:2 import-extcommunity

[R2-vpn-instance-ccz-af-ipv4]quit

[R2]interface g0/0/0

[R2-GigabitEthernet0/0/0]ip binding vpn-instance czz

[R2-GigabitEthernet0/0/0]ip add 10.1.12.2 24

[R2-GigabitEthernet0/0/0]quit

[R2]

在R5上配置以下命令:

[R5]ip vpn-instance ccz

[R5-vpn-instance-ccz]route-distinguisher 100:1

[R5-vpn-instance-ccz-af-ipv4]vpn-target 100:1 export-extcommunity

[R5-vpn-instance-ccz-af-ipv4]vpn-target 100:2 import-extcommunity

[R5-vpn-instance-ccz-af-ipv4]quit

[R5]interface g0/0/0

[R5-GigabitEthernet0/0/0]ip binding vpn-instance czz

[R5-GigabitEthernet0/0/0]ip add 10.1.56.5 24

[R5-GigabitEthernet0/0/0]quit

[R5]

重点强调:

对于连接Hub点的PE设备,需要配置两个vpn-instance,ccz_in和ccz_out。在控制层面,ccz_in用于接收各Spoke节点通告的路由,ccz_out用于将Spoke节点通告的路由转告给其他Spoke节点同时将Hub节点的路由信息通告给Spoke节点;在数据转发层面,Spoke互访或者Sopke访问Hub的流量通过ccz_out转发给Hub,通过Hub中转后通过ccz_in转发给目的Spoke节点。如果每个vpn-instance都绑定一个物理接口与Hub-CE设备互联,将使用过多的物理接口,为了节省物理接口,此处采用子接口与Hub-CE设备互联,将子接口绑定到vpn-instance:

在R3上配置以下命令:

[R3]ip vpn-instance czz_in

[R3-vpn-instance-czz_in]route-distinguisher 100:1

[R3-vpn-instance-czz_in]vpn-target 100:1 import-extcommunity //只需配置出向RT

[R3-vpn-instance-czz_in]quit

[R3]

[R3]ip vpn-instance czz_out

[R3-vpn-instance-czz_out]route-distinguisher 100:2 //RD值需保持本地唯一

[R3-vpn-instance-czz_out]vpn-target 100:2 import-extcommunity //只需配置出向RT

[R3-vpn-instance-czz_out]quit

[R3]

R3与CE之间采用子接口方式互联;

[R3]interface GigabitEthernet 0/0/0.1

[R3-GigabitEthernet0/0/0.1]dot1q termination vid 1

[R3-GigabitEthernet0/0/0.1]ip binding vpn-instance ccz_in

[R3-GigabitEthernet0/0/0.1]arp broadcast enable

[R3-GigabitEthernet0/0/0.1]quit

[R3]

[R3]interface GigabitEthernet 0/0/0.2

[R3-GigabitEthernet0/0/0.2]dot1q termination vid 2

[R3-GigabitEthernet0/0/0.2]ip binding vpn-instance ccz_out

[R3-GigabitEthernet0/0/0.2]arp broadcast enable

[R3-GigabitEthernet0/0/0.2]quit

[R3]

PE和CE之间理论上IGP和BGP都可以采用,本次实验PEs和CEs之间我们采用最熟悉的OSPF协议,配置如下:

R1上配置如下:

[R1]router id 10.1.1.1

[R1]ospf 10

[R1-ospf-10]ar 0

[R1-ospf-10-area-0.0.0.0]network 10.1.1.1 0.0.0.0

[R1-ospf-10-area-0.0.0.0]network 10.1.12.1 0.0.0.0

[R1-ospf-10-area-0.0.0.0]quit

[R1-ospf-10]quit

[R1]

R2上的配置如下:

[R2]ospf 10 vpn-instance czz

[R2-ospf-10]area 0

[R2-ospf-10-area-0.0.0.0]network 10.1.12.2 0.0.0.0

[R2-ospf-10-area-0.0.0.0]q

[R2-ospf-10]q

[R2]

[R2]

R6上的配置如下:

[R6]ospf 10

[R6-ospf-10]ar 0

[R6-ospf-10-area-0.0.0.0]network 10.6.6.6 0.0.0.0

[R6-ospf-10-area-0.0.0.0]network 10.1.56.6 0.0.0.0

[R6-ospf-10-area-0.0.0.0]quit

[R6-ospf-10]quit

[R6]

R5上的配置如下:

[R5]ospf 10 vpn-instance ccz

[R5-ospf-10]area 0

[R5-ospf-10-area-0.0.0.0]network 10.1.56.5 0.0.0.0

[R5-ospf-10-area-0.0.0.0]quit

[R5-ospf-10]

R3上的配置如下;需要配置两个OSPF进程,分别服务于两个vpn-instance,将与HUB-CE互联的两个子接口地址分别宣告进入两个OSPF的区域0中。

[R3]ospf 10 vpn-instance ccz_in

[R3-ospf-10]area 0

[R3-ospf-10-area-0.0.0.0]network 10.1.34.3 0.0.0.0

[R3-ospf-10-area-0.0.0.0]quit

[R3-ospf-10]quit

[R3]

[R3]ospf 20 vpn-instance ccz_out

[R3-ospf-20]area 0

[R3-ospf-20-area-0.0.0.0]network 10.1.43.3 0.0.0.0

[R3-ospf-20-area-0.0.0.0]quit

[R3-ospf-20]quit

[R3]

由于HUB-PE设备通过两个子接口与HUB-CE设备互联,所以HUB-CE设备也需要配置两个子接口。第一种实现方式是在HUB CE上同时配置两个OSPF进程,进程10和进程20,分别通过两个子接口与 HUB-PE建立邻居关系,进程10用于接收Spoke节点的路由,进程20用于向Spoke节点发布路由,并把HUB点需要发布的路由宣告进进程20,然后两个OSPF进程相互引入(至少把接收Spoke节点路由的进程引入到向Spoke节点发布路由的进程中,此处即将进程10进入进程20),在做引入时可以使用路由策略,从而起到在Hub点控制Spoke互访的作用。

R4的配置如下:

[R4]ospf 10

[R4-ospf-10]area 0

[R4-ospf-10-area-0.0.0.0]network 10.1.34.4 0.0.0.0

[R4-ospf-10-area-0.0.0.0]q

[R4-ospf-10]q

[R4]

//进程10通过G0/0/0.1接口与服务于HUB-PE VRF ccz_in的OSPF进程10建立邻居关系,用于接收Spoke节点的路由。

[R4]ospf 20

[R4-ospf-20]import-route ospf 10

[R4-ospf-20]area 0

[R4-ospf-20-area-0.0.0.0]network 10.1.43.4 0.0.0.0

[R4-ospf-20-area-0.0.0.0]network 10.4.4.4 0.0.0.0

[R4-ospf-20-area-0.0.0.0]q

[R4-ospf-20]q

[R4]

//OSPF进程20通过G0/0/0.2接口与HUB-PE服务于vpn-instance ccz_out的ospf进程20建立邻居关系,并将本地需要向spoke节点发布的路由宣告在本地进程下。

由于spoke节点要通过hub几点互访,所以需要将ospf进程10引入到进程20中,再通过本地进程发布到其他spoke节点,在引入是可以使用路由策略,从而控制spoke节点之间的互访。

配置完成后,在Hub-PE R3设备查看两个OSPF进程的邻居关系:

[R3]dis ospf 10 peerbrief

oSPF Process 10 withRouter ID 10.1.34.3

Peer statisticInformation

--------------------------------------------------------

Area_id Interface Neighborid State

0.0.0.0 GigabitEtherneto/o/o.110.4.4.4 Fu11

-----------------------------------------------------------

[R3]dis ospf 20 peer brief

oSPF Process 20 withRouter ID 10.1.43.3

Peer Statisticinformation

----------------------

Area_id Interface Neighborid State

0.0.0.0 GigabitEtherneto/o/o.2 10.4.4.4 Fu11

Spoke-PE和Hub-PE之间建立MP-BGP,并与vpn-instance的OSPF进程相互引入路由:

R2的配置如下:

[R2]bgp 100

[R2-bgp]undo default ipv4-unicast

[R2-bgp]peer 10.3.3.3 as-number 100

[R2-bgp]peer 10.3.3.3 connect-interface lo0

[R2-bgp]ipv4-family vpnv4 unicast

[R2-bgp-af-vpnv4]peer 10.3.3.3 enable

[R2-bgp-af-vpnv4]quit

[R2-bgp]ipv4-family vpn-instance ccz

[R2-bgp-ccz]import-route ospf 10

[R2-bgp-ccz]quit

[R2-bgp]

[R2]ospf 10

[R2-ospf-10]import-route bgp

[R2-ospf-10]q

[R2]

R5的配置如下:

[R5]bgp 100

[R5-bgp]undo default ipv4-unicast

[R5-bgp]peer 10.3.3.3 as-number 100

[R5-bgp]peer 10.3.3.3 connect-interface lo0

[R5-bgp]ipv4-family vpnv4 unicast

[R5-bgp-af-vpnv4]peer 10.3.3.3 enable

[R5-bgp-af-vpnv4]quit

[R5-bgp]ipv4-family vpn-instance ccz

[R5-bgp-ccz]import-route ospf 10

[R5-bgp-ccz]quit

[R5-bgp]

[R5]ospf 10

[R5-ospf-10]import-route bgp

[R5-ospf-10]q

[R5]

R3的配置如下:

[R3]bgp 100

[R3-bgp]undo default ipv4-unicast

[R3-bgp]peer 10.2.2.2 as-number 100

[R3-bgp]peer 10.2.2.2 connect-interface lo0

[R3-bgp]peer 10.5.5.5 as-number 100

[R3-bgp]peer 10.5.5.5 connect-interface lo0

[R3-bgp]ipv4-family vpnv4 unicast

[R3-bgp-af-vpnv4]peer 10.2.2.2 enable

[R3-bgp-af-vpnv4]peer 10.5.5.5 enable

[R3-bgp-af-vpnv4]quit

[R3-bgp]ipv4-family vpn-instance ccz_in

[R3-bgp-ccz_in]import-route ospf 10 //将OSPF路由引入到MP-BGP中。

[R3-bgp-ccz_in]quit

[R3-bgp]ipv4-family vpn-instance ccz_out //将OSPF路由引入到MP-BGP中。

[R3-bgp-ccz_out]import-route ospf 20

[R3-bgp-ccz_out]quit

[R3]ospf 10

[R3-ospf-10]import-route bgp //将MP-BGP传递过来的对端site的路由引入到OSPF中

[R3-ospf-10]q

[R3]

[R3]ospf 20

[R3-ospf-20]import-route bgp //将MP-BGP传递过来的对端site的路由引入到OSPF中

[R3-ospf-20]q

[R3]

完成操作后,查看Spoke节点和Hub节点的路由表信息。

在R1上检查路由表:

[R1]dis_ip routing-table protocol ospf

Route Flags: R- reiay D - download to fib

----------------------------------------------------------------·

Routing Tables: Public

Destinations : 13 Routes : 13

解读MPLSVPNHub-Spoke组网实验:解读MPLSVPNHub-Spoke组网实验(3)

//由于是在hub节点执行引入操作,所以其他spoke节点的路信息以路由信息以外外部路由呈现,在某些情况下,有可能以域间路由的形式存在,具体请看后续的实验步骤。

在R6上检查路由表:

[R6]dis_ip routing-table protocol ospf

Route Flags: R- reiay D - download to fib

----------------------------------------------------------------·

解读MPLSVPNHub-Spoke组网实验:解读MPLSVPNHub-Spoke组网实验(4)

解读MPLSVPNHub-Spoke组网实验:解读MPLSVPNHub-Spoke组网实验(5)

解读MPLSVPNHub-Spoke组网实验:解读MPLSVPNHub-Spoke组网实验(6)

解读MPLSVPNHub-Spoke组网实验:解读MPLSVPNHub-Spoke组网实验(7)

解读MPLSVPNHub-Spoke组网实验:解读MPLSVPNHub-Spoke组网实验(8)

解读MPLSVPNHub-Spoke组网实验:解读MPLSVPNHub-Spoke组网实验(9)

解读MPLSVPNHub-Spoke组网实验:解读MPLSVPNHub-Spoke组网实验(10)

猜您喜欢: