01-SDWAN配置
本章節下載: 01-SDWAN配置 (590.70 KB)
目 錄
1.4.1 BGP IPv4 Tnl-Encap-Ext地址族
2.6 配置BGP發布IPv4 Tnl-encap-ext路由
2.6.2 開啟BGP發布IPv4 Tnl-encap-ext路由能力
2.6.3 配置BGP IPv4 Tnl-encap-ext路由
SDWAN(Software Defined Wide Area Network,軟件定義廣域網)是將SDN技術應用到廣域網的一種VPN技術。控製平麵通過SSL/MP-BGP通告TTE(Transport Tunnel Endpoint,傳輸隧道端點)信息,實現不同站點間SDWAN隧道的建立,並通過MP-BGP在不同站點間發布私網路由;數據平麵采用UDP封裝轉發數據報文,通過IPsec等安全機製來確保數據的安全傳輸,為分散在廣闊地理範圍內的企業網絡、數據中心等提供安全可靠的互聯服務。
圖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連接。
SDWAN報文分為控製報文和數據報文。
· 控製報文用於在穿越NAT的組網中,將本端NAT轉換後的Public IP通告給SDWAN隧道對端的設備。穿越NAT的詳細介紹,請參見“1.9 穿越NAT建立SDWAN隧道”
· 數據報文用於轉發用戶的報文。
如圖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所示,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數據報文封裝示意圖
為了支持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訪問路徑質量信息的具體內容。
在SDWAN支持多VPN實例場景中,CPE將VPN實例中的私網路由信息以EVPN IP前綴路由的形式發布給其他CPE。為支持SDWAN,EVPN路由進行了如下擴展:
· 在TUNNEL_ENCAPSULATION_ATTRIBUTE屬性中,新增加了一種SDWAN封裝類型。IP前綴路由攜帶了SDWAN封裝後,隻能在使能了發送SDWAN封裝EVPN路由能力的設備之間轉發。
· IP前綴路由的NLRI字段攜帶了VN ID,用來區分屬於不同VPN實例的私網路由。
如圖1-5所示,SDWAN網絡包含控製通道和數據通道兩種類型的通道。
圖1-5 SDWAN網絡隧道示意圖
控製通道是指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連接(控製通道)。
數據通道是指CPE之間轉發數據報文的通道。具體的建立過程為:
(1) CPE通過IPv4 Tnl-encap-ext路由向RR發送TTE信息。
(2) RR將TTE信息反射給其他CPE。
(3) CPE收到由RR反射的TTE信息後,比較TTE信息中攜帶的路由域。若路由域相同,則建立到達對端CPE的SDWAN隧道;若路由域不同,則不建立SDWAN隧道。
如圖1-6所示,在SDWAN網路中,站點間的路由發布過程包含三部分:本地站點向CPE發布VPN路由、CPE之間發布路由、CPE向本地站點發布VPN路由。完成這三部分後,站點之間將建立可達路由。
本地站點使用靜態路由、RIP、OSPF、IS-IS、EBGP或IBGP,將本站點的VPN路由發布給本端CPE。本地站點發布給CPE的是標準的IPv4路由。
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路由表中。
與本地站點向CPE發布路由信息相同,遠端站點可以通過多種方式從遠端CPE學習VPN路由,包括靜態路由、RIP、OSPF、IS-IS、EBGP和IBGP。
在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隧道轉發報文示意圖
為了保障SDWAN隧道傳輸數據的機密性和完整性,設備支持通過IPsec為SDWAN報文提供安全保護。為此,IPsec進行了如下擴展:
· 支持SDWAN方式的IPsec安全框架。
· 支持通信對等體之間的多個SDWAN隧道共用一對IPsec SA。
有關IPsec的詳細介紹,請參見“安全配置指導”中的“IPsec”。
如圖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) 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) 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 |
× |
√ |
SDWAN配置任務如下:
(1) 配置站點信息和設備標識
a. 配置設備所屬的站點
(2) 配置SDWAN client
(3) 配置SDWAN server
(4) (可選)配置IPsec保護SDWAN隧道
配置方法請參見“安全配置指導”中的“IPsec”。
(5) (可選)配置穿越NAT建立SDWAN隧道
配置方法請參見“三層技術-IP業務配置指導”中的“NAT”
(6) 配置SDWAN隧道
(7) 配置BGP發布IPv4 Tnl-encap-ext路由
站點ID是站點在SDWAN網絡中的唯一標識。
站點名稱可以描述站點的位置、功能等,方便用戶更好地識別站點在SDWAN網絡中的作用。站點名稱不是站點的唯一標識,不同的設備可以配置相同的站點名稱。
不同的站點角色在SDWAN網絡中的作用不同,站點角色變更會導致SDWAN隧道震蕩,從而對業務產生影響,建議在網絡部署前規劃好設備角色。
(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功能的設備上必須配置相同的站點角色。
設備的ID是設備在站點內的唯一標識。
(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接口時,本配置才生效。
在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隧道。
一個SSL連接隻能引用一個SSL客戶端策略。多次執行sdwan ssl-client-policy命令,最後一次執行的命令生效。但新的策略僅對修改配置後新創建的SSL連接生效。
配置本功能前需要先完成SSL客戶端策略配置。關於SSL客戶端策略的詳細介紹,請參見“安全配置指導”中的“SSL”。
(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客戶端策略。
執行本配置後,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域等。這種方式配置複雜,但是具有更高的安全性。
一個SSL連接隻能引用一個SSL服務器端策略。重複執行sdwan ssl-server-policy命令修改SSL連接引用的SSL服務器端策略後,修改後的策略不會生效。隻有先執行undo sdwan server enable命令,再執行sdwan server enable命令,新的策略才會生效。
如果采用安全方式建立SSL連接,則需要先完成SSL服務器端策略配置。關於SSL服務器端策略的詳細介紹,請參見“安全配置指導”中的“SSL”。
(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服務器端策略。
當本端SDWAN隧道建立完成後,設備會通過該隧道上建立的所有TTE連接按照指定的時間間隔向對端發送Keepalive請求報文。
· 如果本端在發送Keepalive請求報文的時間間隔內收到對端發送的Keepalive應答報文,則認為本端與對端的TTE連接可達。
· 如果本端未在發送Keepalive請求報文的時間間隔內收到對端發送的Keepalive應答報文,則本端會嚐試重新發送Keepalive請求報文。若在發送Keepalive請求報文的時間間隔×允許未收到Keepalive應答報文的最大連續次數時間內沒有收到Keepalive應答報文,則認為本端與對端的TTE連接不可達,將不再使用該TTE連接轉發報文。
關於隧道的詳細介紹及Tunnel接口下的更多配置命令,請參見“三層技術-IP業務配置指導”中的“隧道”。
係統視圖和Tunnel接口視圖下均可以配置SDWAN報文采用UDP封裝時的源UDP端口號。係統視圖的配置對所有Tunnel接口都有效,而Tunnel接口視圖下的配置隻對當前Tunnel接口有效。對於一個Tunnel接口來說,優先采用該Tunnel接口視圖下的配置,隻有該Tunnel接口下未進行配置時,才采用係統視圖的配置。
(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秒。
BGP相關命令的詳細介紹,請參見“三層技術-IP路由命令參考”中的“BGP”。
(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路由信息。
(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 ] *
缺省情況下,不限製從對等體/對等體組接收的路由數量。
(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屬性中出現。
(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。
(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
缺省情況下,不向對等體/對等體組發布擴展團體屬性。
請在用戶視圖下執行如下命令,複位或軟複位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
在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路由。
在CPE上,evpn sdwan routing-enable命令和peer advertise encap-type sdwan命令需要配合使用。否則,CPE無法將VPN實例下的路由信息發布給RR。
(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路由。
在SDWAN網絡中,RR通常作為路由反射器在CPE之間傳遞站點VPN路由,因此需要在RR上開啟向CPE發布SDWAN封裝的EVPN路由的能力。
(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路由。
在完成上述配置後,在任意視圖下執行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 ] ] |
站點網絡通過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-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 |
|
|
|
(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
# 以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保留在沒有任何通知或提示的情況下對資料內容進行修改的權利!