• 产品与解决方案
  • 行业解决方案
  • 服务
  • 支持
  • 合作伙伴
  • 新华三人才研学中心
  • 关于我们

14-SDWAN配置指导

目录

01-SDWAN配置

本章节下载 01-SDWAN配置  (590.70 KB)

01-SDWAN配置


1 SDWAN概述

1.1  SDWAN简介

SDWAN(Software Defined Wide Area Network,软件定义广域网)是将SDN技术应用到广域网的一种VPN技术。控制平面通过SSL/MP-BGP通告TTE(Transport Tunnel Endpoint,传输隧道端点)信息,实现不同站点间SDWAN隧道的建立,并通过MP-BGP在不同站点间发布私网路由;数据平面采用UDP封装转发数据报文,通过IPsec等安全机制来确保数据的安全传输,为分散在广阔地理范围内的企业网络、数据中心等提供安全可靠的互联服务。

1.2  SDWAN网络模型

图1-1 SDWAN网络模型示意图

 

图1-1所示,SDWAN的典型网络模型包含如下部分:

·     CPE(Customer Provided Edge,用户提供的网络边缘):用户网络的边缘设备。

·     RR(Route Reflector,路由反射器):用于在CPE之间反射TTE信息和私网路由等。

·     TN(Transport Network,传输网络):运营商提供的广域接入网络,用来实现分支站点之间的互联,主要包括运营商专线网络和Internet公用网络等。传输网络可以通过TN ID或传输网络的名称来标识。TN是构建SDWAN Overlay网络的基础。

·     RD(Routing Domain,路由域):由彼此之间路由可达的不同传输网络构成的区域。只能在位于同一个路由域内的CPE之间或CPE与RR之间建立SDWAN隧道。

·     Site ID:站点ID,是分支站点在SDWAN网络中的唯一标识,通常用一串数字表示,由网络控制器统一自动分配。

·     Device ID:设备ID,是支持SDWAN功能的设备(SDWAN设备)在站点内的唯一标识。一个站点通常包含一台或两台SDWAN设备。

·     SDWAN隧道:两个SDWAN设备之间的点到多点逻辑通道。不同站点之间通过SDWAN隧道传输数据报文等,实现不同站点之间的互联。

·     SSL(Secure Sockets Layer,安全套接字层)连接:在SDWAN网络中,CPE与RR之间建立SSL连接,通过该连接交互TTE信息,实现控制通道的建立。

·     TTE(Transport Tunnel Endpoint,传输隧道端点):SDWAN设备接入传输网的连接点和SDWAN隧道的端点。设备的TTE信息主要包括Site ID、TN ID、Private IP Address、Public IP Address和隧道的封装类型等。

·     TTE连接:两个TTE之间的点到点逻辑连接。通常一个SDWAN隧道上建立多个TTE连接。

1.3  SDWAN报文封装格式

SDWAN报文分为控制报文和数据报文。

·     控制报文用于在穿越NAT的组网中,将本端NAT转换后的Public IP通告给SDWAN隧道对端的设备。穿越NAT的详细介绍,请参见“1.9  穿越NAT建立SDWAN隧道

·     数据报文用于转发用户的报文。

1.3.1  控制报文格式

图1-2所示,SDWAN控制报文封装格式为:在数据部分外添加12字节SDWAN头、8字节UDP头和20字节IP头;如需对报文进行安全保护,则还会封装IPsec头。其中,UDP头的目的端口号为SDWAN UDP端口号(缺省为4799)。SDWAN头主要包括如下部分:

·     Type:表示报文的类型,长度为8比特。取值为1时,表示SDWAN控制报文;为2时,表SDWAN数据报文。

·     Sub Type:表示控制报文的子类型,长度为8比特。取值为1时,表示NAT地址探测请求报文。

·     Version:表示SDWAN协议报文号,目前取值固定为0。

·     Reserved:保留字段,取值固定为0。

·     Length:表示SDWAN头的长度,长度为16比特。目前取值固定为12。

·     TTE ID:标识一个TTE,长度为32比特。

图1-2 SDWAN控制报文封装示意图

 

1.3.2  数据报文格式

图1-3所示,SDWAN数据报文封装格式为:在原始数据报文外添加12字节SDWAN头、8字节UDP头和20字节IP头;如需对报文进行安全保护,则还会封装IPsec头。其中,UDP头的目的端口号为SDWAN UDP端口号(缺省为4799)。SDWAN头主要包括如下部分:

·     Type:表示报文的类型,长度为8比特。取值为1时,表示SDWAN控制报文;为2时,表SDWAN数据报文。

·     Protocol:表示内层数据报文的类型,长度为8比特。取值为1时,表示IPv4报文;为2时,表IPv6报文。

·     Length:表示SDWAN头的长度,长度为16比特。目前取值固定为12。

·     VN ID:表示SDWAN数据报文所属的VPN实例的VN ID,长度为32比特。若报文属于公网实例,则本字段为全0。

·     Flow ID:表示SDWAN数据报文所属的流ID,长度为32比特。可以通过remark flow-id命令对报文标记流ID。若未对报文标记流ID,则取值为全0。关于remark flow-id命令的详细介绍,请参加“ACL和QoS命令”中的“QoS”。

图1-3 SDWAN数据报文封装示意图

 

1.4  BGP扩展

1.4.1  BGP IPv4 Tnl-Encap-Ext地址族

为了支持SDWAN,BGP定义了新的地址族——BGP IPv4 Tnl-Encap-Ext地址族。该地址族为IPv4地址族的子地址族,SAFI(Subsequent Address Family Identifier,子地址族标识符)为74。该地址族下交换的路由,称为IPv4 Tnl-encap-ext路由。IPv4 Tnl-encap-ext路由可以在路径属性MP_REACH_NLRI(Multiprotocol Reachable NLRI,多协议可达NLRI)中,携带如下两类信息:

·     TTE信息:Site ID、TN ID、Public IP、Private IP和Tunnel Encapsulation等。该信息用来在CPE之间建立数据通道。

·     SaaS访问路径质量信息:包括Delay、Jitter、Loss和CQI等。该信息用于在智能选路场景下,为不同的应用选择最佳访问路径。

图1-4 IPv4 Tnl-encap-ext路由的MP_REACH_NLRI属性示意图

 

 

图1-4所示,IPv4 Tnl-encap-ext路由的MP_REACH_NLRI属性包含如下字段:

·     Flags:BGP属性标记位,取值为0x90,表示该属性为包含了完整信息的可选非传递属性。

·     Type Code:BGP属性类型,取值为14。

·     Length:MP_REACH_NLRI属性的长度。

·     AFI:地址族标识符,取值为1,表示IPv4地址族。

·     SAFI:子地址族标识符,取值为74,表示IPv4 Tnl-Encap-Ext地址族。

·     Next hop network address:下一跳IP地址。

·     Number of SNPAs:下面字段中SNPA(Subnetwork Point of Attachment,子网连接点)的数量,取值为0,表示属性中不包含SNPA。

·     NLRI:网络层可达性信息。

MP_REACH_NLRI属性的网络层可达性信息包含如下字段:

·     NLRI Type:NLRI信息类型。取值1表示携带的是TTE信息,取值2表示携带的是SaaS访问路径质量信息。

·     NLRI Length:NLRI的长度。

·     Protocol:NLRI信息使用的协议栈,取值为2,表示IPv4协议。

·     Prefix Type:NLRI的前缀类型,取值为1。

·     Prefix Length:NLRI的前缀长度。

·     Prefix:NLRI的前缀信息。TTE信息的内容为TTE ID,SaaS访问路径质量信息的内容为站点ID和设备ID。

·     Data Type:NLRI的数据部分类型,取值为2。

·     Data Length:NLRI的数据部分长度。

·     Data:NLRI的数据部分。本字段携带了TTE信息或SaaS访问路径质量信息的具体内容。

1.4.2  EVPN路由

在SDWAN支持多VPN实例场景中,CPE将VPN实例中的私网路由信息以EVPN IP前缀路由的形式发布给其他CPE。为支持SDWAN,EVPN路由进行了如下扩展:

·     在TUNNEL_ENCAPSULATION_ATTRIBUTE属性中,新增加了一种SDWAN封装类型。IP前缀路由携带了SDWAN封装后,只能在使能了发送SDWAN封装EVPN路由能力的设备之间转发。

·     IP前缀路由的NLRI字段携带了VN ID,用来区分属于不同VPN实例的私网路由。

1.5  通道建立

图1-5所示,SDWAN网络包含控制通道和数据通道两种类型的通道。

图1-5 SDWAN网络隧道示意图

 

1.5.1  控制通道

控制通道是指RR和CPE之间发布TTE信息和私网路由的通道。具体的建立过程为:

(1)     CPE与RR之间建立SSL连接(控制通道),其中CPE作为SSL的客户端,称为SDWAN client;RR作为SSL的服务器端,称为SDWAN server。

(2)     CPE与RR之间互相发送TTE信息。

(3)     CPE与RR收到对端发送的TTE信息后,比较TTE信息中携带的路由域。若路由域相同,则建立到达对端的SDWAN隧道(控制通道);若路由域不同,则不建立SDWAN隧道。

(4)     完成SDWAN隧道建立后,CPE、RR自动在本地添加到达对端Systerm IP的UNR(User network route,用户网络路由)路由。

(5)     CPE、RR之间基于Systerm IP建立IPv4 Tnl-Encap-Ext地址族下的BGP连接(控制通道)。

1.5.2  数据通道

数据通道是指CPE之间转发数据报文的通道。具体的建立过程为:

(1)     CPE通过IPv4 Tnl-encap-ext路由向RR发送TTE信息。

(2)     RR将TTE信息反射给其他CPE。

(3)     CPE收到由RR反射的TTE信息后,比较TTE信息中携带的路由域。若路由域相同,则建立到达对端CPE的SDWAN隧道;若路由域不同,则不建立SDWAN隧道。

为了保证数据安全传输,可以对数据报文进行IPsec加密。

1.6  路由信息发布

图1-6所示,在SDWAN网路中,站点间的路由发布过程包含三部分:本地站点向CPE发布VPN路由、CPE之间发布路由、CPE向本地站点发布VPN路由。完成这三部分后,站点之间将建立可达路由。

图1-6 路由信息发布示意图

 

1. 本地站点向本端CPE发布路由

本地站点使用静态路由、RIP、OSPF、IS-IS、EBGP或IBGP,将本站点的VPN路由发布给本端CPE。本地站点发布给CPE的是标准的IPv4路由。

2. 本端CPE与远端CPE之间发布路由

CPE从本地站点学到VPN路由信息后,将其存放到VPN实例的路由表中。CPE为这些标准的IPv4路由增加RD和Export Target属性,通过BGP EVPN的IP前缀路由发布给RR,该路由的下一跳地址为本端CPE的System IP。RR将收到的IP前缀路由反射给远端CPE。远端CPE收到RR反射的IP前缀路由后,将IP前缀路由的Export Target属性与自己维护的VPN实例的Import Target属性进行匹配。如果远端CPE上某个VPN实例的Import Target属性与路由的Export Target属性中存在相同的属性值,则接收该IP前缀路由并将其添加到VPN路由表中。

3. 远端CPE向远端站点发布路由

与本地站点向CPE发布路由信息相同,远端站点可以通过多种方式从远端CPE学习VPN路由,包括静态路由、RIP、OSPF、IS-IS、EBGP和IBGP。

1.7  报文转发

在SDWAN网络中,CPE设备收到用户站点发送的报文后,根据目的IP查找路由表获取报文的出接口和下一跳信息。不同出接口的转发方式不同:

·     若出接口为CPE的本地接口,则根据转发表将报文从出接口直接转发给下一跳。

·     若出接口为SDWAN隧道接口,则:

a.     根据转发表的下一跳地址,获取下一跳地址的TTE ID。

b.     根据本端和下一跳的TTE ID获取对应TTE连接的信息。

c.     根据该TTE连接信息对报文进行SDWAN封装,封装的SDWAN头中携带数据报文所属VPN实例的VN ID。不同VPN的报文可能迭代到同一条SDWAN隧道上,通过SDWAN头携带的VN ID,可以区分不同的VPN实例,如图1-7所示。

d.     通过SDWAN隧道指定的物理出接口将报文转发出去。

e.     远端CPE接收并解封装SDWAN报文后,根据VN ID在对应的VPN实例中查找路由表转发该报文。

图1-7 SDWAN隧道转发报文示意图

 

1.8  IPsec保护SDWAN隧道

为了保障SDWAN隧道传输数据的机密性和完整性,设备支持通过IPsec为SDWAN报文提供安全保护。为此,IPsec进行了如下扩展:

·     支持SDWAN方式的IPsec安全框架。

·     支持通信对等体之间的多个SDWAN隧道共用一对IPsec SA。

有关IPsec的详细介绍,请参见“安全配置指导”中的“IPsec”。

1.9  穿越NAT建立SDWAN隧道

图1-8所示,在SDWAN网络中,为了节省IP地址资源,分支站点的用户经常会使用私网IP地址。通过NAT将私网IP地址转换为公网IP地址后,该站点的用户才能访问其他站点。CPE发出的报文在经过NAT设备后,IP地址会发生变化。如果无法获取NAT转换后的IP地址,则CPE与CPE/RR之间无法建立SDWAN通道。为了解决此问题,需要在SDWAN组网中部署STUN(Session Traversal Utilities for NAT,NAT环境下的会话传输)功能。关于STUN的详细介绍,请参见“三层技术-IP业务配置指导”中的“STUN”。

STUN采用C/S模式,由STUN客户端(STUN client)和STUN服务器(STUN server)组成。在SDWAN网络中,通常将CPE部署为STUN客户端,将RR部署为STUN服务器。客户端通过与服务器进行报文交互,能够发现网络中是否存在NAT设备,并确定经过NAT设备转换后的IP地址和端口号。STUN客户端探测到转换后的IP地址和端口号后,采用该IP地址与其他CPE建立SDWAN隧道;若CPE之间无法直接建立数据通道,则需要通过在公网中部署NAT transfer(NAT传输)设备来实现互通。

图1-8 穿越NAT建立SDWAN隧道示意图

 

图1-9 部署NAT transfer的SDWAN隧道示意图

 

部署NAT transfer的SDWAN组网如图1-9所示。下面以该组网为例,说明穿越NAT建立SDWAN隧道的过程。

1.9.1  控制通道建立

(1)     STUN client与STUN server之间交互STUN协议报文,STUN client探测到本端NAT类型、Public IP地址(即访问STUN server时NAT转换后的Public IP)和端口号。

(2)     SDWAN client与SDWAN server之间建立SSL连接,然后互相发送TTE信息(包含STUN探测到的NAT类型、Public IP等)。

(3)     CPE 1、CPE 2和NAT transfer收到RR的TTE信息后,比较TTE信息中的路由域与本地是否相同。若路由域相同,则建立到达RR的SDWAN隧道,使用RR的TTE信息中Public IP作为隧道的目的IP;若路由域不同,则不建立SDWAN隧道。

(4)     RR收到CPE 1、CPE 2和NAT transfer的TTE信息后,比较TTE信息中的路由域与本地是否相同。若路由域相同,则分别建立到达CPE 1、CPE 2和NAT transfer的SDWAN隧道。

NAT transfer部署在公网中,则RR建立到达Public IP地址的SDWAN隧道。该Public IP地址为NAT transfer的TTE信息中的Public IP。

若CPE 1、CPE 2的TTE信息中NAT类型为完全锥型NAT,则RR建立到达Public IP地址的SDWAN隧道。该Public IP地址为CPE的TTE信息中的Public IP。

若CPE 1、CPE 2的TTE信息中NAT类型为对端口限制锥型NAT、限制锥型NAT或对称NAT,则RR无法通过TTE信息中的Public IP访问CPE 1、CPE 2,所以RR无法按照当前获取的信息建立到达CPE 1、CPE 2的SDWAN隧道。需要按照如下步骤建立SDWAN隧道。

a.     CPE 1、CPE 2设备通过CPE到RR的SDWAN隧道周期性地发送SDWAN控制报文。

b.     RR将接收到的SDWAN控制报文的外层源IP地址作为Public IP地址,建立到达CPE 1、CPE 2的Public IP地址的SDWAN隧道。

(5)     完成SDWAN隧道建立后,CPE 1、CPE 2、NAT transfer和RR在设备上添加到达对端Systerm IP的UNR(User network route,用户网络路由)路由。

(6)     CPE 1、CPE 2、NAT transfer和RR之间基于Systerm IP建立IPv4 Tnl-Encap-Ext地址族下的BGP连接(控制通道)。

1.9.2  数据通道建立

(1)     CPE 1、CPE 2、NAT transfer与RR建立BGP连接(控制通道)后,CPE 1、CPE 2、NAT transfer通过IPv4 Tnl-encap-ext路由向RR发送TTE信息,由RR将TTE信息反射到其他BGP邻居。

(2)     CPE之间能否建立数据通道,除了比较路由域是否相同外,还会比较NAT类型,如表1-1所示。

a.     若CPE之间可以直接建立数据通道,建立过程请参见步骤1.9.1  (4)

b.     若CPE之间无法直接建立数据通道,则需要通过在网络中部署NAT transfer设备来实现互通。CPE与NAT transfer之间建立数据通道,CPE之间的数据转发需要先通过数据通道转发到NAT transfer设备,再由NAT transfer设备通过数据通道转发到其他CPE,从而实现CPE之间的互通。CPE与NAT transfer之间建立数据通道的过程与CPE与RR之间建立SDWAN隧道的过程相同,具体参见步骤1.9.1  (4)

表1-1 SDWAN网络中的NAT类型组合

CPE 1的NAT类型

CPE 2的NAT类型

CPE之间是否可以直接建立隧道

是否需要部署NAT transfer实现CPE互通

无NAT

完全锥型NAT

×

无NAT

端口限制锥型NAT/限制锥型NAT

×

无NAT

对称NAT

×

无NAT

未知类型NAT

×

完全锥型NAT

完全锥型NAT

×

完全锥型NAT

端口限制锥型NAT/限制锥型NAT

×

完全锥型NAT

对称NAT

×

完全锥型NAT

未知类型NAT

×

端口限制锥型NAT/限制锥型NAT

端口限制锥型NAT/限制锥型NAT

×

端口限制锥型NAT/限制锥型NAT

对称NAT

×

端口限制锥型NAT/限制锥型NAT

未知类型NAT

×

对称NAT

对称NAT

×

对称NAT

未知类型NAT

×

未知类型NAT

未知类型NAT

×

 

 


2 配置SDWAN

2.1  SDWAN配置任务简介

SDWAN配置任务如下:

(1)     配置站点信息和设备标识

a.     配置设备所属的站点

b.     配置设备在SDWAN网络的标识

(2)     配置SDWAN client

(3)     配置SDWAN server

(4)     (可选)配置IPsec保护SDWAN隧道

配置方法请参见“安全配置指导”中的“IPsec”。

(5)     (可选)配置穿越NAT建立SDWAN隧道

配置方法请参见“三层技术-IP业务配置指导”中的“NAT”

(6)     配置SDWAN隧道

(7)     配置BGP发布IPv4 Tnl-encap-ext路由

(8)     配置通过IP前缀路由发布站点VPN路由

2.2  配置站点信息和设备标识

2.2.1  配置设备所属的站点

1. 功能简介

站点ID是站点在SDWAN网络中的唯一标识。

站点名称可以描述站点的位置、功能等,方便用户更好地识别站点在SDWAN网络中的作用。站点名称不是站点的唯一标识,不同的设备可以配置相同的站点名称。

2. 配置限制和指导

不同的站点角色在SDWAN网络中的作用不同,站点角色变更会导致SDWAN隧道震荡,从而对业务产生影响,建议在网络部署前规划好设备角色。

3. 配置步骤

(1)     进入系统视图。

system-view

(2)     配置设备所属站点的站点ID。

sdwan site-id site-id

缺省情况下,未配置设备的站点ID。

(3)     配置设备所属站点的站点名称。

sdwan site-name site-name

缺省情况下,未配置设备的站点名称。

(4)     配置设备所属站点的角色。

sdwan site-role { cpe | hub | rr } *

缺省情况下,未配置站点的角色。

同一个站点内所有支持SDWAN功能的设备上必须配置相同的站点角色。

2.2.2  配置设备在SDWAN网络的标识

1. 功能简介

设备的ID是设备在站点内的唯一标识。

2. 配置步骤

(1)     进入系统视图。

system-view

(2)     配置设备的ID。

sdwan device-id device-id

缺省情况下,未配置设备的ID。

(3)     配置设备的系统IP。

sdwan system-ip interface-type interface-number

缺省情况下,未配置设备的系统IP。

设备的系统IP必须在SDWAN网络中唯一。

配置设备的系统IP时,只有指定的接口为配置了IP地址的LoopBack接口时,本配置才生效。

2.3  配置SDWAN client

1. 功能简介

在SDWAN网络中,CPE/NAT transfer与RR之间通过SSL连接互相发送TTE信息。其中CPE/NAT transfer作为SDWAN client,RR作为SDWAN server。

通过本功能在CPE/NAT transfer上指定与RR建立SSL连接时引用的SSL客户端策略后,CPE/NAT transfer将采用该策略与RR建立SSL连接。SSL连接建立成功后,CPE/NAT transfer将自身的TTE信息发送给RR,RR将自身的TTE信息发送给CPE/NAT transfer设备,完成TTE信息的交互,以便在CPE/NAT transfer与RR之间建立SDWAN隧道。

2. 配置限制和指导

一个SSL连接只能引用一个SSL客户端策略。多次执行sdwan ssl-client-policy命令,最后一次执行的命令生效。但新的策略仅对修改配置后新创建的SSL连接生效。

3. 配置准备

配置本功能前需要先完成SSL客户端策略配置。关于SSL客户端策略的详细介绍,请参见“安全配置指导”中的“SSL”。

4. 配置步骤

(1)     进入系统视图。

system-view

(2)     在CPE上指定SDWAN server的信息。

sdwan server system-ip system-ip-address ip ip-address [ port port-number ] [ vpn-instance vpn-instance-name ]

缺省情况下,CPE上未指定SDWAN server的信息。

(3)     在CPE上指定与RR(SDWAN server)建立SSL连接时引用的SSL客户端策略。

sdwan ssl-client-policy policy-name

缺省情况下,未指定与RR(SDWAN server)建立SSL连接时引用的SSL客户端策略。

2.4  配置SDWAN server

1. 功能简介

执行本配置后,RR将与CPE/NAT transfer建立SSL连接,并通过SSL连接将自身的TTE信息发送给CPE/NAT transfer设备。CPE/NAT transfer也通过SSL连接将自身的TTE信息发送给RR。完成TTE信息的交互后,RR与CPE/NAT transfer将根据TTE信息建立SDWAN隧道。

SSL连接有以下两种建立方式:

·     简便方式:RR上无需配置SSL服务器端策略,RR使用自签名证书(RR自己生成的证书,无需从CA获取)、各SSL参数的缺省值与CPE/NAT transfer建立SSL连接。这种方式简化了配置,但是存在安全隐患。

·     安全方式:设备需要配置SSL服务器端策略、PKI域等。这种方式配置复杂,但是具有更高的安全性。

2. 配置限制和指导

一个SSL连接只能引用一个SSL服务器端策略。重复执行sdwan ssl-server-policy命令修改SSL连接引用的SSL服务器端策略后,修改后的策略不会生效。只有先执行undo sdwan server enable命令,再执行sdwan server enable命令,新的策略才会生效。

3. 配置准备

如果采用安全方式建立SSL连接,则需要先完成SSL服务器端策略配置。关于SSL服务器端策略的详细介绍,请参见“安全配置指导”中的“SSL”。

4. 配置步骤

(1)     进入系统视图。

system-view

(2)     在RR设备上开启SDWAN server服务。

sdwan server enable

缺省情况下,RR设备上的SDWAN server服务处于关闭状态。

(3)     在RR上配置SDWAN server服务的TCP端口号。

sdwan server port port-number

缺省情况下,SDWAN server服务的TCP端口号为2004。

(4)     在RR上指定与CPE(SDWAN client)之间建立SSL连接时引用的SSL服务器端策略。

sdwan ssl-server-policy policy-name

缺省情况下,未指定与CPE之间建立SSL连接时引用的SSL服务器端策略。

2.5  配置SDWAN隧道

1. 功能简介

当本端SDWAN隧道建立完成后,设备会通过该隧道上建立的所有TTE连接按照指定的时间间隔向对端发送Keepalive请求报文。

·     如果本端在发送Keepalive请求报文的时间间隔内收到对端发送的Keepalive应答报文,则认为本端与对端的TTE连接可达。

·     如果本端未在发送Keepalive请求报文的时间间隔内收到对端发送的Keepalive应答报文,则本端会尝试重新发送Keepalive请求报文。若在发送Keepalive请求报文的时间间隔×允许未收到Keepalive应答报文的最大连续次数时间内没有收到Keepalive应答报文,则认为本端与对端的TTE连接不可达,将不再使用该TTE连接转发报文。

2. 配置限制和指导

关于隧道的详细介绍及Tunnel接口下的更多配置命令,请参见“三层技术-IP业务配置指导”中的“隧道”。

系统视图和Tunnel接口视图下均可以配置SDWAN报文采用UDP封装时的源UDP端口号。系统视图的配置对所有Tunnel接口都有效,而Tunnel接口视图下的配置只对当前Tunnel接口有效。对于一个Tunnel接口来说,优先采用该Tunnel接口视图下的配置,只有该Tunnel接口下未进行配置时,才采用系统视图的配置。

3. 配置步骤

(1)     进入系统视图。

system-view

(2)     (可选)配置全局SDWAN报文采用UDP封装时的源UDP端口号。

sdwan encapsulation global-udp-port port-number

缺省情况下,全局SDWAN报文的源UDP端口号为4799。

(3)     创建模式为UDP封装的IPv4 SDWAN Tunnel接口,并进入Tunnel接口视图。

interface tunnel tunnel-number mode sdwan udp

在隧道的两端应配置相同的隧道模式,否则会造成报文传输失败。

(4)     指定发送隧道报文时的物理出接口。

tunnel out-interface out-interface-type out-interface-number

缺省情况下,未指定发送隧道报文的出接口,如果存在多条等价路径,随机选择一个出接口发送隧道报文。

(5)     配置SDWAN隧道接口的接口ID。

sdwan interface-id interface-id

缺省情况下,未配置SDWAN隧道接口的接口ID。

(6)     (可选)配置SDWAN报文采用UDP封装时的源UDP端口号。

sdwan encapsulation udp-port port-number

缺省情况下,SDWAN报文的源UDP端口号与全局配置的源UDP端口号保持一致。

(7)     配置SDWAN隧道的路由域。

sdwan routing-domain domain-name id domain-id

缺省情况下,未配置SDWAN隧道的路由域。

(8)     配置SDWAN隧道使用的传输网络。

sdwan transport-network network-name id network-id

缺省情况下,未配置SDWAN隧道使用的传输网络。

(9)     配置隧道的源端地址。请选择其中一项进行配置。

¡     直接指定隧道的源端地址。

source { ipv4-address | ipv6-address }

指定的地址将作为封装后SDWAN报文的源IP地址。

¡     指定隧道的源接口。

source interface-type interface-number

采用指定接口的IP地址作为封装后SDWAN报文的源IP地址。

缺省情况下,未设置SDWAN隧道的源端地址。

(10)     (可选)配置SDWAN隧道发送Keepalive请求报文的时间间隔和允许未收到Keepalive应答报文的最大连续次数。

sdwan keepalive interval interval [ retry retries ]

缺省情况下,SDWAN隧道发送Keepalive请求报文的时间间隔为10秒,允许未收到Keepalive应答报文的最大连续次数为3次。

在应用智能选路的SDWAN组网中,建议将发送Keepalive请求报文的时间间隔配置为1~5秒。

2.6  配置BGP发布IPv4 Tnl-encap-ext路由

2.6.1  配置限制和指导

BGP相关命令的详细介绍,请参见“三层技术-IP路由命令参考”中的“BGP”。

2.6.2  开启BGP发布IPv4 Tnl-encap-ext路由能力

(1)     进入系统视图。

system-view

(2)     启动BGP实例,并进入BGP实例视图。

bgp as-number [ instance instance-name ]

缺省情况下,没有运行BGP,不存在BGP实例。

(3)     将CPE或RR配置为对等体。

peer { group-name | ipv4-address [ mask-length ] } as-number as-number

(4)     创建BGP IPv4 Tnl-encap-ext地址族,并进入BGP IPv4 Tnl-encap-ext地址族视图。

address-family ipv4 tnl-encap-ext

(5)     使能与指定对等体/对等体组交换IPv4 Tnl-encap-ext路由信息的能力。

peer { group-name | ipv4-address [ mask-length ] } enable

缺省情况下,不能与等体/对等体组交换IPv4 Tnl-encap-ext路由信息。

2.6.3  配置BGP IPv4 Tnl-encap-ext路由

1. 控制BGP IPv4 Tnl-encap-ext路由的发布和接收

(1)     进入系统视图。

system-view

(2)     进入BGP实例视图。

bgp as-number [ instance instance-name ]

(3)     进入BGP IPv4 Tnl-encap-ext地址族视图。

address-family ipv4 tnl-encap-ext

(4)     对发布给对等体/对等体组的路由或来自对等体/对等体组的路由应用路由策略。

peer { group-name | ipv4-address [ mask-length ] } route-policy route-policy-name { export | import }

缺省情况下,没有为对等体/对等体组指定路由策略。

(5)     设置允许从指定对等体/对等体组收到的路由数量。

peer { group-name | ipv4-address [ mask-length ] } route-limit prefix-number [ { alert-only | discard | reconnect reconnect-time } | percentage-value ] *

缺省情况下,不限制从对等体/对等体组接收的路由数量。

2. 配置BGP IPv4 Tnl-encap-ext路由属性

(1)     进入系统视图。

system-view

(2)     进入BGP实例视图。

bgp as-number [ instance instance-name ]

(3)     进入BGP IPv4 Tnl-encap-ext地址族视图。

address-family ipv4 tnl-encap-ext

(4)     配置向对等体/对等体组发布路由时,将下一跳属性修改为自身的地址。

peer { group-name | ipv4-address [ mask-length ] } next-hop-local

缺省情况下,向EBGP对等体/对等体组发布的所有路由时,都将下一跳属性修改为自身的地址;向IBGP对等体/对等体组发布EBGP路由时,不修改下一跳属性。

(5)     为从指定对等体/对等体组接收的路由分配首选值。

peer { group-name | ipv4-address [ mask-length ] } preferred-value value

缺省情况下,从对等体/对等体组接收的路由的首选值为0。

(6)     配置对于从对等体/对等体组接收的BGP消息,允许本地AS号在该消息的AS_PATH属性中出现,并配置允许出现的次数。

peer { group-name | ipv4-address [ mask-length ] } allow-as-loop [ number ]

缺省情况下,不允许本地AS号在接收消息的AS_PATH属性中出现。

3. 配置BGP路由反射

(1)     进入系统视图。

system-view

(2)     进入BGP实例视图。

bgp as-number [ instance instance-name ]

(3)     进入BGP IPv4 Tnl-encap-ext地址族视图。

address-family ipv4 tnl-encap-ext

(4)     配置RR作为路由反射器,CPE或NAT设备作为路由反射器的客户机。

peer { group-name | ipv4-address [ mask-length ] } reflect-client

缺省情况下,没有配置路由反射器及其客户机。

(5)     (可选)允许路由反射器在客户机之间反射IPv4 Tnl-encap-ext路由。

reflect between-clients

缺省情况下,允许路由反射器在客户机之间反射IPv4 Tnl-encap-ext路由。

(6)     (可选)配置路由反射器的集群ID。

reflector cluster-id { cluster-id | ipv4-address }

缺省情况下,每个路由反射器都使用自己的Router ID作为集群ID。

4. 配置团体属性

(1)     进入系统视图。

system-view

(2)     进入BGP实例视图。

bgp as-number [ instance instance-name ]

(3)     进入BGP IPv4 Tnl-encap-ext地址族视图。

address-family ipv4 tnl-encap-ext

(4)     配置向对等体/对等体组发布团体属性。

peer { group-name | ipv4-address [ mask-length ] } advertise-community

缺省情况下,不向对等体/对等体组发布团体属性。

(5)     配置向对等体/对等体组发布扩展团体属性。

peer { group-name | ipv4-address [ mask-length ] } advertise-ext-community

缺省情况下,不向对等体/对等体组发布扩展团体属性。

2.6.4  维护BGP会话

请在用户视图下执行如下命令,复位或软复位BGP会话。

·     复位Tnl-encap-ext地址族下的BGP会话。

reset bgp [ instance instance-name ] { as-number | ipv4-address [ mask-length ] | all |external | group group-name | internal } ipv4 tnl-encap-ext

·     手工对Tnl-encap-ext地址族下的BGP会话进行软复位。

refresh bgp [ instance instance-name ] { ipv4-address [ mask-length ] | all | external | group group-name | internal } { export | import } ipv4 tnl-encap-ext

2.7  配置通过IP前缀路由发布站点VPN路由

2.7.1  CPE配置

1. 功能简介

在SDWAN网络中,CPE之间通过IP前缀路由发布站点VPN路由,因此需要在CPE上开启发布SDWAN封装的EVPN路由的能力。

在SDWAN网络支持不同VPN实例的多租户场景下,CPE通常需要完成以下配置:

·     在VPN实例IPv4地址族视图下开启EVPN通告SDWAN路由功能,将VPN路由表中的VPN路由作为EVPN的IP前缀路由发布,该路由携带的封装类型为SDWAN封装。

·     在VPN实例视图下配置VPN实例的VN ID,VPN路由作为IP前缀路由发布时,会携带对应VPN实例下的VN ID,以区分不同租户的报文,实现租户之间的隔离。

·     在BGP EVPN地址族视图下配置向RR发布SDWAN封装的EVPN路由。

2. 配置限制和指导

在CPE上,evpn sdwan routing-enable命令和peer advertise encap-type sdwan命令需要配合使用。否则,CPE无法将VPN实例下的路由信息发布给RR。

3. 配置步骤

(1)     进入系统视图。

system-view

(2)     进入VPN实例视图。

ip vpn-instance vpn-instance-name

(3)     配置VPN实例的VN ID。

sdwan vn-id vn-id

缺省情况下,VPN实例上VN ID为0。

(4)     进入VPN实例IPv4地址族视图。

address-family ipv4

(5)     开启EVPN通告SDWAN路由功能。

evpn sdwan routing-enable

缺省情况下,EVPN通告SDWAN路由功能处于关闭状态。

(6)     退回系统视图。

quit

quit

(7)     进入BGP实例视图。

bgp as-number [ instance instance-name ]

(8)     进入BGP EVPN地址族视图。

address-family l2vpn evpn

(9)     配置向RR发布SDWAN封装的EVPN路由。

peer { group name | ipv4-address [ mask-length ] } advertise encap-type sdwan

缺省情况下,设备不向对等体/对等体组发布SDWAN封装的EVPN路由。

2.7.2  RR配置

1. 功能简介

在SDWAN网络中,RR通常作为路由反射器在CPE之间传递站点VPN路由,因此需要在RR上开启向CPE发布SDWAN封装的EVPN路由的能力。

2. 配置步骤

(1)     进入系统视图。

system-view

(2)     进入BGP实例视图。

bgp as-number [ instance instance-name ]

(3)     进入BGP EVPN地址族视图。

address-family l2vpn evpn

(4)     配置BGP路由反射。

a.     配置本机作为路由反射器,CPE作为路由反射器的客户机。

peer { group-name | ipv4-address [ mask-length ] } reflect-client

缺省情况下,没有配置路由反射器及其客户机。

b.     (可选)允许路由反射器在客户机之间反射EVPN路由。

reflect between-clients

缺省情况下,允许路由反射器在客户机之间反射EVPN路由。

c.     (可选)配置路由反射器的集群ID。

reflector cluster-id { cluster-id | ipv4-address }

缺省情况下,每个路由反射器都使用自己的Router ID作为集群ID。

d.     (可选)配置路由反射器对反射的EVPN路由进行过滤。

rr-filter ext-comm-list-number

缺省情况下,路由反射器不会对反射的EVPN路由进行过滤。

e.     (可选)允许路由反射器反射路由时修改路由属性。

reflect change-path-attribute

缺省情况下,不允许路由反射器反射路由时修改路由属性。

(5)     配置向CPE发布SDWAN封装的EVPN路由。

peer { group name | ipv4-address [ mask-length ] } advertise encap-type sdwan

缺省情况下,设备不向对等体/对等体组发布SDWAN封装的EVPN路由。

2.8  SDWAN显示和维护

在完成上述配置后,在任意视图下执行display命令可以显示配置后SDWAN的运行情况,通过查看显示信息验证配置的效果。

在用户视图下,执行reset命令可以清除相应的统计信息。

表2-1 SDWAN显示和维护

操作

命令

在RR上显示SDWAN server的状态

display sdwan server status

在CPE上显示SSL连接状态

display sdwan peer-connection status [ system-ip system-ip-address ]

显示站点的TTE信息

display sdwan site-tte [ site-id site-id ] [ verbose ]

显示设备上TTE连接的信息

display sdwan tte connection [ site-id site-id | system-ip system-ip-address ] [ reachable | unreachable ]

清除TTE连接信息

reset sdwan tte connection [ interface interface-type interface-number [ site-id site-id device-id device-id interface-id interface-id ] ]

 

2.9  SDWAN典型配置举例

1. 组网需求

站点网络通过CPE接入SDWAN网络,通过SDWAN实现不同站点网络跨越广域网互通。

在CPE与RR之间部署STUN功能,探测两者之间是否存在NAT设备以及NAT类型。其中CPE作为STUN客户端,RR作为STUN服务器。SDWAN client与SDWAN server之间建立SSL连接完成CPE与RR之间控制通道的建立。RR作为路由反射器,在CPE之间反射通过控制通道接收到的TTE信息和私网路由,完成CPE之间的数据通道的建立和私网路由的发布。通过配置IPsec功能,对SDWAN隧道上转发的报文进行安全保护。

站点网络1和站点网络4属于VPN 1,站点网络2和站点网络3属于VPN 2,通过VPN实现不同租户之间的隔离。

2. 组网图

图2-1 SDWAN网络组网图

设备

接口

IP地址

设备

接口

IP地址

CE 1

GE0/0/1

10.1.1.1/24

CE 2

GE0/0/2

10.1.2.1/24

CE 3

GE0/0/1

10.1.3.1/24

CE 4

GE0/0/2

10.1.4.1/24

CPE 1

Loop0

1.1.1.10/32

CPE 2

Loop0

1.1.1.30/32

 

GE0/0/1

10.1.1.2/24

 

GE0/0/1

10.1.3.2/24

 

GE0/0/2

10.1.2.2/24

 

GE0/0/2

10.1.4.2/24

 

GE0/0/3

11.1.1.1/24

 

GE0/0/3

14.1.1.1/24

 

GE0/0/4

12.1.1.1/24

 

GE0/0/4

13.1.1.1/24

STUN server

Loop0

6.6.6.1/32

RR

Loop0

1.1.1.20/32

 

Loop1

6.6.6.2/32

 

GE0/0/3

11.1.1.2/24

 

GE0/0/3

14.1.1.2/24

 

GE0/0/4

13.1.1.2/24

 

GE0/0/4

12.1.1.2/24

 

 

 

 

3. 配置步骤

(1)     配置各接口的IP地址。

按照图2-1配置各接口的IP地址和掩码,具体配置过程略。

(2)     配置OSPF协议发布接口所在网段的路由。CPE和RR无需发布Systerm IP所在接口的网段路由。

(3)     配置站点信息和设备信息。

# 配置CPE 1。

<CPE1> system-view

[CPE1] sdwan site-id 20

[CPE1] sdwan site-name beijing

[CPE1] sdwan site-role cpe

[CPE1] sdwan device-id 20

[CPE1] sdwan system-ip loopback0

[CPE1] sdwan encapsulation global-udp-port 3000

# 配置CPE 2。

<CPE2> system-view

[CPE2] sdwan site-id 30

[CPE2] sdwan site-name nanjing

[CPE2] sdwan site-role cpe

[CPE2] sdwan device-id 30

[CPE2] sdwan system-ip loopback0

[CPE2] sdwan encapsulation global-udp-port 3000

# 配置RR。

<RR> system-view

[RR] sdwan site-id 10

[RR] sdwan site-name shanghai

[RR] sdwan site-role rr

[RR] sdwan device-id 10

[RR] sdwan system-ip loopback0

[RR] sdwan encapsulation global-udp-port 3000

(4)     配置CPE(SDWAN client)与RR(SDWAN server)之间的SSL连接。

# 配置CPE 1。

[CPE1] ssl client-policy plc1

[CPE1-ssl client-policy plc1] prefer-cipher rsa_aes_256_cbc_sha

[CPE1-ssl client-policy plc1] undo server-verify enable

[CPE1] sdwan ssl-client-policy plc1

[CPE1] sdwan server system-ip 1.1.1.20 ip 11.1.1.2 port 1234

# 配置CPE 2。

[CPE2] ssl client-policy plc1

[CPE2-ssl client-policy plc1] prefer-cipher rsa_aes_256_cbc_sha

[CPE2-ssl client-policy plc1] undo server-verify enable

[CPE2] sdwan ssl-client-policy plc1

[CPE2] sdwan server system-ip 1.1.1.20 ip 11.1.1.2 port 1234

# 配置RR。

[RR] sdwan server port 1234

[RR] sdwan server enable

(5)     配置CPE与RR之间的BGP连接,并配置在二者之间发布IPv4 Tnl-encap-ext路由。

# 配置CPE 1。

[CPE1] bgp 100

[CPE1-bgp-default] peer 1.1.1.20 as-number 100

[CPE1-bgp-default] peer 1.1.1.20 connect-interface Loopback0

[CPE1-bgp-default] address-family ipv4 tnl-encap-ext

[CPE1-bgp-default-ipv4] peer 1.1.1.20 enable

[CPE1-bgp-default-ipv4] quit

[CPE1-bgp-default] quit

# 配置CPE 2。

[CPE2] bgp 100

[CPE2-bgp-default] peer 1.1.1.20 as-number 100

[CPE2-bgp-default] peer 1.1.1.20 connect-interface Loopback0

[CPE2-bgp-default] address-family ipv4 tnl-encap-ext

[CPE2-bgp-default-ipv4] peer 1.1.1.20 enable

[CPE2-bgp-default-ipv4] quit

[CPE2-bgp-default] quit

# 配置RR。

[RR] bgp 100

[RR-bgp-default] peer 1.1.1.10 as-number 100

[RR-bgp-default] peer 1.1.1.10 connect-interface Loopback0

[RR-bgp-default] peer 1.1.1.30 as-number 100

[RR-bgp-default] peer 1.1.1.30 connect-interface Loopback0

[RR-bgp-default] address-family ipv4 tnl-encap-ext

[RR-bgp-default-ipv4] peer 1.1.1.10 enable

[RR-bgp-default-ipv4] peer 1.1.1.30 enable

[RR-bgp-default-ipv4] peer 1.1.1.10 reflect-client

[RR-bgp-default-ipv4] peer 1.1.1.30 reflect-client

[RR-bgp-default-ipv4] quit

[RR-bgp-default] quit

(6)     配置SDWAN隧道。

# 配置CPE 1。

[CPE1] interface tunnel 1 mode sdwan udp

[CPE1-Tunnel1] source gigabitethernet 0/0/3

[CPE1-Tunnel1] tunnel out-interface gigabitethernet 0/0/3

[CPE1-Tunnel1] sdwan routing-domain rda id 10

[CPE1-Tunnel1] sdwan transport-network tna id 10

[CPE1-Tunnel1] sdwan interface-id 35

[CPE1-Tunnel1] ip address unnumbered interface gigabitethernet 0/0/3

# 配置CPE 2。

[CPE2] interface tunnel 2 mode sdwan udp

[CPE2-Tunnel2] source gigabitethernet 0/0/4

[CPE2-Tunnel2] tunnel out-interface gigabitethernet 0/0/4

[CPE2-Tunnel2] sdwan routing-domain rda id 10

[CPE2-Tunnel2] sdwan transport-network tnb id 20

[CPE2-Tunnel2] sdwan interface-id 30

[CPE2-Tunnel2] ip address unnumbered interface gigabitethernet 0/0/4

# 配置RR。

[RR] interface tunnel 1 mode sdwan udp

[RR-Tunnel1] source  gigabitethernet 0/0/3

[RR-Tunnel1] tunnel out-interface gigabitethernet 0/0/3

[RR-Tunnel1] sdwan routing-domain rda id 10

[RR-Tunnel1] sdwan transport-network tna id 10

[RR-Tunnel1] sdwan interface-id 30

[RR-Tunnel1] ip address unnumbered interface gigabitethernet 0/0/3

[RR-Tunnel1] quit

[RR] interface tunnel 2 mode sdwan udp

[RR-Tunnel2] source gigabitethernet 0/0/4

[RR-Tunnel2] tunnel out-interface gigabitethernet 0/0/4

[RR-Tunnel2] sdwan routing-domain rda id 10

[RR-Tunnel2] sdwan transport-network tnb id 20

[RR-Tunnel2] sdwan interface-id 40

[RR-Tunnel2] ip address unnumbered interface gigabitethernet 0/0/4

[RR-Tunnel2] quit

(7)     配置STUN功能。

# 开启CPE 1上接口tunnel 1的STUN客户端功能,并设置STUN客户端连接的STUN服务器的IP和端口号。

[CPE1-Tunnel1] stun client destination-ip 6.6.6.1 destination-port 20000

[CPE1-Tunnel1] quit

# 开启CPE 2上接口tunnel 2的STUN客户端功能,并设置STUN客户端连接的STUN服务器的IP和端口号。

[CPE2-Tunnel2] stun client destination-ip 6.6.6.1 destination-port 20000

[CPE1-Tunnel2] quit

# 开启STUN服务器功能,并指定STUN服务器的IP地址和UDP端口号。

[STUN server] stun server ip 6.6.6.1 port 20000 alternative-ip 6.6.6.2

(8)     配置IPsec保护SDWAN隧道。

# 配置CPE 1。

[CPE1] ipsec transform-set tran1

[CPE1-transform-set-tran1] encapsulation-mode transport

[CPE1-transform-set-tran1] esp encryption-algorithm 3des-cbc

[CPE1-transform-set-tran1] esp authentication-algorithm md5

[CPE1-transform-set-tran1] quit

[CPE1] ipsec profile prf1 sdwan

[CPE1-ipsec-profile-sdwan-prf1] transform-set tran1

[CPE1-ipsec-profile-sdwan-prf1] quit

[CPE1] interface tunnel 1

[CPE1-Tunnel1] tunnel protection ipsec profile prf1

# 配置CPE 2。

[CPE2] ipsec transform-set tran1

[CPE2-transform-set-tran1] encapsulation-mode transport

[CPE2-transform-set-tran1] esp encryption-algorithm 3des-cbc

[CPE2-transform-set-tran1] esp authentication-algorithm md5

[CPE2-transform-set-tran1] quit

[CPE2] ipsec profile prf1 sdwan

[CPE2-ipsec-profile-sdwan-prf1] transform-set tran1

[CPE2-ipsec-profile-sdwan-prf1] quit

[CPE2] interface tunnel 2

[CPE2-Tunnel2] tunnel protection ipsec profile prf1

# 配置RR。

[RR] ipsec transform-set tran1

[RR-transform-set-tran1] encapsulation-mode transport

[RR-transform-set-tran1] esp encryption-algorithm 3des-cbc

[RR-transform-set-tran1] esp authentication-algorithm md5

[RR-transform-set-tran1] quit

[RR] ipsec profile prf1 sdwan

[RR-ipsec-profile-sdwan-prf1] transform-set tran1

[RR-ipsec-profile-sdwan-prf1] quit

[RR] interface tunnel 1

[RR-Tunnel1] tunnel protection ipsec profile prf1

[RR-Tunnel1] quit

[RR] interface tunnel 2

[RR-Tunnel2] tunnel protection ipsec profile prf1

[RR-Tunnel2] quit

(9)     在CPE设备上配置VPN实例,将CE接入CPE

# 配置CPE 1。

[CPE1] ip vpn-instance vpn1

[CPE1-vpn-instance-vpn1] route-distinguisher 1:1

[CPE1-vpn-instance-vpn1] vpn-target 1:1 import-extcommunity

[CPE1-vpn-instance-vpn1] vpn-target 1:1 export-extcommunity

[CPE1-vpn-instance-vpn1] sdwan vn-id 100

[CPE1-vpn-instance-vpn1] quit

[CPE1] ip vpn-instance vpn2

[CPE1-vpn-instance-vpn2] route-distinguisher 2:2

[CPE1-vpn-instance-vpn2] vpn-target 2:2 import-extcommunity

[CPE1-vpn-instance-vpn2] vpn-target 2:2 export-extcommunity

[CPE1-vpn-instance-vpn2] sdwan vn-id 200

[CPE1-vpn-instance-vpn2] quit

[CPE1] interface gigabitethernet 0/0/1

[CPE1-GigabitEthernet0/0/1] ip binding vpn-instance vpn1

[CPE1-GigabitEthernet0/0/1] quit

[CPE1] interface gigabitethernet 0/0/2

[CPE1-GigabitEthernet0/0/2] ip binding vpn-instance vpn2

[CPE1-GigabitEthernet0/0/2] quit

# 配置CPE 2。

[CPE2] ip vpn-instance vpn1

[CPE2-vpn-instance-vpn1] route-distinguisher 1:1

[CPE2-vpn-instance-vpn1] vpn-target 1:1 import-extcommunity

[CPE2-vpn-instance-vpn1] vpn-target 1:1 export-extcommunity

[CPE2-vpn-instance-vpn1] sdwan vn-id 100

[CPE2-vpn-instance-vpn1] quit

[CPE2] ip vpn-instance vpn2

[CPE2-vpn-instance-vpn2] route-distinguisher 2:2

[CPE2-vpn-instance-vpn2] vpn-target 2:2 import-extcommunity

[CPE2-vpn-instance-vpn2] vpn-target 2:2 export-extcommunity

[CPE2-vpn-instance-vpn2] sdwan vn-id 200

[CPE2-vpn-instance-vpn2] quit

[CPE1] interface gigabitethernet 0/0/1

[CPE1-GigabitEthernet0/0/1] ip binding vpn-instance vpn2

[CPE1-GigabitEthernet0/0/1] quit

[CPE1] interface gigabitethernet 0/0/2

[CPE1-GigabitEthernet0/0/2] ip binding vpn-instance vpn1

[CPE1-GigabitEthernet0/0/2] quit

(10)     在CPE与CE之间建立EBGP对等体,引入VPN路由

# 配置CE 1。

<CE1> system-view

[CE1] bgp 200

[CE1-bgp-default] peer 10.1.1.2 as-number 100

[CE1-bgp-default] address-family ipv4 unicast

[CE1-bgp-default-ipv4] peer 10.1.1.2 enable

[CE1-bgp-default-ipv4] import-route direct

[CE1-bgp-default-ipv4] quit

[CE1-bgp-default] quit

# 配置CE 2。

<CE1> system-view

[CE1] bgp 200

[CE1-bgp-default] peer 10.1.2.2 as-number 100

[CE1-bgp-default] address-family ipv4 unicast

[CE1-bgp-default-ipv4] peer 10.1.2.2 enable

[CE1-bgp-default-ipv4] import-route direct

[CE1-bgp-default-ipv4] quit

[CE1-bgp-default] quit

# 配置CE 3。

<CE1> system-view

[CE1] bgp 200

[CE1-bgp-default] peer 10.1.3.2 as-number 100

[CE1-bgp-default] address-family ipv4 unicast

[CE1-bgp-default-ipv4] peer 10.1.3.2 enable

[CE1-bgp-default-ipv4] import-route direct

[CE1-bgp-default-ipv4] quit

[CE1-bgp-default] quit

# 配置CE 4。

<CE1> system-view

[CE1] bgp 200

[CE1-bgp-default] peer 10.1.4.2 as-number 100

[CE1-bgp-default] address-family ipv4 unicast

[CE1-bgp-default-ipv4] peer 10.1.4.2 enable

[CE1-bgp-default-ipv4] import-route direct

[CE1-bgp-default-ipv4] quit

[CE1-bgp-default] quit

# 配置CPE 1。

[CPE1] bgp 100

[CPE1-bgp-default] ip vpn-instance vpn1

[CPE1-bgp-default-vpn1] peer 10.1.1.1 as-number 200

[CPE1-bgp-default-vpn1] address-family ipv4 unicast

[CPE1-bgp-default-ipv4-vpn1] peer 10.1.1.1 enable

[CPE1-bgp-default-ipv4-vpn1] import-route direct

[CPE1-bgp-default-ipv4-vpn1] quit

[CPE1-bgp-default-vpn1] quit

[CPE1-bgp-default] ip vpn-instance vpn2

[CPE1-bgp-default-vpn2] peer 10.1.2.1 as-number 200

[CPE1-bgp-default-vpn2] address-family ipv4 unicast

[CPE1-bgp-default-ipv4-vpn2] peer 10.1.2.1 enable

[CPE1-bgp-default-ipv4-vpn2] import-route direct

[CPE1-bgp-default-ipv4-vpn2] quit

[CPE1-bgp-default-vpn1] quit

[CPE1-bgp-default] quit

# 配置CPE 2。

[CPE2] bgp 100

[CPE2-bgp-default] ip vpn-instance vpn1

[CPE2-bgp-default-vpn1] peer 10.1.3.1 as-number 200

[CPE2-bgp-default-vpn1] address-family ipv4 unicast

[CPE2-bgp-default-ipv4-vpn1] peer 10.1.3.1 enable

[CPE2-bgp-default-ipv4-vpn1] import-route direct

[CPE2-bgp-default-ipv4-vpn1] quit

[CPE2-bgp-default-vpn1] quit

[CPE2-bgp-default] ip vpn-instance vpn2

[CPE2-bgp-default-vpn2] peer 10.1.4.1 as-number 200

[CPE2-bgp-default-vpn2] address-family ipv4 unicast

[CPE2-bgp-default-ipv4-vpn2] peer 10.1.4.1 enable

[CPE2-bgp-default-ipv4-vpn2] import-route direct

[CPE2-bgp-default-ipv4-vpn2] quit

[CPE2-bgp-default-vpn1] quit

[CPE2-bgp-default] quit

(11)     配置通过IP前缀路由发布站点的私网路由。

# CPE 1。

[CPE1] ip vpn-instance vpn1

[CPE1-vpn-instance-vpn1] address-family ipv4

[CPE1-vpn-ipv4-vpn1] evpn sdwan routing-enable

[CPE1-vpn-ipv4-vpn1] quit

[CPE1-vpn-instance-vpn1] quit

[CPE1] ip vpn-instance vpn2

[CPE1-vpn-instance-vpn2] address-family ipv4

[CPE1-vpn-ipv4-vpn2] evpn sdwan routing-enable

[CPE1-vpn-ipv4-vpn2] quit

[CPE1-vpn-instance-vpn2] quit

[CPE1] bgp 100

[CPE1-bgp-default] address-family l2vpn evpn

[CPE1-bgp-default-evpn] peer 1.1.1.20 enable

[CPE1-bgp-default-evpn] peer 1.1.1.20 advertise encap-type sdwan

[CPE1-bgp-default-evpn] quit

[CPE1-bgp-default] quit

# CPE 2。

[CPE2] ip vpn-instance vpn1

[CPE2-vpn-instance-vpn1] address-family ipv4

[CPE2-vpn-ipv4-vpn1] evpn sdwan routing-enable

[CPE2-vpn-ipv4-vpn1] quit

[CPE2-vpn-instance-vpn1] quit

[CPE2] ip vpn-instance vpn2

[CPE2-vpn-instance-vpn2] address-family ipv4

[CPE2-vpn-ipv4-vpn2] evpn sdwan routing-enable

[CPE2-vpn-ipv4-vpn2] quit

[CPE2-vpn-instance-vpn2] quit

[CPE2] bgp 100

[CPE2-bgp-default] address-family l2vpn evpn

[CPE2-bgp-default-evpn] peer 1.1.1.20 enable

[CPE2-bgp-default-evpn] peer 1.1.1.20 advertise encap-type sdwan

[CPE2-bgp-default-evpn] quit

[CPE2-bgp-default] quit

# RR。

[RR] bgp 200

[RR-bgp-default] address-family l2vpn evpn

[RR-bgp-default-evpn] undo policy vpn-target

[RR-bgp-default-evpn] peer 1.1.1.10 enable

[RR-bgp-default-evpn] peer 1.1.1.10 reflect-client

[RR-bgp-default-evpn] peer 1.1.1.10 advertise encap-type sdwan

[RR-bgp-default-evpn] peer 1.1.1.30 enable

[RR-bgp-default-evpn] peer 1.1.1.30 reflect-client

[RR-bgp-default-evpn] peer 1.1.1.30 advertise encap-type sdwan

4. 验证配置

# 以CPE 1为例,其他设备(CPE 2、RR)与此类似。查看设备上TTE连接的信息,可以看到CPE 1与RR、CPE 2分别建立了TTE连接。

[CPE1] display sdwan tte connection

SiteID/DevID/SysIP         Source IP/port/IfID        Destination IP/port/IfID

******************************************************************************

10/10/1.1.1.20             11.1.1.1/3000/20           11.1.1.2/3000/30

 

10/10/1.1.1.20             11.1.1.1/3000/20           13.2.1.1/3000/40

 

30/30/1.1.1.30             11.1.1.1/3000/20           13.2.1.1/3000/20

 

Number of connections: 3

# 以CPE 1为例,CPE 2设备与此类似。在设备上执行display ip routing-table vpn-instance命令,可以看到去往对端CE 4的路由。

[CPE1] display ip routing-table vpn-instance vpn1

 

Destinations : 14       Routes : 14

 

Destination/Mask   Proto   Pre Cost        NextHop         Interface

0.0.0.0/32         Direct  0   0           127.0.0.1       InLoop0

10.1.1.0/24        Direct  0   0           10.1.1.1        GE0/0/1

10.1.1.2/32        Direct  0   0           127.0.0.1       InLoop0

10.1.1.255/32      Direct  0   0           10.1.1.1        GE0/0/1

10.1.2.0/24        Direct  0   0           10.1.2.1        GE0/0/2

10.1.2.2/32        Direct  0   0           127.0.0.1       InLoop0

10.1.2.255/32      Direct  0   0           10.1.2.1        GE0/0/2

10.1.4.1/24        BGP     255 0           1.1.1.30        Tun1

127.0.0.0/8        Direct  0   0           127.0.0.1       InLoop0

127.0.0.1/32       Direct  0   0           127.0.0.1       InLoop0

127.255.255.255/32 Direct  0   0           127.0.0.1       InLoop0

224.0.0.0/4        Direct  0   0           0.0.0.0         NULL0

224.0.0.0/24       Direct  0   0           0.0.0.0         NULL0

255.255.255.255/32 Direct  0   0           127.0.0.1       InLoop0

# CE 1与CE 4之间可以互访,且CE 2和CE 3之间也可以互访。

不同款型规格的资料略有差异, 详细信息请向具体销售和400咨询。H3C保留在没有任何通知或提示的情况下对资料内容进行修改的权利!

新华三官网
联系我们