配置Hub and Spoke示例—详解版

组网需求

某银行希望通过MPLS VPN实现总行和各分行的安全互访,同时要求分行的VPN流量必须通过总行转发,以实现对流量的监控。如下图所示,Spoke-CE连接分支机构,Hub-CE连接公司总部,实现Spoke-CE之间的流量经过Hub-CE转发。

配置思路

本例配置主要思路是:

  1. 骨干网上配置IGP协议,实现骨干网Hub-PE和Spoke-PE的互通。
  2. 骨干网上配置MPLS基本能力和MPLS LDP,建立LDP LSP公网隧道。
  3. Hub-PE与Spoke-PE间建立MP-IBGP对等体关系;Spoke-PE之间不建立MP-IBGP对等体关系,不交换VPN路由信息。
  4. Hub-PE上创建两个VPN实例,一个用于接收Spoke-PE发来的路由,其Import Target为100:123; 另一个用于向Spoke-PE发布路由,其VPN实例的Export Target为200:123。
  5. Spoke-PE上创建一个VPN实例,其Export Target为100:123,Import Target为200:123。
  6. CE和PE之间使用EBGP交换VPN路由信息。Hub-PE上配置允许接收AS重复1次的路由,以接收Hub-CE发布的路由。

操作步骤

1.配置各接口IP地址

Spoke-CE1

#进入系统视图
<Huawei>system-view
#修改设备名称
[Huawei]sysname Spoke-CE1

#进入接口GE0/0/0视图
[Spoke-CE1]interface GigabitEthernet 0/0/0
#为接口GE0/0/0配置IP地址为172.16.1.1,子网掩码都为255.255.255.0
[Spoke-CE1-GigabitEthernet0/0/0]ip address 172.16.1.1 24
#从接口视图返回到系统视图
[Spoke-CE1-GigabitEthernet0/0/0]quit

Spoke-PE1

<Huawei>system-view
[Huawei]sysname Spoke-PE1

[Spoke-PE1]interface GigabitEthernet 0/0/0
[Spoke-PE1-GigabitEthernet0/0/0]ip address 172.16.1.2 24
[Spoke-PE1-GigabitEthernet0/0/0]quit

[Spoke-PE1]interface GigabitEthernet 0/0/1
[Spoke-PE1-GigabitEthernet0/0/1]ip address 192.168.12.2 24
[Spoke-PE1-GigabitEthernet0/0/1]quit

[Spoke-PE1]interface LoopBack 1
[Spoke-PE1-LoopBack1]ip address 2.2.2.2 32
[Spoke-PE1-LoopBack1]quit

Spoke-PE2

<Huawei>system-view
[Huawei]sysname Spoke-PE2

[Spoke-PE2]interface GigabitEthernet 0/0/0
[Spoke-PE2-GigabitEthernet0/0/0]ip address 172.16.2.2 24
[Spoke-PE2-GigabitEthernet0/0/0]quit

[Spoke-PE2]interface GigabitEthernet 0/0/1
[Spoke-PE2-GigabitEthernet0/0/1]ip address 192.168.13.3 24
[Spoke-PE2-GigabitEthernet0/0/1]quit

[Spoke-PE2]interface LoopBack 1
[Spoke-PE2-LoopBack1]ip add 3.3.3.3 32
[Spoke-PE2-LoopBack1]quit

Spoke-CE2

<Huawei>system-view
[Huawei]sysname Spoke-CE2

[Spoke-CE2]interface GigabitEthernet 0/0/0
[Spoke-CE2-GigabitEthernet0/0/0]ip address 172.16.2.1 24
[Spoke-CE2-GigabitEthernet0/0/0]quit

Hub-CE

<Huawei>system-view
[Huawei]sysname Hub-CE

[Hub-CE]interface GigabitEthernet 0/0/0
[Hub-CE-GigabitEthernet0/0/0]ip address 10.1.1.1 24
[Hub-CE-GigabitEthernet0/0/0]quit

[Hub-CE]interface GigabitEthernet 0/0/1
[Hub-CE-GigabitEthernet0/0/1]ip address 10.1.2.1 24
[Hub-CE-GigabitEthernet0/0/1]quit

Hub-PE

<Huawei>system-view
[Huawei]sysname Hub-PE

[Hub-PE]interface GigabitEthernet 0/0/0
[Hub-PE-GigabitEthernet0/0/0]ip address 10.1.1.2 24
[Hub-PE-GigabitEthernet0/0/0]quit

[Hub-PE]interface GigabitEthernet 0/0/1
[Hub-PE-GigabitEthernet0/0/1]ip address 10.1.2.2 24
[Hub-PE-GigabitEthernet0/0/1]quit

[Hub-PE]interface GigabitEthernet 4/0/0
[Hub-PE-GigabitEthernet4/0/0]ip address 192.168.12.1 24
[Hub-PE-GigabitEthernet4/0/0]quit

[Hub-PE]interface GigabitEthernet 4/0/1
[Hub-PE-GigabitEthernet4/0/1]ip address 192.168.13.1 24
[Hub-PE-GigabitEthernet4/0/1]quit

[Hub-PE]interface LoopBack 1
[Hub-PE-LoopBack1]ip add 1.1.1.1 32
[Hub-PE-LoopBack1]quit

验证

配置完成后,使用<font style="color:#DF2A3F;">display ip interface brief</font>**命令查看设备上所有接口的与IP是否与拓扑图规划一致。

以Hub-PE的显示为例:

[Hub-PE]display ip interface brief
*down: administratively down
^down: standby
(l): loopback
(s): spoofing
The number of interface that is UP in Physical is 6
The number of interface that is DOWN in Physical is 3
The number of interface that is UP in Protocol is 6
The number of interface that is DOWN in Protocol is 3

Interface                         IP Address/Mask      Physical   Protocol  
GigabitEthernet0/0/0              10.1.1.2/24          up         up        
GigabitEthernet0/0/1              10.1.2.2/24          up         up        
GigabitEthernet0/0/2              unassigned           down       down      
GigabitEthernet4/0/0              192.168.12.2/24      up         up        
GigabitEthernet4/0/1              192.168.13.3/24      up         up        
GigabitEthernet4/0/2              unassigned           down       down      
GigabitEthernet4/0/3              unassigned           down       down      
LoopBack1                         1.1.1.1/32           up         up(s)     
NULL0                             unassigned           up         up(s) 

2.在IP/MPLS骨干网上配置OSPF协议,实现骨干网Hub-PE和Spoke-PE的互通

Spoke-PE1

#运行OSPF协议。进程号,缺省值为1。如果没有通过命令指定ID号,系统会从当前接口的IP地址中自动选取一个作为设备的ID号。缺省情况下,路由器系统会从当前接口的IP地址中自动选取一个最大值作为Router ID。
[Spoke-PE1]ospf
#创建并进入OSPF区域视图,0的称为骨干区域。
[Spoke-PE1-ospf-1]area 0
#配置区域所包含的网段,其中掩码是IP地址的反码
[Spoke-PE1-ospf-1-area-0.0.0.0]network 2.2.2.2 0.0.0.0 
[Spoke-PE1-ospf-1-area-0.0.0.0]network 192.168.12.0 0.0.0.255
#从OSPF区域视图返回到OSPF视图
[Spoke-PE1-ospf-1-area-0.0.0.0]quit
#从OSPF视图返回到系统视图
[Spoke-PE1-ospf-1]quit

Spoke-PE2

[Spoke-PE2]ospf
[Spoke-PE2-ospf-1]area 0
[Spoke-PE2-ospf-1-area-0.0.0.0]network 3.3.3.3 0.0.0.0 
[Spoke-PE2-ospf-1-area-0.0.0.0]network 192.168.13.0 0.0.0.255
[Spoke-PE2-ospf-1-area-0.0.0.0]quit
[Spoke-PE2-ospf-1]quit

Hub-PE

[Hub-PE]ospf
[Hub-PE-ospf-1]area 0
[Hub-PE-ospf-1-area-0.0.0.0]network 1.1.1.1 0.0.0.0 
[Hub-PE-ospf-1-area-0.0.0.0]network 192.168.12.0 0.0.0.255
[Hub-PE-ospf-1-area-0.0.0.0]network 192.168.13.0 0.0.0.255
[Hub-PE-ospf-1-area-0.0.0.0]quit
[Hub-PE-ospf-1]quit

验证

配置完成后,Hub-PE、Spoke-PE1、Spoke-PE2之间应能建立OSPF邻居关系,执行**<font style="color:#DF2A3F;">display ospf peer</font>**命令可以看到邻居状态为Full。执行**<font style="color:#DF2A3F;">display ospf routing</font>**命令可以看到PE之间学习到对方的Loopback1路由。

以Hub-PE的显示为例:

[Hub-PE]display ospf peer

	 OSPF Process 1 with Router ID 10.1.1.2
		 Neighbors 

 Area 0.0.0.0 interface 192.168.12.1(GigabitEthernet4/0/0)'s neighbors
 Router ID: 172.16.1.2       Address: 192.168.12.2    
   State: Full  Mode:Nbr is  Master  Priority: 1
   DR: 192.168.12.2  BDR: 192.168.12.1  MTU: 0    
   Dead timer due in 37  sec 
   Retrans timer interval: 5 
   Neighbor is up for 00:13:22     
   Authentication Sequence: [ 0 ] 

		 Neighbors 

 Area 0.0.0.0 interface 192.168.13.1(GigabitEthernet4/0/1)'s neighbors
 Router ID: 172.16.2.2       Address: 192.168.13.3    
   State: Full  Mode:Nbr is  Master  Priority: 1
   DR: 192.168.13.1  BDR: 192.168.13.3  MTU: 0    
   Dead timer due in 30  sec 
   Retrans timer interval: 5 
   Neighbor is up for 00:13:38     
   Authentication Sequence: [ 0 ] 

[Hub-PE]display ospf routing

	 OSPF Process 1 with Router ID 10.1.1.2
		  Routing Tables 

 Routing for Network 
 Destination        Cost  Type       NextHop         AdvRouter       Area
 1.1.1.1/32         0     Stub       1.1.1.1         10.1.1.2        0.0.0.0
 192.168.12.0/24    1     Transit    192.168.12.1    10.1.1.2        0.0.0.0
 192.168.13.0/24    1     Transit    192.168.13.1    10.1.1.2        0.0.0.0
 2.2.2.2/32         1     Stub       192.168.12.2    172.16.1.2      0.0.0.0
 3.3.3.3/32         1     Stub       192.168.13.3    172.16.2.2      0.0.0.0

 Total Nets: 5  
 Intra Area: 5  Inter Area: 0  ASE: 0  NSSA: 0 

3.在骨干网上配置MPLS基本能力和MPLS LDP,建立LDP LSP

Spoke-PE1

#LSR ID用来在网络中唯一标识一个LSR。在网络中部署MPLS业务时,必须首先配置LSR ID。LSR没有缺省的LSR ID,必须手工配置。
#配置LSR的ID为2.2.2.2
[Spoke-PE1]mpls lsr-id 2.2.2.2

#使能本节点的全局MPLS能力,并进入MPLS视图。
[Spoke-PE1]mpls
#关闭MPLS标签倒数第二跳弹出功能。缺省情况下,使用的是implicit-null,表示支持PHP。Egress向倒数第二跳节点分配隐式空标签,值为3;配置的是non-null,表示不支持PHP。Egress向倒数第二跳正常分配标签,即分配的标签值不小于16。
[Spoke-PE1-mpls]label advertise non-null
#使能本节点的LDP能力,并进入MPLS-LDP视图。
[Spoke-PE1-mpls]mpls ldp
[Spoke-PE1-mpls-ldp]quit

#在GE0/0/0接口上使能MPLS能力与MPLS LDP功能。
[Spoke-PE1]interface GigabitEthernet 0/0/1
[Spoke-PE1-GigabitEthernet0/0/1]mpls
[Spoke-PE1-GigabitEthernet0/0/1]mpls ldp
[Spoke-PE1-GigabitEthernet0/0/1]quit

Spoke-PE2

[Spoke-PE2]mpls lsr-id 3.3.3.3
[Spoke-PE2]mpls
[Spoke-PE2-mpls]label advertise non-null
[Spoke-PE2-mpls]mpls ldp
[Spoke-PE2-mpls-ldp]quit

[Spoke-PE2]interface GigabitEthernet 0/0/1
[Spoke-PE2-GigabitEthernet0/0/1]mpls
[Spoke-PE2-GigabitEthernet0/0/1]mpls ldp
[Spoke-PE2-GigabitEthernet0/0/1]quit

Hub-PE

[Hub-PE]mpls lsr-id 1.1.1.1

[Hub-PE]mpls
[Hub-PE-mpls]label advertise non-null 
[Hub-PE-mpls]quit

[Hub-PE]mpls ldp 
[Hub-PE-mpls-ldp]quit

[Hub-PE]interface GigabitEthernet 4/0/0
[Hub-PE-GigabitEthernet4/0/0]mpls
[Hub-PE-GigabitEthernet4/0/0]mpls ldp
[Hub-PE-GigabitEthernet4/0/0]quit
[Hub-PE]interface GigabitEthernet 4/0/1
[Hub-PE-GigabitEthernet4/0/1]mpls
[Hub-PE-GigabitEthernet4/0/1]mpls ldp
[Hub-PE-GigabitEthernet4/0/1]quit

验证

上述配置完成后,Hub-PE和Spoke-PE之间应能建立LDP会话,执行**<font style="color:#DF2A3F;">display mpls ldp session</font>**命令可以看到显示结果中Status项为“Operational”。执行**<font style="color:#DF2A3F;">display mpls ldp lsp</font>**命令,可以看到LDP LSP的建立情况。

以Hub-PE的显示为例:

[Hub-PE]display mpls ldp session

 LDP Session(s) in Public Network
 Codes: LAM(Label Advertisement Mode), SsnAge Unit(DDDD:HH:MM)
 A '*' before a session means the session is being deleted.
 ------------------------------------------------------------------------------
 PeerID             Status      LAM  SsnRole  SsnAge      KASent/Rcv
 ------------------------------------------------------------------------------
 2.2.2.2:0          Operational DU   Passive  0000:00:08  33/33
 3.3.3.3:0          Operational DU   Passive  0000:00:08  33/33
 ------------------------------------------------------------------------------
 TOTAL: 2 session(s) Found.


[Hub-PE]display mpls ldp lsp
 
 LDP LSP Information
 -------------------------------------------------------------------------------
 DestAddress/Mask   In/OutLabel    UpstreamPeer    NextHop         OutInterface
 -------------------------------------------------------------------------------

 1.1.1.1/32         1025/NULL      2.2.2.2         127.0.0.1       InLoop0
 1.1.1.1/32         1025/NULL      3.3.3.3         127.0.0.1       InLoop0
*1.1.1.1/32         Liberal/1025                   DS/2.2.2.2
*1.1.1.1/32         Liberal/1024                   DS/3.3.3.3
 2.2.2.2/32         NULL/1024      -               192.168.12.2    GE4/0/0
 2.2.2.2/32         1024/1024      2.2.2.2         192.168.12.2    GE4/0/0
 2.2.2.2/32         1024/1024      3.3.3.3         192.168.12.2    GE4/0/0
*2.2.2.2/32         Liberal/1025                   DS/3.3.3.3
 3.3.3.3/32         NULL/1026      -               192.168.13.3    GE4/0/1
 3.3.3.3/32         1026/1026      2.2.2.2         192.168.13.3    GE4/0/1
 3.3.3.3/32         1026/1026      3.3.3.3         192.168.13.3    GE4/0/1
*3.3.3.3/32         Liberal/1026                   DS/2.2.2.2
 -------------------------------------------------------------------------------
 TOTAL: 8 Normal LSP(s) Found.
 TOTAL: 4 Liberal LSP(s) Found.
 TOTAL: 0 Frr LSP(s) Found.
 A '*' before an LSP means the LSP is not established
 A '*' before a Label means the USCB or DSCB is stale
 A '*' before a UpstreamPeer means the session is stale
 A '*' before a DS means the session is stale
 A '*' before a NextHop means the LSP is FRR LSP

4.在各PE设备上配置VPN实例,将CE接入PE

Hub-PE的两个VPN实例接收的VPN-target分别为两个Spoke-PE发布的VPN-target,且发布的VPN-target与接收的VPN-target不同。Spoke-PE的VPN实例引入的VPN-target为Hub-PE发布的VPN-target。

Spoke-PE1

#VPN实例用于将VPN私网路由与公网路由隔离。不同VPN实例的路由之间也是相互隔离的。在所有BGP/MPLS IP VPN组网方案中,都需要配置VPN实例。
#创建VPN实例,并进入VPN实例视图。需注意:VPN实例的名字区分大小写。
[Spoke-PE1]ip vpn-instance vpna
#使能VPN实例IPv4地址族,并进入VPN实例IPv4地址族视图。 VPN实例下支持双栈,即IPv4地址族和IPv6地址族。根据通告路由和转发数据的类型使能相应的地址族后,才能进行VPN的相关配置。
[Spoke-PE1-vpn-instance-vpna]ipv4-family
#VPN实例IPv4地址族只有配置了RD后才生效。同一PE上的不同VPN实例IPv4地址族下的RD不能相同。
[Spoke-PE1-vpn-instance-vpna-af-ipv4]route-distinguisher 123:2
#为VPN实例IPv4地址族配置VPN-target扩展团体属性。 VPN Target是BGP的扩展团体属性,用来控制VPN路由信息的接收和发布。一条vpn-target命令最多可以配置8个VPN Target。
[Spoke-PE1-vpn-instance-vpna-af-ipv4]vpn-target 100:123 export-extcommunity
[Spoke-PE1-vpn-instance-vpna-af-ipv4]vpn-target 200:123 import-extcommunity
[Spoke-PE1-vpn-instance-vpna-af-ipv4]quit
[Spoke-PE1-vpn-instance-vpna]quit

#配置VPN实例后,需要将本设备上属于该VPN的接口与该VPN实例绑定,否则该接口将属于公网接口,无法转发VPN数据
[Spoke-PE1]interface GigabitEthernet0/0/0
#配置接口与VPN实例绑定后,或取消接口与VPN实例的绑定,都会清除该接口的IP地址,应需要重新配置。
[Spoke-PE1-GigabitEthernet0/0/0]ip binding vpn-instance vpna
[Spoke-PE1-GigabitEthernet0/0/0]ip address 172.16.1.2 24
[Spoke-PE1-GigabitEthernet0/0/0]quit

Spoke-PE2

[Spoke-PE2]ip vpn-instance vpna
[Spoke-PE2-vpn-instance-vpna]ipv4-family
[Spoke-PE2-vpn-instance-vpna-af-ipv4]route-distinguisher 123:3
[Spoke-PE2-vpn-instance-vpna-af-ipv4]vpn-target 100:123 export-extcommunity
[Spoke-PE2-vpn-instance-vpna-af-ipv4]vpn-target 200:123 import-extcommunity
[Spoke-PE2-vpn-instance-vpna-af-ipv4]quit
[Spoke-PE2-vpn-instance-vpna]quit

[Spoke-PE2]interface GigabitEthernet0/0/0
[Spoke-PE2-GigabitEthernet0/0/0]ip binding vpn-instance vpna
[Spoke-PE2-GigabitEthernet0/0/0]ip address 172.16.2.2 24
[Spoke-PE2-GigabitEthernet0/0/0]quit

Hub-PE

#Hub-PE需配置两个VPN实例(vpna_in和vpna_out):vpna_in用于接收并维护所有Spoke-PE发布的VPNv4路由。vpna_out用于维护Hub站点及所有Spoke站点的路由,并发布给所有Spoke-PE。
[Hub-PE]ip vpn-instance vpna_in
[Hub-PE-vpn-instance-vpna_in]ipv4-family
[Hub-PE-vpn-instance-vpna_in-af-ipv4]route-distinguisher 123:11
[Hub-PE-vpn-instance-vpna_in-af-ipv4]vpn-target 100:123 import-extcommunity
[Hub-PE-vpn-instance-vpna_in-af-ipv4]quit
[Hub-PE-vpn-instance-vpna_in]quit
[Hub-PE]ip vpn-instance vpna_out
[Hub-PE-vpn-instance-vpna_out]ipv4-family
[Hub-PE-vpn-instance-vpna_out-af-ipv4]route-distinguisher 123:12
[Hub-PE-vpn-instance-vpna_out-af-ipv4]vpn-target 200:123 export-extcommunity
[Hub-PE-vpn-instance-vpna_out-af-ipv4]quit
[Hub-PE-vpn-instance-vpna_out]quit

#Hub-PE上需要使用两个接口或子接口:一个绑定vpna_in,用于接收Spoke-PE发来的路由;另一个绑定vpna_out,用于发布Hub站点及所有Spoke站点的路由。
[Hub-PE]interface GigabitEthernet0/0/0
[Hub-PE-GigabitEthernet0/0/0]ip binding vpn-instance vpna_in
[Hub-PE-GigabitEthernet0/0/0]ip address 10.1.1.2 24
[Hub-PE-GigabitEthernet0/0/0]quit
[Hub-PE]interface GigabitEthernet0/0/1
[Hub-PE-GigabitEthernet0/0/1]ip binding vpn-instance vpna_out
[Hub-PE-GigabitEthernet0/0/1]ip address 10.1.2.2 24
[Hub-PE-GigabitEthernet0/0/1]quit

验证

配置完成后,在PE设备上执行**<font style="color:#DF2A3F;">display ip vpn-instance verbose</font>**命令可以看到VPN实例的配置情况。在PE设备上执行**<font style="color:#DF2A3F;">display ip routing-table vpn-instance </font>**_<font style="color:#DF2A3F;">vpn-instance-name</font>_命令可以看到IPv4 VPN实例的路由表的概要信息。各PE能ping通自己接入的CE。

当PE上有多个接口绑定了同一个VPN,则使用<font style="color:#DF2A3F;">ping -vpn-instance</font>命令ping对端PE接入的CE时,要指定源IP地址,即要指定<font style="color:#DF2A3F;">ping -vpn-instancevpn-instance-name -a source-ip-address dest-ip-address</font>命令中的参数<font style="color:#DF2A3F;">-a source-ip-address</font>,否则可能ping不通。

以Hub-PE为例:

[Hub-PE]display ip vpn-instance verbose
 Total VPN-Instances configured      : 2
 Total IPv4 VPN-Instances configured : 2
 Total IPv6 VPN-Instances configured : 0

 VPN-Instance Name and ID : vpna_in, 1
  Interfaces : GigabitEthernet0/0/0
 Address family ipv4
  Create date : 2025/05/12 20:07:08 UTC-08:00    
  Up time : 0 days, 00 hours, 11 minutes and 52 seconds
  Route Distinguisher : 123:11
  Import VPN Targets :  200:123
  Label Policy : label per route
  Log Interval : 5

 VPN-Instance Name and ID : vpna_out, 2
  Interfaces : GigabitEthernet0/0/1
 Address family ipv4
  Create date : 2025/05/12 20:07:09 UTC-08:00    
  Up time : 0 days, 00 hours, 11 minutes and 51 seconds
  Route Distinguisher : 123:12
  Export VPN Targets :  100:123
  Label Policy : label per route
  Log Interval : 5

[Hub-PE]display ip routing-table vpn-instance vpna_in 
Route Flags: R - relay, D - download to fib
------------------------------------------------------------------------------
Routing Tables: vpna_in
         Destinations : 4        Routes : 4        

Destination/Mask    Proto   Pre  Cost      Flags NextHop         Interface
       10.1.1.0/24  Direct  0    0           D   10.1.1.2        GigabitEthernet0/0/0
       10.1.1.2/32  Direct  0    0           D   127.0.0.1       GigabitEthernet0/0/0
     10.1.1.255/32  Direct  0    0           D   127.0.0.1       GigabitEthernet0/0/0
255.255.255.255/32  Direct  0    0           D   127.0.0.1       InLoopBack0

[Hub-PE]ping -vpn-instance vpna_in 10.1.1.1
  PING 10.1.1.1: 56  data bytes, press CTRL_C to break
    Reply from 10.1.1.1: bytes=56 Sequence=1 ttl=255 time=110 ms
    Reply from 10.1.1.1: bytes=56 Sequence=2 ttl=255 time=20 ms
    Reply from 10.1.1.1: bytes=56 Sequence=3 ttl=255 time=30 ms
    Reply from 10.1.1.1: bytes=56 Sequence=4 ttl=255 time=20 ms
    Reply from 10.1.1.1: bytes=56 Sequence=5 ttl=255 time=20 ms

  --- 10.1.1.1 ping statistics ---
    5 packet(s) transmitted
    5 packet(s) received
    0.00% packet loss
    round-trip min/avg/max = 20/40/110 ms

5.在PE与CE之间建立EBGP对等体关系,引入VPN路由

Spoke-CE1

[Spoke-CE1]bgp 65002
#引入本端CE的直连路由,使用import-route direct或network ipv4-address mask
#CE将所连接的VPN网段地址发布给接入的PE,通过PE发布给对端CE。根据实际组网情况,该步骤中需要引入的路由类型有所不同。
[Spoke-CE1-bgp]peer 172.16.1.2 as-number 100
[Spoke-CE1-bgp]import-route direct
[Spoke-CE1-bgp]quit

Spoke-PE1

[Spoke-PE1]bgp 100
#将指定的VPN实例与IPv4地址族进行关联,并进入BGP-VPN实例IPv4地址族视图。
[Spoke-PE1-bgp]ipv4-family vpn-instance vpna
#将CE配置为VPN私网对等体
[Spoke-PE1-bgp-vpna]peer 172.16.1.1 as-number 65002
#当需要将到本端CE的直连路由引入VPN路由表中,以发布给对端PE时配置。PE会自动学习到本地CE直连路由,该路由优于本地CE通过EBGP发布过来的直连路由,因此如果不配置此步骤,PE不会将该直连路由通过MP-BGP发布给对端PE。
[Spoke-PE1-bgp-vpna]import-route direct
[Spoke-PE1-bgp-vpna]quit
[Spoke-PE1-bgp]quit

Spoke-PE2

[Spoke-PE2]bgp 100
[Spoke-PE2-bgp]ipv4-family vpn-instance vpna
[Spoke-PE2-bgp-vpna]peer 172.16.2.1 as-number 65003
[Spoke-PE2-bgp-vpna]import-route direct
[Spoke-PE2-bgp-vpna]quit
[Spoke-PE2-bgp]quit

Spoke-CE2

[Spoke-CE2]bgp 65003
[Spoke-CE2-bgp]peer 172.16.2.2 as-number 100
[Spoke-CE2-bgp]import-route direct
[Spoke-CE2-bgp]quit

Hub-CE

[Hub-CE]bgp 65001
[Hub-CE-bgp]peer 10.1.1.2 as-number 100
[Hub-CE-bgp]peer 10.1.2.2 as-number 100
[Hub-CE-bgp]import-route direct
[Hub-CE-bgp]quit

Hub-PE

Hub-PE与Hub-CE间可以使用IGP或EBGP,但当Hub-PE与Hub-CE使用EBGP时,Hub-PE上必须手工配置允许本地AS编号重复。

[Hub-PE]bgp 100
[Hub-PE-bgp]ipv4-family vpn-instance vpna_in
[Hub-PE-bgp-vpna_in]peer 10.1.1.1 as-number 65001
[Hub-PE-bgp-vpna_in]import-route direct
[Hub-PE-bgp-vpna_in]quit

[Hub-PE-bgp-vpna_in]ipv4-family vpn-instance vpna_out
[Hub-PE-bgp-vpna_out]peer 10.1.2.1 as-number 65001
#允许路由环路。这里的number取1,允许AS重复1次的路由通过。
[Hub-PE-bgp-vpna_out]peer 10.1.2.1 allow-as-loop 1
[Hub-PE-bgp-vpna_out]import-route direct
[Hub-PE-bgp-vpna_out]quit
[Hub-PE-bgp]quit

验证

配置完成后,在PE设备上执行**<font style="color:#DF2A3F;">display bgp vpnv4 all peer</font>**命令,可以看到PE与CE之间的BGP对等体关系已建立,并达到Established状态。

以Hub-PE与Hub-CE的对等体关系为例:

[Hub-PE]display bgp vpnv4 all peer

 BGP local router ID : 1.1.1.1
 Local AS number : 100
 Total number of peers : 2		  Peers in established state : 2

  Peer            V          AS  MsgRcvd  MsgSent  OutQ  Up/Down    State Pre   fRcv
  Peer of IPv4-family for vpn instance :

 VPN-Instance vpna_in, Router ID 1.1.1.1:
  10.1.1.1        4       65001        5        4     0 00:01:35    Established    2

 VPN-Instance vpna_out, Router ID 1.1.1.1:
  10.1.2.1        4       65001        5        4     0 00:01:35    Established    2

6.在Spoke-PE与Hub-PE之间建立MP-IBGP对等体关系

Spoke-PE上不需要配置允许AS号重复一次,因为路由器接收IBGP对等体发布的路由时并不检查其中的AS-PATH属性。

Spoke-PE1

#启动BGP,进入BGP视图
[Spoke-PE1]bgp 100
#配置IPv4对等体1.1.1.1的对端AS号为100
[Spoke-PE1-bgp]peer 1.1.1.1 as-number 100
#指定BGP报文的源接口和源地址
[Spoke-PE1-bgp]peer 1.1.1.1 connect-interface loopback 1
#使能与指定对等体交换BGP-VPNv4路由信息
[Spoke-PE1-bgp]ipv4-family vpnv4
[Spoke-PE1-bgp-af-vpnv4]peer 1.1.1.1 enable
[Spoke-PE1-bgp-af-vpnv4]quit
[Spoke-PE1-bgp]quit

Spoke-PE2

[Spoke-PE2]bgp 100
[Spoke-PE2-bgp]peer 1.1.1.1 as-number 100
[Spoke-PE2-bgp]peer 1.1.1.1 connect-interface loopback 1
[Spoke-PE2-bgp]ipv4-family vpnv4
[Spoke-PE2-bgp-af-vpnv4]peer 1.1.1.1 enable
[Spoke-PE2-bgp-af-vpnv4]quit
[Spoke-PE2-bgp]quit

Hub-PE

[Hub-PE]bgp 100
[Hub-PE-bgp]peer 2.2.2.2 as-number 100
[Hub-PE-bgp]peer 2.2.2.2 connect-interface loopback 1
[Hub-PE-bgp]peer 3.3.3.3 as-number 100
[Hub-PE-bgp]peer 3.3.3.3 connect-interface loopback 1
[Hub-PE-bgp]ipv4-family vpnv4
[Hub-PE-bgp-af-vpnv4]peer 2.2.2.2 enable
[Hub-PE-bgp-af-vpnv4]peer 3.3.3.3 enable
[Hub-PE-bgp-af-vpnv4]quit
[Hub-PE-bgp]quit

验证

配置完成后,在各PE设备上执行**<font style="color:#DF2A3F;">display bgp peer</font>****<font style="color:#DF2A3F;">display bgp vpnv4 all peer</font>**命令,可以看到Spoke-PE与Hub-PE之间的BGP对等体关系已建立,并达到Established状态。

[Hub-PE]display bgp peer

 BGP local router ID : 1.1.1.1
 Local AS number : 100
 Total number of peers : 2		  Peers in established state : 2

  Peer            V          AS  MsgRcvd  MsgSent  OutQ  Up/Down     State Pre   fRcv
  2.2.2.2         4         100        4        7     0 00:01:11     Established    0
  3.3.3.3         4         100        4        7     0 00:01:10     Established    0

7.验证配置结果

测试连通性

完成上述配置后,Spoke-CE之间可以相互Ping通,使用Tracert可以看到Spoke-CE之间的流量经过Hub-CE转发,也可以通过Ping结果中的TTL值推算Spoke-CE之间经过的转发设备数目。

以Spoke-CE1的显示为例:

[Spoke-CE1]ping 172.16.2.1
  PING 172.16.2.1: 56  data bytes, press CTRL_C to break
    Reply from 172.16.2.1: bytes=56 Sequence=1 ttl=250 time=100 ms
    Reply from 172.16.2.1: bytes=56 Sequence=2 ttl=250 time=50 ms
    Reply from 172.16.2.1: bytes=56 Sequence=3 ttl=250 time=50 ms
    Reply from 172.16.2.1: bytes=56 Sequence=4 ttl=250 time=30 ms
    Reply from 172.16.2.1: bytes=56 Sequence=5 ttl=250 time=40 ms

  --- 172.16.2.1 ping statistics ---
    5 packet(s) transmitted
    5 packet(s) received
    0.00% packet loss
    round-trip min/avg/max = 30/54/100 ms

[Spoke-CE1]tracert 172.16.2.1
 traceroute to  172.16.2.1(172.16.2.1), max hops: 30 ,packet length: 40,press CTRL_C to break 

 1 172.16.1.2 30 ms  20 ms  10 ms 
 2 10.1.2.2 < AS=100 > 30 ms  40 ms  30 ms
 3 10.1.2.1 < AS=100 > 30 ms  30 ms  40 ms
 4 10.1.1.2 < AS=65001 > 30 ms  30 ms  30 ms
 5 172.16.2.2 < AS=100 > 40 ms  50 ms  40 ms
 6 172.16.2.1 < AS=100 > 40 ms  40 ms  50 ms

查看相关路由信息

在Spoke-CE上执行**<font style="color:#DF2A3F;">display bgp routing-table</font>**命令,可以看到去往对端Spoke-CE的BGP路由的AS路径中存在重复的AS号

以Spoke-CE1的显示为例:

[Spoke-CE1]display bgp routing-table

 BGP Local router ID is 172.16.1.1 
 Status codes: * - valid, > - best, d - damped,
               h - history,  i - internal, s - suppressed, S - Stale
               Origin : i - IGP, e - EGP, ? - incomplete


 Total Number of Routes: 8
      Network            NextHop        MED        LocPrf    PrefVal Path/Ogn

 *>   10.1.1.0/24        172.16.1.2                            0      100 65001?
 *>   10.1.2.0/24        172.16.1.2                            0      100?
 *>   127.0.0.0          0.0.0.0         0                     0      ?
 *>   127.0.0.1/32       0.0.0.0         0                     0      ?
 *>   172.16.1.0/24      0.0.0.0         0                     0      ?
                         172.16.1.2      0                     0      100?
 *>   172.16.1.1/32      0.0.0.0         0                     0      ?
 *>   172.16.2.0/24      172.16.1.2                            0      100 65001 100?

链接:https://www.ljh99.cn/archives/pei-zhi-hub-and-spokeshi-li–xiang-jie-ban

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

刘俊辉个人博客

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值