• 產品與解決方案
  • 行業解決方案
  • 服務
  • 支持
  • 合作夥伴
  • 關於我們

19-MPLS配置指導

目錄

03-MPLS L3VPN配置

本章節下載 03-MPLS L3VPN配置  (1.58 MB)

03-MPLS L3VPN配置

目  錄

1 MPLS L3VPN

1.1 MPLS L3VPN簡介

1.1.1 MPLS L3VPN基本網絡架構

1.1.2 MPLS L3VPN基本概念

1.1.3 MPLS L3VPN路由信息發布

1.1.4 MPLS L3VPN報文轉發

1.1.5 MPLS L3VPN常見組網方案

1.1.6 跨域VPN

1.1.7 運營商的運營商

1.1.8 嵌套VPN

1.1.9 多角色主機

1.1.10 HoVPN

1.1.11 OSPF VPN擴展

1.1.12 BGP的AS號替換和SoO屬性

1.1.13 MPLS L3VPN快速重路由

1.1.14 VPN引入等價路由

1.1.15 協議規範

1.2 MPLS L3VPN配置限製和指導

1.3 MPLS L3VPN配置任務簡介

1.4 MPLS L3VPN配置準備

1.5 配置VPN實例

1.5.1 創建VPN實例

1.5.2 配置VPN實例與三層接口關聯

1.5.3 配置VPN實例的路由相關屬性

1.6 配置PE-CE間的路由交換

1.6.1 配置PE-CE間使用靜態路由

1.6.2 配置PE-CE間使用RIP

1.6.3 配置PE-CE間使用OSPF

1.6.4 配置PE-CE間使用IS-IS

1.6.5 配置PE-CE間使用EBGP

1.6.6 配置PE-CE間使用IBGP

1.7 配置PE-PE間的路由交換

1.8 配置BGP VPNv4路由

1.8.1 功能簡介

1.8.2 控製BGP VPNv4路由的發布、接收和保存

1.8.3 配置BGP VPNv4路由的首選值

1.8.4 配置BGP VPNv4路由反射

1.8.5 配置BGP VPNv4路由屬性

1.8.6 配置BGP VPNv4路由過濾

1.9 配置跨域VPN

1.9.1 配置跨域VPN-OptionA

1.9.2 配置跨域VPN-OptionB

1.9.3 配置跨域VPN-OptionC

1.10 配置嵌套VPN

1.11 配置多角色主機

1.11.1 功能簡介

1.11.2 配置並應用策略路由

1.11.3 配置靜態路由

1.12 配置HoVPN

1.12.1 配置UPE

1.12.2 配置SPE

1.13 配置Egress PE上私網路由標簽操作方式

1.14 配置MPLS L3VPN快速重路由

1.14.1 功能簡介

1.14.2 配置限製和指導

1.14.3 通過路由策略配置快速重路由功能

1.14.4 開啟BGP-VPN IPv4單播地址族的快速重路由功能

1.15 配置OSPF偽連接

1.15.1 功能簡介

1.15.2 配置準備

1.15.3 發布Loopback接口的路由

1.15.4 創建偽連接

1.16 配置BGP的AS號替換和SoO屬性

1.17 配置RT-Filter功能

1.18 配置路由信息引入功能

1.19 開啟VPN引入等價路由功能

1.20 配置優先發送指定路由的撤銷消息

1.21 開啟告警功能

1.22 MPLS L3VPN顯示和維護

1.22.1 複位BGP會話

1.22.2 顯示MPLS L3VPN的運行狀態

2 IPv6 MPLS L3VPN

2.1 IPv6 MPLS L3VPN簡介

2.1.1 IPv6 MPLS L3VPN典型組網環境

2.1.2 IPv6 MPLS L3VPN的報文轉發

2.1.3 IPv6 MPLS L3VPN的路由發布

2.1.4 IPv6 MPLS L3VPN支持的組網方案及功能

2.1.5 協議規範

2.2 IPv6 MPLS L3VPN配置任務簡介

2.3 IPv6 MPLS L3VPN配置準備

2.4 配置VPN實例

2.4.1 創建VPN實例

2.4.2 配置VPN實例與三層接口關聯

2.4.3 配置VPN實例的路由相關屬性

2.5 配置PE-CE間的路由交換

2.5.1 配置PE-CE間使用IPv6靜態路由

2.5.2 配置PE-CE間使用RIPng

2.5.3 配置PE-CE間使用OSPFv3

2.5.4 配置PE-CE間使用IPv6 IS-IS

2.5.5 配置PE-CE間使用EBGP

2.5.6 配置PE-CE間使用IBGP

2.6 配置PE-PE間的路由交換

2.7 配置BGP VPNv6路由

2.7.1 功能簡介

2.7.2 配置BGP VPNv6路由的首選值

2.7.3 配置允許從指定對等體/對等體組收到的路由數量

2.7.4 配置BGP VPNv6路由反射

2.7.5 配置BGP VPNv6路由屬性

2.7.6 配置BGP VPNv6路由過濾

2.8 配置IPv6跨域VPN

2.8.1 配置IPv6跨域VPN-OptionA

2.8.2 配置IPv6跨域VPN-OptionB

2.8.3 配置IPv6跨域VPN-OptionC

2.9 配置多角色主機

2.9.1 功能簡介

2.9.2 配置並應用策略路由

2.9.3 配置靜態路由

2.10 配置OSPFv3偽連接

2.10.1 配置準備

2.10.2 發布Loopback接口的路由

2.10.3 創建偽連接

2.11 配置BGP的AS號替換和SoO屬性

2.12 配置優先發送指定路由的撤銷消息

2.13 IPv6 MPLS L3VPN顯示和維護

2.13.1 複位BGP會話

2.13.2 顯示IPv6 MPLS L3VPN的運行狀態

 


1 MPLS L3VPN

1.1  MPLS L3VPN簡介

MPLS L3VPN是一種三層VPN技術,它使用BGP在服務提供商骨幹網上發布用戶站點的私網路由,使用MPLS在服務提供商骨幹網上轉發用戶站點之間的私網報文,從而實現通過服務提供商的骨幹網連接屬於同一個VPN、位於不同地理位置的用戶站點。MPLS L3VPN組網方式靈活,可擴展性好,並能夠方便地支持MPLS QoS和MPLS TE,因此得到了廣泛的應用。

1.1.1  MPLS L3VPN基本網絡架構

MPLS L3VPN的基本網絡架構如圖1-1所示。MPLS L3VPN網絡中設備的角色分為以下幾種:

·     CE(Customer Edge,用戶網絡邊緣)設備:直接與服務提供商網絡相連的用戶網絡側設備。CE“感知”不到VPN的存在,也不需要支持MPLS。

·     PE(Provider Edge,服務提供商網絡邊緣)設備:與CE相連的服務提供商網絡側設備。在MPLS L3VPN網絡中,對VPN的所有處理都發生在PE上。

·     P(Provider,服務提供商網絡)設備:服務提供商網絡中的骨幹設備,不與CE直接相連。P隻需要在骨幹網中將用戶網絡報文轉發給正確的遠端PE,不需要維護和處理VPN信息。

圖1-1 MPLS L3VPN基本網絡架構

 

1.1.2  MPLS L3VPN基本概念

1. Site

Site(站點)的含義可以從下述幾個方麵理解:

·     Site是指相互之間具備IP連通性的一組IP係統,並且這組IP係統的IP連通性不需通過服務提供商網絡實現;

·     Site的劃分是根據設備的拓撲關係,而不是地理位置,盡管在大多數情況下一個Site中的設備地理位置相鄰;

·     一個Site中的設備可以屬於多個VPN,換言之,一個Site可以屬於多個VPN;

·     Site通過CE連接到服務提供商網絡,一個Site可以包含多個CE,但一個CE隻屬於一個Site。

對於多個連接到同一服務提供商網絡的Site,通過製定策略,可以將它們劃分為不同的集合(set),隻有屬於相同集合的Sites之間才能通過服務提供商網絡互訪,這種集合就是VPN。

2. VPN實例

在MPLS L3VPN中,不同VPN之間的路由隔離通過VPN實例(VPN-instance)實現,VPN實例又稱為VRF(Virtual Routing and Forwarding,虛擬路由和轉發)實例。PE上每個VPN實例都有相對獨立的路由表和LFIB(Label Forwarding Information Base,標簽轉發信息庫),確保VPN數據的獨立性和安全性。

PE通過將與Site連接的接口與VPN實例關聯,實現該Site與VPN實例的關聯。一個Site隻能與一個VPN實例關聯;不同的Site可以關聯同一個VPN實例。VPN實例中包含了與其關聯的Site所屬的所有VPN的成員關係和路由規則等信息。

VPN實例中的信息包括:LFIB、IP路由表、與VPN實例關聯的接口以及VPN實例的管理信息。VPN實例的管理信息包括RD(Route Distinguisher,路由標識符)、Route Target屬性、路由過濾策略等。

3. VPN-IPv4地址

VPN是一種私有網絡,不同的VPN獨立管理自己使用的地址範圍,也稱為地址空間(Address Space)。不同VPN的地址空間可能會在一定範圍內重合,比如,VPN 1和VPN 2都使用了10.110.10.0/24網段的地址,這就發生了地址空間重疊(Overlapping Address Spaces)。

傳統BGP無法正確處理地址空間重疊的VPN的路由。假設VPN 1和VPN 2都使用了10.110.10.0/24網段的地址,並各自發布了一條去往此網段的路由,BGP隻會選擇其中一條路由,從而導致去往另一個VPN的路由丟失。

MPLS L3VPN使用VPN-IPv4地址(又稱為VPNv4地址)來解決上述問題。

圖1-2 VPN-IPv4地址結構

 

圖1-2所示,VPN-IPv4地址共有12個字節,包括8字節的RD和4字節的IPv4地址前綴。其中,RD的作用是將其添加到一個IPv4地址前綴前,使之成為全局唯一的VPN-IPv4地址前綴。PE從CE接收到普通IPv4路由後,為IPv4地址前綴添加RD,將其轉變為VPN-IPv4路由,並使用MP-BGP(Multiprotocol Border Gateway Protocol,多協議邊界網關協議)將VPN-IPv4路由發布給對端PE,從而實現通過RD區分不同VPN的相同IPv4地址前綴。

RD有三種格式,通過2字節的Type字段區分:

·     Type為0時,Administrator子字段占2字節,Assigned number子字段占4字節,格式為:16位自治係統號:32位用戶自定義數字,例如:100:1。

·     Type為1時,Administrator子字段占4字節,Assigned number子字段占2字節,格式為:32位IPv4地址:16位用戶自定義數字,例如:172.1.1.1:1。

·     Type為2時,Administrator子字段占4字節,Assigned number子字段占2字節,格式為:32位自治係統號:16位用戶自定義數字,其中的自治係統號最小值為65536,例如:65536:1。

為了保證VPN-IPv4地址全球唯一,建議不要將Administrator子字段的值設置為私有AS號或私有IP地址。

4. Route Target屬性

MPLS L3VPN使用BGP擴展團體屬性——Route Target(也稱為VPN Target)來控製VPN路由信息的發布。

Route Target屬性分為如下兩類:

·     Export Target屬性:本地PE從與自己直接相連的Site學習到IPv4路由後,將其轉換為VPN-IPv4路由,為VPN-IPv4路由設置Export Target屬性並發布給其它PE。

·     Import Target屬性:PE在接收到其它PE發布的VPN-IPv4路由時,檢查其Export Target屬性。隻有當此屬性與PE上某個VPN實例的Import Target屬性匹配時,才把路由加入到該VPN實例的路由表中。

Route Target屬性定義了一條VPN-IPv4路由可以為哪些Site所接收,PE可以接收哪些Site發送來的路由。

與RD類似,Route Target也有三種格式:

·     16位自治係統號:32位用戶自定義數字,例如:100:1。

·     32位IPv4地址:16位用戶自定義數字,例如:172.1.1.1:1。

·     32位自治係統號:16位用戶自定義數字,其中的自治係統號最小值為65536,例如:65536:1。

5. MP-BGP

MP-BGP(Multiprotocol Border Gateway Protocol,多協議邊界網關協議)是對BGP協議的擴展,它可以為多種網絡層協議傳遞路由信息,如IPv4組播、VPN-IPv4等。

在MPLS L3VPN中,PE之間利用MP-BGP來傳遞VPN-IPv4路由,既實現了VPN的私網路由在不同站點之間的傳遞,又確保了私網路由隻在VPN內發布。

1.1.3  MPLS L3VPN路由信息發布

在MPLS L3VPN組網中,VPN路由信息的發布涉及CE和PE。P路由器隻維護骨幹網的路由,不需要了解任何VPN路由信息。PE路由器隻維護與它直接相連的VPN的路由信息,不維護所有VPN路由。

VPN路由信息的發布過程包括三部分:本地CE到入口PE、入口PE到出口PE、出口PE到遠端CE。完成這三部分後,本地CE與遠端CE之間將建立可達路由。

1. 本地CE到入口PE的路由信息交換

CE使用靜態路由、RIP、OSPF、IS-IS、EBGP或IBGP,將本站點的VPN路由發布給PE。CE發布給PE的是標準的IPv4路由。

2. 入口PE到出口PE的路由信息交換

PE從CE學到VPN路由信息後,將其存放到相應的VPN實例的路由表中。PE為這些標準IPv4路由增加RD和Export Target屬性,並為這些路由分配MPLS標簽,形成VPN-IPv4路由。

入口PE通過MP-BGP把VPN-IPv4路由(包括Export Target屬性和MPLS標簽)發布給出口PE。出口PE將VPN-IPv4路由的Export Target屬性與自己維護的VPN實例的Import Target屬性進行匹配。如果出口PE上某個VPN實例的Import Target屬性與路由的Export Target屬性中存在相同的屬性值,則將該路由加入到該VPN實例的路由表中。

3. 出口PE到遠端CE的路由信息交換

與本地CE到入口PE的路由信息交換相同,遠端CE可以通過多種方式從出口PE學習VPN路由,包括靜態路由、RIP、OSPF、IS-IS、EBGP和IBGP。

1.1.4  MPLS L3VPN報文轉發

在基本MPLS L3VPN應用中(不包括跨域的情況),PE轉發VPN報文時為報文封裝如下內容:

·     外層標記:又稱為公網標記。VPN報文在骨幹網上沿著公網隧道從一端PE傳送到另一端PE。公網隧道可以是LSP隧道、MPLS TE隧道和GRE隧道。當公網隧道為LSP隧道或MPLS TE隧道時,公網標記為MPLS標簽,稱為公網標簽;當公網隧道為GRE隧道時,公網標記為GRE封裝。

·     內層標簽:又稱為私網標簽,用來指示報文應被送到哪個Site。對端PE根據私網標簽可以確定報文所屬的VPN實例,通過查找該VPN實例的路由表,將報文正確地轉發到相應的Site。PE之間在通過MP-BGP發布VPN-IPv4路由時,將為私網路由分配的私網標簽通告給對端PE。

圖1-3 VPN報文轉發示意圖

圖1-3所示,VPN報文的轉發過程為:

(1)     Site 1發出一個目的地址為1.1.1.2的IP報文,由CE 1將報文發送至PE 1。

(2)     PE 1根據報文到達的接口及目的地址查找對應VPN實例的路由表,根據匹配的路由表項為報文添加私網標簽,並查找到報文的下一跳為PE 2。

(3)     PE 1在公網路由表內查找到達PE 2的路由,根據查找結果為報文封裝公網標簽或進行GRE封裝,並沿著公網隧道轉發該報文。

(4)     MPLS網絡內,P根據報文的公網標記轉發報文,將報文轉發到PE 2。如果公網標記為MPLS標簽,則報文在到達PE 2的前一跳時剝離公網標簽,僅保留私網標簽;如果為GRE封裝,則由PE 2剝離報文的GRE封裝。

(5)     PE 2根據私網標簽確定報文所屬的VPN實例,通過查找該VPN實例的路由表,確定報文的出接口,剝離私網標簽後將報文轉發至CE 2。

(6)     CE 2根據正常的IP轉發過程將報文轉發給目的主機。

屬於同一個VPN的兩個Site連接到同一個PE時,PE不需要為VPN報文封裝外層標記和內層標簽,隻需查找對應VPN實例的路由表,找到報文的出接口,將報文轉發至相應的Site。

1.1.5  MPLS L3VPN常見組網方案

在MPLS L3VPN網絡中,通過Route Target屬性來控製VPN路由信息在各Site之間的發布和接收。VPN Export Target和Import Target的設置相互獨立,並且都可以設置多個值,能夠實現靈活的VPN訪問控製,從而實現多種VPN組網方案。

1. 基本的VPN組網方案

最簡單的情況下,一個VPN中的所有用戶形成閉合用戶群,相互之間能夠進行流量轉發,VPN中的用戶不能與任何本VPN以外的用戶通信。

對於這種組網,需要為每個VPN分配一個Route Target,作為該VPN的Export Target和Import Target,且此Route Target不能被其他VPN使用。

圖1-4 基本的VPN組網方案

 

圖1-4所示,PE上為VPN 1分配的Route Target值為100:1,為VPN 2分配的Route Target值為200:1。VPN 1的兩個Site之間可以互訪,VPN 2的兩個Site之間也可以互訪,但VPN 1和VPN 2的Site之間不能互訪。

2. Hub&Spoke組網方案

使用Hub&Spoke組網方案可以實現在VPN中設置中心訪問控製設備,其它用戶的互訪都通過中心訪問控製設備進行,通過中心設備對其他設備之間的互訪進行監控和過濾等。其中:

·     中心訪問控製設備所在的站點稱為Hub站點;該站點的CE稱為Hub-CE;與該站點連接的PE稱為Hub-PE。

·     其他分支站點稱為Spoke站點;分支站點的CE稱為Spoke-CE;與分支站點連接的PE稱為Spoke-PE。

對於這種組網,Route Target設置規則為:

·     Spoke-PE:Export Target為“Spoke”,Import Target為“Hub”;

·     Hub-PE:Hub-PE上需要使用兩個接口連接Hub-CE,兩個接口分別屬於不同的VPN實例。一個VPN實例用於接收Spoke-PE發來的路由,其Import Target為“Spoke”;另一個VPN實例用於向Spoke-PE發布路由,其Export Target為“Hub”。

按照上述規則設置Route Target,可以實現:

·     Hub-PE能夠接收所有Spoke-PE發布的VPN-IPv4路由。

·     Hub-PE發布的VPN-IPv4路由能夠為所有Spoke-PE接收。

·     Hub-PE將從Spoke-PE學到的路由發布給其他Spoke-PE,因此,Spoke站點之間可以通過Hub站點互訪。

·     任意Spoke-PE的Import Target屬性不與其它Spoke-PE的Export Target屬性相同。因此,任意兩個Spoke-PE之間不直接發布VPN-IPv4路由,Spoke站點之間不能直接互訪。

圖1-5 Hub&Spoke組網方案

 

圖1-5所示,以站點1向站點2發布路由為例,Spoke站點之間的路由發布過程為:

(1)     Spoke-CE 1將站點1內的私網路由發布給Spoke-PE 1。

(2)     Spoke-PE 1將該路由轉變為VPN-IPv4路由,通過MP-BGP發布給Hub-PE。

(3)     Hub-PE將該路由學習到VPN 1-in的路由表中,並將其轉變為標準IPv4路由發布給Hub-CE。

(4)     Hub-CE將該路由再次發布給Hub-PE,Hub-PE將其學習到VPN 1-out的路由表中。

(5)     Hub-PE將VPN 1-out路由表中的私網路由轉變為VPN-IPv4路由,通過MP-BGP發布給Spoke-PE 2。

(6)     Spoke-PE 2將VPN-IPv4路由轉變為標準IPv4路由發布到站點2。

Spoke站點之間通過Hub站點完成路由交互後,Spoke站點之間的通信將通過Hub站點進行。

3. Extranet組網方案

如果一個VPN用戶希望提供本VPN的部分站點資源給非本VPN的用戶訪問,可以使用Extranet組網方案。

對於這種組網,需要訪問共享站點的VPN實例的Export Target必須包含在共享站點VPN實例的Import Target中,而其Import Target必須包含在共享站點VPN實例的Export Target中。

圖1-6 Extranet組網方案

 

圖1-6中,VPN 1的Site 3為共享站點,通過設置Route Target實現:

·     PE 3能夠接受PE 1和PE 2發布的VPN-IPv4路由。

·     PE 3發布的VPN-IPv4路由能夠為PE 1和PE 2接受。

基於以上兩點,VPN 1的Site 1和Site 3之間能夠互訪,VPN 2的Site 2和VPN 1的Site 3之間也能夠互訪。

PE 3不把從PE 1接收的VPN-IPv4路由發布給PE 2,也不把從PE 2接收的VPN-IPv4路由發布給PE 1(從IBGP鄰居學來的路由不會再發送給其他的IBGP鄰居)。因此,VPN 1的Site 1和VPN 2的Site 2之間不能互訪。

1.1.6  跨域VPN

實際組網應用中,某用戶一個VPN的多個Site可能會連接到使用不同AS號的多個服務提供商,或者連接到一個服務提供商的多個AS。這種VPN跨越多個自治係統的應用方式被稱為跨域VPN(Multi-AS VPN)。

跨域VPN解決方案分為以下幾種:

·     ASBR間建立VRF-to-VRF連接(VRF-to-VRF connections between ASBRs),也稱為Inter-Provider Option A。

·     ASBR間通過MP-EBGP發布VPN-IPv4路由(EBGP redistribution of labeled VPN-IPv4 routes between ASBRs),也稱為Inter-Provider Option B;

·     PE間通過MP-EBGP發布VPN-IPv4路由(Multi-hop EBGP redistribution of labeled VPN-IPv4 routes between PE routers),也稱為Inter-Provider Option C。

1. ASBR間建立VRF-to-VRF連接

這種方式下,兩個AS的PE路由器直接相連,並且作為各自所在自治係統的邊界路由器ASBR。兩個PE都把對方當作自己的CE設備,通過EBGP會話向對端發布普通的IPv4單播路由,並將需要跨域的VPN實例與至少一個接口關聯。

圖1-7 ASBR間建立VRF-to-VRF連接組網圖

 

圖1-7所示,VPN 1內路由從CE 1發布到CE 3的過程為:

(1)     PE 1從CE 1學習到私網路由後,通過MP-IBGP發布給ASBR 1。

(2)     ASBR 1比較Route Target屬性,將PE 1發布的VPN-IPv4路由學習到相應的VPN實例路由表中,並作為IPv4單播路由通過EBGP會話發布給它的CE設備,即ASBR 2。

(3)     ASBR 2從它的CE(ASBR 1)接收到IPv4單播路由後,將其加入與接收路由的接口綁定的VPN實例的路由表中,並通過MP-IBGP發布給PE 3。

(4)     PE 3接收到路由後,將其發布給CE 3。

報文轉發過程中,在AS內部作為VPN報文,采用兩層標簽的方式轉發;在ASBR之間則采用IP轉發方式。

這種方式的優點是實現簡單,兩個作為ASBR的PE之間不需要為跨域進行特殊配置。缺點是可擴展性差:作為ASBR的PE需要管理所有VPN的路由,為每個VPN創建VPN實例,導致PE上的VPN-IPv4路由數量過於龐大;並且,PE上需要為每個跨域的VPN單獨關聯接口,提高了對PE設備的要求。

2. ASBR間通過MP-EBGP發布VPN-IPv4路由

這種方式下,兩個ASBR通過MP-EBGP交換它們從各自AS的PE路由器接收的VPN-IPv4路由。

圖1-8 ASBR間通過MP-EBGP發布VPN-IPv4路由組網圖

 

圖1-8所示,VPN 1內路由從CE 1發布到CE 3的過程為:

(1)     PE 1從CE 1學習到私網路由後,通過MP-IBGP發布給ASBR 1。假設PE 1為私網路由分配的私網標簽為L1。

(2)     ASBR 1接收PE 1發布的VPN-IPv4路由,並作為VPN-IPv4路由通過MP-EBGP將其發布給ASBR 2。ASBR 1發布該路由時,將路由的下一跳地址改為自身的地址,為路由分配新的私網標簽L2,並為新的私網標簽L2和舊的私網標簽L1建立關聯。

(3)     ASBR 2從ASBR 1接收到VPN-IPv4路由後,通過MP-IBGP將路由發布給PE 3。ASBR 2在發布路由時,將路由的下一跳地址改為自身的地址,為路由分配新的私網標簽L3,並為新的私網標簽L3和舊的私網標簽L2建立關聯。

(4)     PE 3接收到路由後,將其發布給CE 3。

完成路由發布後,報文從CE 3到CE 1的轉發過程為:

(1)     PE 3接收到報文後,為其封裝兩層標簽——私網標簽L3和從PE 3到ASBR 2的公網隧道的標簽,並將報文轉發給ASBR 2。

(2)     ASBR 2剝離公網標簽後,將私網標簽L3替換為L2,並將報文發送給ASBR 1。ASBR 1和ASBR 2之間的報文隻帶一層私網標簽。

(3)     ASBR 1將私網標簽L2替換為L1,添加從ASBR 1到PE 1的公網隧道的標簽,並將報文轉發給PE 1。

(4)     PE 1剝離公網標簽、私網標簽後,將報文轉發給CE 1。

采用這種方式時,ASBR需要接收所有跨域VPN的私網路由,因此,ASBR上不能根據Route Target屬性對接收的VPN-IPv4路由進行過濾。

這種方式的擴展性優於Inter-Provider Option A。缺點是ASBR仍然需要參與VPN私網路由的維護和發布。

3. PE間通過MP-EBGP發布VPN-IPv4路由

這種方式下,不同AS的PE之間建立多跳MP-EBGP會話,通過該會話直接在PE之間發布VPN-IPv4路由。此時,一端PE上需要具有到達遠端PE的路由以及該路由對應的標簽,以便在兩個PE之間建立跨越AS的公網隧道。Inter-Provider Option C通過如下方式建立公網隧道:

·     利用LDP等標簽分發協議在AS內建立公網隧道;

·     ASBR通過BGP發布帶標簽的IPv4單播路由,實現跨域AS域建立公網隧道。帶標簽的IPv4單播路由是指為IPv4單播路由分配MPLS標簽,並同時發布IPv4單播路由和標簽,以便將路由和標簽關聯。

圖1-9 PE間通過Multi-hop MP-EBGP發布VPN-IPv4路由組網圖

 

圖1-9所示,VPN 1內路由從CE 1發布到CE 3的過程比較簡單,為:PE 1從CE 1學習到私網路由後,將其作為VPN-IPv4路由通過多跳MP-EBGP會話發布給PE 3(假設PE 1為CE 1分配的私網標簽為Lx);PE 3將私網路由發布給CE 3。

Inter-Provider Option C的難點是建立跨越AS域的公網隧道。以PE 3到PE 1為例,公網隧道建立過程為:

(1)     在AS 100內,通過LDP等標簽分發協議建立從ASBR 1到PE 1的公網隧道。假設ASBR 1上該公網隧道的出標簽為L1。

(2)     ASBR 1通過EBGP會話向ASBR 2發布帶標簽的IPv4單播路由,將PE 1地址對應的路由及ASBR 1為其分配的標簽(假設為L2)發布給ASBR 2,路由的下一跳地址為ASBR 1。這樣,就建立了從ASBR 2到ASBR 1的公網隧道,ASBR 1上公網隧道的入標簽為L2。

(3)     ASBR 2通過IBGP會話向PE 3發布帶標簽的IPv4單播路由,將PE 1地址對應的路由及ASBR 2為其分配的標簽(假設為L3)發布給PE 3,路由的下一跳地址為ASBR 2。這樣,就建立了從PE 3直接到ASBR 2的公網隧道,ASBR 2上公網隧道的入標簽為L3,出標簽為L2。

(4)     MPLS報文不能直接從PE 3轉發給ASBR 2,在AS 200內,還需要通過LDP等標簽分發協議逐跳建立另一條從PE 3到ASBR 2的公網隧道。假設PE 3上該公網隧道的出標簽為Lv。

完成路由發布和公網隧道的建立後,報文從CE 3轉發到CE 1的過程為:

(1)     PE 3接收到CE 3發送的報文後,查找路由表,發現下一跳地址為PE 1,私網標簽為Lx,則為報文封裝標簽Lx;PE 3繼續查找到達PE 1的路由,下一跳為ASBR 2,標簽為L3,則在標簽Lx外封裝一層標簽L3;PE 3查找到達ASBR 2的路由,出標簽為Lv,則在標簽L3外再封裝標簽Lv。

(2)     在AS 200內,路由器根據最外層標簽,將報文轉發到ASBR 2。

(3)     ASBR 2剝離最外層標簽,將L3替換為L2,並將報文轉發給ASBR 1。

(4)     ASBR 1將L2替換為L1,並轉發報文。

(5)     在AS 100內,路由器根據最外層標簽,將報文轉發到PE 1。

(6)     PE 1剝離最外層標簽,根據私網標簽Lx,將報文轉發給CE 1。

圖1-10所示,為提高可擴展性,可以在每個AS中指定一個RR(Route Reflector,路由反射器),與同一AS的PE交換VPN-IPv4路由信息,由RR保存所有VPN-IPv4路由。兩個AS的RR之間建立多跳MP-EBGP會話,通告VPN-IPv4路由。

圖1-10 采用RR的跨域VPN OptionC方式組網圖

 

Inter-Provider Option A和Inter-Provider Option B都需要ASBR參與VPN-IPv4路由的維護和發布。當每個AS都有大量的VPN路由需要交換時,ASBR很可能成為阻礙網絡進一步擴展的瓶頸。Inter-Provider Option C中PE之間直接交換VPN-IPv4路由,具有很好的可擴展性。

1.1.7  運營商的運營商

MPLS L3VPN服務提供商的用戶可能也是一個服務提供商。這種情況下,前者稱為提供商運營商(Provider Carrier)或一級運營商(First Carrier),後者稱為客戶運營商(Customer Carrier)或二級運營商(Second Carrier)。這種組網模型稱為運營商的運營商(Carriers’ carriers)。

運營商的運營商通過在二級運營商的路由器之間建立BGP會話直接交互二級運營商連接的用戶網絡的路由,實現一級運營商不引入二級運營商的用戶網絡路由,隻引入二級運營商的骨幹網路由,從而大大減少一級運營商網絡中需要維護的路由數量,提高可擴展性。

由於一級運營商不引入二級運營商的用戶網絡路由,為了保證用戶網絡的報文能夠跨越一級運營商傳遞,在一級運營商PE和接入一級運營商的二級運營商CE(在二級運營商內其為PE設備,以下簡稱為二級運營商CE)之間需要為二級運營商骨幹網的路由分配標簽。一級運營商PE和二級運營商CE之間需要進行如下配置:

·     如果一級運營商PE與二級運營商CE位於同一個AS內,則它們之間配置IGP和LDP;否則,它們之間配置MP-EBGP,通過MP-EBGP為PE與CE之間交換的IPv4單播路由分配標簽。

·     無論二者是否位於同一個AS,二級運營商CE上都需要使能MPLS。並且,二級運營商CE上雖然有二級運營商的用戶網絡路由,但它們並不把這些路由發布給一級運營商PE,隻在二級運營商PE之間交換。

二級運營商可能隻是普通ISP,也可能是MPLS L3VPN服務提供商。

·     如圖1-11所示,二級運營商是普通ISP時,其PE不需要運行MPLS,與二級運營商CE之間運行IGP。PE 3和PE 4之間通過IBGP會話交換二級運營商的用戶網絡路由(IPv4單播路由)。

圖1-11 二級運營商是ISP

 

·     如圖1-12所示,二級運營商是MPLS L3VPN服務提供商時,其PE也需要運行MPLS,與二級運營商CE之間運行IGP和LDP。PE 3和PE 4之間通過MP-IBGP會話交換二級運營商的用戶網絡路由(VPN-IPv4路由)。

圖1-12 二級運營商是MPLS L3VPN服務提供商

 

提示

如果一級運營商和二級運營商之間存在等價路由,則建議在一級運營商和二級運營商之間建立對應的等價LSP。

 

1.1.8  嵌套VPN

嵌套VPN通過在MPLS L3VPN的PE和CE之間傳遞VPNv4路由,使得用戶可以管理自己內部的VPN,根據實際需要在用戶網絡內部進一步劃分VPN,運營商不參與用戶內部VPN的管理。如圖1-13所示,用戶網絡在運營商MPLS VPN網絡上所屬的VPN為VPN A,在用戶網絡內部劃分子VPN:VPN A-1和VPN A-2。運營商PE設備把用戶網絡當作普通VPN用戶對待,不參與子VPN的劃分。運營商CE設備(CE 1和CE 2)和運營商PE設備之間傳遞包括子VPN路由信息的VPNv4路由,從而實現用戶網絡內部子VPN路由信息的傳遞。

嵌套VPN支持對稱組網方式和非對稱組網方式,即屬於同一用戶網絡的不同Site包括的用戶內部VPN數目可以相同,也可以不同。嵌套VPN還支持用戶內部VPN的多層嵌套。

圖1-13 嵌套VPN組網應用

 

嵌套VPN中,路由信息的傳播過程為:

(1)     用戶PE從用戶CE接收到私網路由後,通過MP-BGP將VPN-IPv4路由發布給運營商CE設備。

(2)     運營商CE設備通過MP-BGP將VPN-IPv4路由發布給運營商的PE設備。

(3)     運營商的PE設備收到VPN-IPv4路由後,保留用戶網絡內部的VPN信息,並附加用戶在運營商網絡上的MPLS VPN屬性,即將該VPN-IPv4路由的RD更換為用戶所處運營商網絡VPN的RD,同時將用戶所處運營商網絡VPN的Export Target添加到路由的擴展團體屬性列表中。運營商的PE設備維護用戶網絡內部的VPN信息。

(4)     運營商的PE設備向其他運營商PE設備發布這些攜帶綜合VPN信息的VPN-IPv4路由。

(5)     其他的運營商PE設備收到VPN-IPv4路由後,與本地VPN的Import Target進行匹配,每個VPN接收屬於自己的路由,並將路由發布給運營商CE設備。如果運營商PE和運營商CE設備之間是IPv4連接(如CE 7和CE 8),則直接發布IPv4路由;如果是VPN-IPv4連接(如CE 1和CE 2),則表示通過私網連接的是一個用戶MPLS VPN網絡,運營商PE向運營商CE發布VPN-IPv4路由。

(6)     用戶PE通過運營商CE接收到VPN-IPv4路由後,與本地VPN的Import Target進行匹配,每個VPN接收屬於自己的路由,並發布給自己連接的用戶CE設備(如圖1-13中的CE 3、CE 4、CE 5和CE 6)。

1.1.9  多角色主機

Site所屬的VPN由PE上連接Site的接口關聯的VPN實例決定,即PE從同一個接口接收到的來自Site的報文都通過同一個VPN實例轉發。在實際組網中,Site內的某些主機或服務器可能需要訪問多個VPN,而其他主機或服務器隻需訪問某個VPN。雖然可以通過設置多個邏輯接口來實現上述需求,但會增加額外的配置負擔,使用起來也有局限性。

多角色主機功能通過在PE上配置策略路由,使得來自Site內某些主機或服務器的報文可以訪問多個VPN。這些主機或服務器稱為多角色主機。

圖1-14 多角色主機示意圖

 

圖1-14所示,多角色主機組網中,PE上需要進行如下配置:

·     將連接Site的接口與某個VPN實例關聯。

·     配置策略路由,實現對於來自多角色主機的報文,在關聯VPN實例的路由表內查找不到路由時,在其它VPN實例的路由表內查找路由,從而保證Site發送給PE的報文不僅可以轉發到關聯的VPN,還可以轉發到其它的VPN。

·     為其它的VPN實例配置靜態路由,指定到達多角色主機的路由的下一跳為關聯VPN實例內CE的IP地址,從而實現PE將其它VPN發送的報文轉發到該Site。

在多角色主機組網中,應保證多角色主機所能訪問的所有VPN內IP地址不能重疊。

1.1.10  HoVPN

HoVPN(Hierarchy of VPN,分層VPN),又稱為HoPE(Hierarchy of PE,分層PE),用來避免PE成為網絡的瓶頸,以便於大規模部署VPN網絡。

HoVPN將PE劃分為UPE(Underlayer PE or User-end PE,下層PE或用戶側PE)和SPE(Superstratum PE or Service Provider-end PE,上層PE或運營商側PE)。UPE和SPE分工不同,二者構成分層式PE,共同完成傳統上一個PE的功能。分層式PE可以同普通PE共存於一個MPLS網絡。

圖1-15 HoVPN的基本結構

 

圖1-15所示,UPE和SPE的功能分別為:

·     UPE直接連接用戶網絡,主要完成用戶接入功能。UPE維護其直接相連的VPN Site的路由,但不維護VPN中其它遠程Site的路由或僅維護它們的聚合路由;UPE為其直接相連的Site的路由分配內層標簽,並通過MP-BGP隨VPN路由發布此標簽給SPE。UPE的路由容量和轉發性能較低,但接入能力強。

·     SPE連接UPE並位於運營商網絡內部,主要完成VPN路由的管理和發布。SPE維護其通過UPE連接的VPN所有路由,包括本地和遠程Site的路由,SPE將路由信息發布給UPE,並攜帶標簽。SPE發布的路由信息可以是VPN實例的缺省路由(或聚合路由),也可以是通過路由策略的路由信息。通過後者可以實現對同一VPN下不同站點之間互訪的控製。SPE的路由表容量大,轉發性能強,但接口資源較少。

SPE和UPE之間運行MP-IBGP或MP-EBGP。采用MP-IBGP時,SPE需要作為多個UPE的路由反射器,在UPE之間反射路由。

HoVPN支持分層式PE的嵌套:

·     一個分層式PE可以作為UPE,同另一個SPE組成新的分層式PE;

·     一個分層式PE可以作為SPE,同多個UPE組成新的分層式PE;

分層式PE的嵌套可以進行多次。在分層式PE的嵌套中,SPE和UPE是相對的概念,上層PE相對於下層就是SPE,下層PE相對於上層就是UPE。

圖1-16 分層式PE的嵌套

 

圖1-16是一個三層的分層式PE,稱中間的PE為MPE(Middle-level PE)。SPE和MPE之間,以及MPE和UPE之間,均運行MP-BGP。MP-BGP為上層PE發布下層PE上的所有VPN路由,為下層PE發布上層PE的VPN實例缺省路由或通過路由策略的VPN路由。SPE維護了這個分層式PE接入的所有Site的VPN路由,路由數目最多;UPE隻維護它所直接連接的Site的VPN路由,路由數目最少;MPE的路由數目介於SPE和UPE之間。

1.1.11  OSPF VPN擴展

本節重點介紹OSPF對VPN的擴展,如果需要了解OSPF的基本知識,請參見“三層技術-IP路由配置指導”中的“OSPF”。

1. PE上的OSPF多實例

在PE-CE間運行OSPF交互私網路由時,PE必須支持OSPF多實例,即每個OSPF進程與一個VPN實例綁定,通過該OSPF進程學習到的路由添加到對應VPN實例的路由表中,以實現不同VPN實例路由的隔離。

2. PE和CE間的OSPF區域配置

PE與CE之間的OSPF區域可以是非骨幹區域,也可以是骨幹區域。

在OSPF VPN擴展應用中,MPLS VPN骨幹網被看作是骨幹區域area 0。由於OSPF要求骨幹區域連續,因此,所有站點的area 0必須與MPLS VPN骨幹網相連(物理連通或通過Virtual-link實現邏輯上的連通)。

3. BGP/OSPF交互

如果在PE和CE間運行OSPF,則PE上需要將PE之間傳遞的BGP路由引入到OSPF路由中,再將該路由通過OSPF發布給CE。這樣就會導致即使不同的站點屬於同一個OSPF路由域,在一個站點學到的路由,也將作為外部路由發布給另一站點。通過為屬於同一個OSPF路由域的站點配置相同的域ID(Domain ID),可以解決上述問題。

圖1-17 BGP/OSPF交互示意圖

 

圖1-17為例,CE 11、CE 21和CE 22屬於同一個VPN,且屬於同一個OSPF路由域。配置Domain ID前,VPN 1內路由從CE 11發布到CE 21和CE 22的過程為:首先在PE 1上將CE 11的OSPF路由引入BGP;然後通過BGP將這些VPN路由發布給PE 2;在PE 2上將BGP路由引入到OSPF,再通過AS External LSA(即Type-5 LSA)或NSSA External LSA(即Type-7 LSA)發布給CE 21和CE 22。

配置Domain ID後,路由傳遞過程為:在PE 1上將OSPF路由引入到BGP時,將Domain ID附加到BGP VPNv4路由上,作為BGP的擴展團體屬性傳遞給PE 2。PE 2接收到BGP路由後,將本地配置的Domain ID與路由中攜帶的Domain ID進行比較。如果相同,且為區域內或區域間路由,則在PE 2將路由重新引入到OSPF時,該路由作為Network Summary LSA(即Type-3 LSA)發布給CE 21和CE 22;否則,該路由將作為AS External LSA(即Type-5 LSA)或NSSA External LSA(即Type-7 LSA)發布給CE 21和CE 22。

4. 路由環路的檢測與避免

圖1-18 路由環路檢測與避免示意圖

 

圖1-18所示,同一個站點連接到多個不同PE的情況下,當一個PE通過OSPF向站點發布從MP-BGP學習到的私網路由時,該路由可能被另一個PE接收到,造成路由環路。

OSPF VPN擴展通過如下方法避免路由環路:

·     對於Type-3 LSA,通過DN(Down Bit)標識位避免路由環路:當PE設備將BGP路由引入OSPF,並生成Type-3 LSA時,PE為生成的LSA設置DN位。其他PE接收到CE發布的Type-3 LSA後,如果該LSA的DN位置位,則計算路由時忽略該LSA,從而避免再次通過BGP協議發布該路由造成路由環路。

·     對於Type-5 LSA和Type-7 LSA,通過Route Tag(VPN引入路由的外部路由標記)避免路由環路:為連接同一站點的PE設備配置相同的Route Tag。一台PE設備將BGP路由引入OSPF,並生成Type-5 LSA或Type-7 LSA時,為該Type-5或Type-7 LSA添加本地配置的外部路由標記。其他PE接收到CE發布的Type-5或Type-7 LSA後,將其中的外部路由標記值與本地配置的值進行比較。如果相同,則在進行路由計算時忽略該LSA,從而避免路由環路。

5. OSPF偽連接

圖1-19所示:VPN 1的兩個站點之間存在兩條路由:

·     通過PE連接的路由:該路由為區域間(域ID相同)或外部路由(未配置域ID或域ID不同)。

·     CE之間直接相連的路由:該路由為區域內路由,稱為backdoor鏈路。

前者的優先級低於後者,導致VPN流量總是通過backdoor鏈路轉發,而不走骨幹網。為了避免這種情況發生,可以在PE路由器之間建立OSPF偽連接(Sham-link),使經過MPLS VPN骨幹網的路由也成為OSPF區域內路由。通過調整度量值,使得VPN流量通過骨幹網中的Sham-link轉發。

圖1-19 Sham-link應用示意圖

 

Sham-link是VPN內的一條虛擬點到點鏈路,該鏈路在Type-1 LSA中發布。Sham-link通過源IP地址和目的IP地址來唯一標識。源IP地址和目的IP地址分別為本端PE和遠端PE上屬於該VPN的地址,通常情況下采用32位掩碼的Loopback接口地址。

為了保證一端PE的VPN實例路由表中具有到達Sham-link目的IP地址的路由,確保路由可達,PE上需要將Sham-link的源IP地址作為VPN-IPv4地址通過MP-BGP發布;為了避免路由環路,Sham-link路由不會通過MP-BGP發布。即,一端PE隻會通過MP-BGP發布Sham-link的源IP地址,不會發布Sham-link的目的IP地址。

1.1.12  BGP的AS號替換和SoO屬性

在MPLS L3VPN中,如果PE和CE之間運行EBGP,由於BGP使用AS號檢測路由環路,為保證路由信息的正確發送,需要為物理位置不同的站點分配不同的AS號。

如果物理位置不同的CE複用相同的AS號,則需要在PE上配置BGP的AS號替換功能,當PE向指定對等體(CE)發布路由時,如果路由的AS_PATH中存在CE所在的AS號,則PE將該AS號替換成PE的AS號後,再發布該路由,以保證私網路由能夠正確發布。

說明

使能BGP的AS號替換功能後,PE向對等體組中所有已建立連接的CE重新發送所有路由,並對發送路由中的AS_PATH屬性按上述規則替換。

 

圖1-20 BGP AS號替換和SoO應用示意圖

 

圖1-20中,Site 1和Site 2都使用AS號800,在PE 2上使能針對CE 2的AS號替換功能。當CE 1發來的Update信息從PE 2發布給CE 2時,PE 2發現AS_PATH中存在與CE 2相同的AS號800,就把它替換為自己的AS號100,這樣,CE 2就可以正確接收CE 1的路由信息。

PE使用不同接口連接同一站點的多個CE時,如圖1-20中的CE 2和CE 3,使用BGP的AS號替換功能,會導致CE 3發布的路由通過PE 2和CE 2再次發布到Site 2,引起路由環路。此時,通過在PE 2上為對等體CE 2和CE 3配置相同的SoO屬性,可以避免路由環路。PE 2從CE 2或CE 3接收到路由後為路由添加SoO屬性;向CE 2或CE 3發布路由時檢查路由的SoO屬性。由於CE 3發布路由的SoO屬性與CE 2的SoO屬性相同,PE 2不會將該路由發布給CE 2,從而避免路由環路。

SoO屬性的詳細介紹,請參見“三層技術-IP路由配置指導”中的“BGP”。

1.1.13  MPLS L3VPN快速重路由

MPLS L3VPN FRR(Fast Reroute,快速重路由)功能用來在CE雙歸屬(即一個CE同時連接兩個PE)的組網環境下,通過為流量轉發的主路徑指定一條備份路徑,並通過BFD檢測主路徑的狀態,實現當主路徑出現故障時,將流量迅速切換到備份路徑,大大縮短了故障恢複時間。在使用備份路徑轉發報文的同時,會重新進行路由優選,優選完畢後,使用新的最優路由來轉發報文。

MPLS L3VPN快速重路由的路徑備份方式分為如下幾種:

·     VPNv4路由備份VPNv4路由

·     VPNv4路由備份IPv4路由

·     IPv4路由備份VPNv4路由

1. VPNv4路由備份VPNv4路由

圖1-21 VPNv4路由備份VPNv4路由示意圖

 

圖1-21所示,在入節點PE 1上指定VPN 1的FRR備份下一跳為PE 3,則PE 1接收到PE 2和PE 3發布的到達CE 2的VPNv4路由後,PE 1會記錄這兩條VPNv4路由,並將PE 2發布的VPNv4路由當作主路徑,PE 3發布的VPNv4路由當作備份路徑。

在PE 1上配置BFD檢測LSP或MPLS TE隧道功能,通過BFD檢測PE 1到PE 2之間公網隧道的狀態。當公網隧道正常工作時,CE 1和CE 2通過主路徑CE 1—PE 1—PE 2—CE 2通信。當PE 1檢測到該公網隧道出現故障時,PE 1將通過備份路徑CE 1—PE 1—PE 3—CE 2轉發CE 1訪問CE 2的流量。

在這種備份方式中,PE 1負責主路徑檢測和流量切換。

2. VPNv4路由備份IPv4路由

圖1-22 VPNv4路由備份IPv4路由示意圖

 

圖1-22所示,在出節點PE 2上指定VPN 1的FRR備份下一跳為PE 3,則PE 2接收到CE 2發布的IPv4路由和PE 3發布的到達CE 2的VPNv4路由後,PE 2會記錄這兩條路由,並將CE 2發布的IPv4路由當作主路徑,PE 3發布的到達CE 2的VPNv4路由當作備份路徑。同時,PE 2通過ARP或Echo方式的BFD會話檢測PE 2—CE 2這條路徑的狀態。當此路徑正常工作時,CE 1和CE 2通過主路徑CE 1—PE 1—PE 2—CE 2通信。當PE 2檢測到路徑PE 2—CE 2出現故障時,快速切換到路徑PE 2—PE 3—CE 2,CE 1將通過備份路徑CE 1—PE 1—PE 2—PE 3—CE 2訪問CE 2。從而,避免路由收斂(切換到路徑CE 1—PE 1—PE 3—CE 2)前,流量轉發中斷。

在這種備份方式中,PE 2負責主路徑檢測和流量切換。

3. IPv4路由備份VPNv4路由

圖1-23 IPv4路由備份VPNv4路由示意圖

 

圖1-23所示,在PE 1上指定VPN 1的FRR備份下一跳為CE 2,則PE 1接收到CE 2發布的IPv4路由和PE 2發布的到達CE 2的VPNv4路由後,PE 1會記錄這兩條路由,並將PE 2發布的到達CE 2的VPNv4路由當作主路徑,CE 2發布的IPv4路由當作備份路徑。

在PE 1上配置BFD檢測LSP或MPLS TE隧道功能,通過BFD檢測PE 1到PE 2之間公網隧道的狀態。當公網隧道正常工作時,CE 1和CE 2通過主路徑CE 1—PE 1—PE 2—CE 2通信。當PE 1檢測到該公網隧道出現故障時,PE 1將通過備份路徑CE 1—PE 1—CE 2轉發CE 1訪問CE 2的流量。

在這種備份方式中,PE 1負責主路徑檢測和流量切換。

1.1.14  VPN引入等價路由

VPN引入等價路由功能用於將前綴和RD均相同的多條路由全部引入到VPN實例的路由表中。如果在開啟本功能的同時配置了balance命令或MPLS L3VPN快速重路由功能,則這些路由之間可以進行負載分擔或MPLS L3VPN快速重路由。balance命令的詳細介紹,請參見“三層技術-IP路由命令參考”中的“BGP”。

圖1-24 VPN引入等價路由示意圖

 

圖1-24所示,在PE 1上存在RD為1:1的VPN實例VPN1,CE 1通過該VPN實例接入骨幹網;在PE 2和PE 3上均存在RD為1:2的VPN實例VPN2,CE 2通過該VPN實例接入骨幹網;VPN1和VPN2能夠相互訪問。

CE 2上發布一條路由後,PE 2和PE 3均通過VPNv4路由將該路由發布給PE 1,路由的RD為1:2。缺省情況下,對於前綴和RD均相同的多條路由,BGP隻會將最優路由學習到VPN實例的路由表中。因此,在PE 1上,VPN實例VPN1的BGP路由表中隻會存在一條到達CE 2的路由。在PE 1的VPN實例VPN1中開啟VPN引入等價路由功能後,BGP會把前綴和RD均相同的兩條路由全部學習到該VPN實例中,這兩條路由之間可以進行負載分擔或MPLS L3VPN快速重路由。

1.1.15  協議規範

與MPLS L3VPN相關的協議規範有:

·     RFC 3107:Carrying Label Information in BGP-4

·     RFC 4360:BGP Extended Communities Attribute

·     RFC 4364:BGP/MPLS IP Virtual Private Networks (VPNs)

·     RFC 4577:OSPF as the Provider/Customer Edge Protocol for BGP/MPLS IP Virtual Private Networks (VPNs)

1.2  MPLS L3VPN配置限製和指導

設備上同時MPLS L3VPN和OpenFlow功能時,必須配置default table-miss permit命令,才能確保MPLS L3VPN報文正常轉發。

1.3  MPLS L3VPN配置任務簡介

除特殊說明外,MPLS L3VPN的配置均在PE設備上執行。MPLS L3VPN配置任務如下:

(1)     配置MPLS L3VPN基本功能

a.     配置VPN實例

b.     配置PE-CE間的路由交換

c.     配置PE-PE間的路由交換

d.     (可選)配置BGP VPNv4路由

(2)     配置MPLS L3VPN高級組網

請根據實際情況選擇以下任務進行配置:

¡     配置跨域VPN

如果承載VPN路由的MPLS骨幹網跨越多個AS,則需要執行本配置。

¡     配置嵌套VPN

如果網絡中VPN接入數量比較多,管理者想要通過VPN劃分訪問權限,且不想讓外部知道用戶網絡內部VPN的部署情況,則可以使用嵌套VPN組網方式。

¡     配置多角色主機

多角色主機功能通過在PE上配置策略路由,使得來自Site內某些主機或服務器的報文可以訪問多個VPN。

¡     配置HoVPN

HoVPN用來避免PE成為網絡的瓶頸,以便於大規模部署VPN網絡。

(3)     (可選)配置Egress PE上私網路由標簽操作方式

(4)     (可選)配置MPLS L3VPN快速重路由

(5)     (可選)控製MPLS L3VPN網絡中路由的發布與接收

¡     配置OSPF偽連接

¡     配置BGP的AS號替換和SoO屬性

¡     配置RT-Filter功能

RT-Filter功能用來在源頭上減少發布的路由信息數量。

¡     配置路由信息引入功能

本功能用來將公網或其他VPN實例的路由信息引入到指定VPN實例中,從而使指定VPN用戶可以獲取訪問公網或其他VPN的路由。

¡     開啟VPN引入等價路由功能

本功能用來將前綴和RD均相同的多條路由全部引入到VPN實例的路由表中,以便在這些路由之間形成等價路由或進行MPLS L3VPN快速重路由。

¡     配置優先發送指定路由的撤銷消息

本功能用來配置BGP在撤銷大量路由時,能夠優先撤銷某些指定的路由,以便將使用指定路由的流量快速地切換到有效路徑上,最大限度地減少流量中斷時間。

(6)     (可選)開啟告警功能

1.4  MPLS L3VPN配置準備

在配置MPLS L3VPN之前,需完成以下任務:

·     對MPLS骨幹網(PE、P)配置IGP,實現骨幹網的IP連通性

·     對MPLS骨幹網(PE、P)配置MPLS基本能力

·     對MPLS骨幹網(PE、P)配置MPLS LDP,建立LDP LSP

1.5  配置VPN實例

配置VPN實例的操作是在PE設備上進行的。

1.5.1  創建VPN實例

1. 功能簡介

VPN實例在實現中與Site關聯。VPN實例不是直接對應於VPN,一個VPN實例綜合了和它所對應Site的VPN成員關係和路由規則。

2. 配置步驟

(1)     進入係統視圖。

system-view

(2)     創建VPN實例,並進入VPN實例視圖。

ip vpn-instance vpn-instance-name

(3)     配置VPN實例的RD。

route-distinguisher route-distinguisher

缺省情況下,未配置VPN實例的RD。

(4)     (可選)配置VPN實例的描述信息。

description text

缺省情況下,未配置VPN實例的描述信息。

(5)     (可選)配置VPN實例的ID。

vpn-id vpn-id

缺省情況下,未配置VPN實例的ID。

(6)     (可選)配置VPN實例的SNMP上下文。

snmp context-name context-name

缺省情況下,未配置VPN實例的SNMP上下文。

1.5.2  配置VPN實例與三層接口關聯

1. 配置限製和指導

如果主接口已經與VSI或MPLS L2VPN的交叉連接關聯,則該接口或其子接口無法與VPN實例進行關聯。

如果子接口已經與VSI或MPLS L2VPN的交叉連接關聯,則該子接口無法與VPN實例進行關聯。

2. 配置步驟

(1)     進入係統視圖。

system-view

(2)     進入接口視圖。

interface interface-type interface-number

(3)     配置接口與指定的VPN實例關聯。

ip binding vpn-instance vpn-instance-name

缺省情況下,接口未關聯VPN實例,即接口屬於公網。

注意

配置或取消接口與VPN實例關聯後,該接口上的IP地址、路由協議等配置將被刪除。

 

執行本命令將刪除接口上已經配置的IP地址,因此需要重新配置接口的IP地址。

1.5.3  配置VPN實例的路由相關屬性

1. 配置限製和指導

VPN實例視圖下配置的路由相關屬性既可以用於IPv4 VPN,也可以用於IPv6 VPN。

VPN實例視圖和VPN實例IPv4 VPN視圖下配置的路由相關屬性均能用於IPv4 VPN。如果同時配置二者,則IPv4 VPN采用VPN實例IPv4 VPN視圖下的配置。

2. 配置準備

在對VPN實例應用入方向或出方向路由策略時,還需要創建並配置路由策略,配置方法請參見“三層技術-IP路由配置指導”中的“路由策略”。

3. 配置步驟

(1)     進入係統視圖。

system-view

(2)     進入VPN實例視圖或VPN實例IPv4 VPN視圖。

¡     進入VPN實例視圖。

ip vpn-instance vpn-instance-name

¡     請依次執行以下命令進入VPN實例IPv4 VPN視圖。

ip vpn-instance vpn-instance-name

address-family ipv4

(3)     配置VPN實例的Route Target。

vpn-target vpn-target&<1-8> [ both | export-extcommunity | import-extcommunity ]

缺省情況下,未配置VPN實例的Route Target。

(4)     配置VPN實例支持的最大激活路由前綴數。

routing-table limit number { warn-threshold | simply-alert }

缺省情況下,未限製VPN實例支持的最多激活路由前綴數。

通過本配置可以防止PE路由器上保存過多的激活路由前綴信息。

(5)     對當前VPN實例應用入方向路由策略。

import route-policy route-policy

缺省情況下,允許所有Route Target屬性匹配的路由通過。

(6)     對當前VPN實例應用出方向路由策略。

export route-policy route-policy

缺省情況下,不對發布的路由進行過濾。

(7)     配置VPN實例的隧道策略。

tnl-policy tunnel-policy-name

缺省情況下,隧道策略為按照LSP隧道->GRE隧道->CR-LSP隧道的優先級順序選擇隧道,負載分擔條數為1。

如果本配置中指定的隧道策略尚未創建,則采用缺省策略。

1.6  配置PE-CE間的路由交換

1.6.1  配置PE-CE間使用靜態路由

1. 功能簡介

本配置在PE上進行,CE上的配置方法與普通靜態路由相同。

靜態路由的詳細配置請參見“三層技術-IP路由配置指導”中的“靜態路由”。

2. 配置步驟

(1)     進入係統視圖。

system-view

(2)     為指定VPN實例配置靜態路由。

ip route-static vpn-instance s-vpn-instance-name dest-address { mask-length | mask } { interface-type interface-number [ next-hop-address ] | next-hop-address [ public ] | vpn-instance d-vpn-instance-name next-hop-address }

1.6.2  配置PE-CE間使用RIP

1. 功能簡介

本配置在PE上進行,CE上配置普通RIP即可。

有關RIP的介紹和詳細配置,請參見“三層技術-IP路由配置指導”中的“RIP”。

2. 配置步驟

(1)     進入係統視圖。

system-view

(2)     創建PE-CE間的RIP實例,並進入RIP視圖。

rip [ process-id ] vpn-instance vpn-instance-name

(3)     在指定網段上使能RIP。

network network-address [ wildcard-mask ]

缺省情況下,沒有網段使能RIP。

1.6.3  配置PE-CE間使用OSPF

1. 功能簡介

本配置在PE上進行,CE上配置普通OSPF即可。

有關OSPF的介紹和詳細配置,請參見“三層技術-IP路由配置指導”中的“OSPF”。

2. 配置步驟

(1)     進入係統視圖。

system-view

(2)     創建PE-CE間的OSPF實例,並進入OSPF視圖。

ospf [ process-id | router-id router-id ] * vpn-instance vpn-instance-name

參數

使用說明

router-id router-id

VPN實例綁定的OSPF進程不使用係統視圖下配置的公網Router ID,因此在啟動進程時需要手工配置Router ID,或者所要綁定的VPN實例中至少有一個接口配置了IP地址

vpn-instance vpn-instance-name

·     一個OSPF進程隻能屬於一個VPN實例

·     刪除VPN實例後,相關的所有OSPF進程也將全部被刪除

 

(3)     配置引入BGP路由。

import-route bgp [ as-number ] [ allow-ibgp ] [ cost cost-value | nssa-only | route-policy route-policy-name | tag tag | type type ] *

缺省情況下,沒有引入其他協議的路由信息。

若在設備上配置OSPF實例引入BGP路由,則該OSPF實例下未配置vpn-instance-capability simple命令時,設備會將從MP-IBGP對等體學習到的VPNv4路由引入到OSPF實例,無需指定allow-ibgp參數;否則,隻有指定allow-ibgp參數,設備才會將從MP-IBGP對等體學習到的VPNv4路由引入到OSPF實例。

(4)     (可選)配置OSPF域標識符。

domain-id domain-id [ secondary ]

缺省情況下,OSPF域標識符為0。

域標識符的作用

域標識符配置注意事項

OSPF進程的域ID包含在此進程生成的路由中,在將OSPF路由引入BGP時,域ID被附加到BGP路由上,作為BGP的擴展團體屬性傳遞

·     每個OSPF進程隻能配置一個主標識符,不同進程的域標識符可以相同

·     同一個VPN的所有OSPF進程應配置相同的域ID,以保證路由發布的正確性

 

(5)     (可選)配置OSPF擴展團體屬性的類型編碼。

ext-community-type { domain-id type-code1 | router-id type-code2 | route-type type-code3 }

缺省情況下,OSPF擴展團體屬性Domain ID的類型編碼是0x0005,Router ID的類型編碼是0x0107,Route Type的類型編碼是0x0306。

(6)     配置OSPF區域,並進入OSPF區域視圖。

area area-id

(7)     配置區域所包含的網段並在指定網段的接口上使能OSPF。

network ip-address wildcard-mask

缺省情況下,接口不屬於任何區域且OSPF功能處於關閉狀態。

1.6.4  配置PE-CE間使用IS-IS

1. 功能簡介

本配置在PE上進行,CE上配置普通IS-IS即可。

有關IS-IS的介紹和詳細配置,請參見“三層技術-IP路由配置指導”中的“IS-IS”。

2. 配置步驟

(1)     進入係統視圖。

system-view

(2)     創建PE-CE間的IS-IS實例,並進入IS-IS視圖。

isis [ process-id ] vpn-instance vpn-instance-name

一個IS-IS進程隻能屬於一個VPN實例。

(3)     配置網絡實體名稱。

network-entity net

缺省情況下,未配置NET。

(4)     退回係統視圖。

quit

(5)     進入接口視圖。

interface interface-type interface-number

(6)     配置指定接口上使能IS-IS路由進程。

isis enable [ process-id ]

缺省情況下,IS-IS功能在接口上處於關閉狀態,且沒有任何IS-IS進程與其關聯。

1.6.5  配置PE-CE間使用EBGP

1. 配置PE

(1)     進入係統視圖。

system-view

(2)     啟動BGP實例,並進入BGP實例視圖。

bgp as-number [ instance instance-name ]

缺省情況下,沒有運行BGP。

(3)     進入BGP-VPN實例視圖。

ip vpn-instance vpn-instance-name

BGP-VPN實例視圖下的配置任務與BGP實例視圖下的相同,有關介紹和詳細配置,請參見“三層技術-IP路由配置指導”中的“BGP”。

(4)     將CE配置為VPN私網EBGP對等體。

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

本命令的詳細介紹請參見“三層技術-IP路由配置指導”中的“BGP”。

(5)     創建BGP-VPN IPv4單播地址族,並進入BGP-VPN IPv4單播地址族視圖。

address-family ipv4 [ unicast ]

(6)     使能本地路由器與指定對等體/對等體組交換IPv4單播路由信息的能力。

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

缺省情況下,本地路由器不能與對等體交換IPv4單播路由信息。

(7)     引入本端CE路由。

import-route protocol [ { process-id | all-processes } [ allow-direct | med med-value | route-policy route-policy-name ] * ]

PE需要將到本端CE的路由引入VPN路由表中,以發布給對端PE。

(8)     配置允許本地AS號在所接收的路由的AS_PATH屬性中出現,並可同時配置允許重複的次數。

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

缺省情況下,不允許本地AS號在接收路由的AS_PATH屬性中出現。

Hub&Spoke組網中,如果在Hub-PE和Hub-CE之間運行EBGP,則需要在Hub-PE上執行本配置,否則Hub-PE不能接受Hub-CE返回的路由更新信息。

2. 配置CE

(1)     進入係統視圖。

system-view

(2)     啟動BGP實例,並進入BGP實例視圖。

bgp as-number  [ instance instance-name ]

缺省情況下,沒有運行BGP。

(3)     將PE配置為對等體。

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

(4)     創建BGP IPv4單播地址族,並進入BGP IPv4單播地址族視圖。

address-family ipv4 [ unicast ]

(5)     使能本地路由器與指定對等體/對等體組交換IPv4單播路由信息的能力。

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

缺省情況下,本地路由器不能與對等體交換IPv4單播路由信息。

(6)     配置路由引入。

import-route protocol [ { process-id | all-processes } [ allow-direct | med med-value | route-policy route-policy-name ] * ]

CE需要將自己所能到達的VPN網段地址發布給接入的PE,通過PE發布給對端CE。

1.6.6  配置PE-CE間使用IBGP

1. 配置限製和指導

PE和CE之間使用IBGP路由協議隻適用於基本的MPLS L3VPN組網環境,Hub&Spoke、Extranet、跨域VPN、運營商的運營商、嵌套VPN和HoVPN組網中,PE和CE之間不能配置IBGP。

2. 配置PE

(1)     進入係統視圖。

system-view

(2)     啟動BGP實例,並進入BGP實例視圖。

bgp as-number [ instance instance-name ]

缺省情況下,沒有運行BGP。

(3)     進入BGP-VPN實例視圖。

ip vpn-instance vpn-instance-name

BGP-VPN實例視圖下的配置任務與BGP實例視圖下的相同,有關介紹和詳細配置,請參見“三層技術-IP路由配置指導”中的“BGP”。

(4)     將CE配置為VPN私網IBGP對等體。

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

(5)     創建BGP-VPN IPv4單播地址族,並進入BGP-VPN IPv4單播地址族視圖。

address-family ipv4 [ unicast ]

(6)     使能本地路由器與指定對等體/對等體組交換IPv4單播路由信息的能力。

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

缺省情況下,本地路由器不能與對等體交換IPv4單播路由信息。

(7)     將CE配置為路由反射器的客戶端,以便PE將從CE學習的路由發送給其他IBGP對等體。

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

缺省情況下,未配置路由發射器及其客戶端。

配置路由反射器後不會修改路由的下一跳。如果需要修改下一跳,則需在路由的接收端通過入策略進行修改。

(8)     (可選)允許路由反射器在客戶機之間反射路由。

reflect between-clients

缺省情況下,允許路由反射器在客戶機之間反射路由。

(9)     (可選)配置路由反射器的集群ID。

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

缺省情況下,每個路由反射器都使用自己的Router ID作為集群ID。

如果一個集群中配置了多個路由反射器,請使用本命令為所有的路由反射器配置相同的集群ID,以避免產生路由環路。

3. 配置CE

(1)     進入係統視圖。

system-view

(2)     啟動BGP實例,並進入BGP實例視圖。

bgp as-number [ instance instance-name ]

缺省情況下,沒有運行BGP。

(3)     將PE配置為IBGP對等體。

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

(4)     創建BGP IPv4單播地址族,並進入BGP IPv4單播地址族視圖。

address-family ipv4 [ unicast ]

(5)     使能本地路由器與指定對等體/對等體組交換IPv4單播路由信息的能力。

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

缺省情況下,本地路由器不能與對等體交換IPv4單播路由信息。

(6)     配置路由引入。

import-route protocol [ { process-id | all-processes } [ allow-direct | med med-value | route-policy route-policy-name ] * ]

CE需要將自己所能到達的VPN網段地址發布給接入的PE,通過PE發布給對端CE。

1.7  配置PE-PE間的路由交換

(1)     進入係統視圖。

system-view

(2)     啟動BGP實例,並進入BGP實例視圖。

bgp as-number [ instance instance-name ]

缺省情況下,沒有運行BGP。

(3)     將對端PE配置為對等體。

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

(4)     (可選)指定與對等體/對等體組創建BGP會話時建立TCP連接使用的源接口。

peer { group-name | ip-address [ mask-length ] } connect-interface interface-type interface-number

缺省情況下,BGP使用到達BGP對等體的最佳路由的出接口作為與對等體/對等體組創建BGP會話時建立TCP連接的源接口。

(5)     創建BGP VPNv4地址族,並進入BGP VPNv4地址族視圖。

address-family vpnv4

(6)     使能本地路由器與指定對等體交換VPNv4路由信息的能力。

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

缺省情況下,本地路由器不能與對等體交換VPNv4路由信息。

1.8  配置BGP VPNv4路由

1.8.1  功能簡介

BGP VPNv4路由的屬性需要在BGP VPNv4地址族視圖下配置。BGP VPNv4路由的很多配置都與BGP IPv4單播路由相同,詳細配置請參見“三層技術-IP路由配置指導”中的“BGP”。

1.8.2  控製BGP VPNv4路由的發布、接收和保存

(1)     進入係統視圖。

system-view

(2)     進入BGP實例視圖。

bgp as-number [ instance instance-name ]

(3)     進入BGP VPNv4地址族視圖。

address-family vpnv4

(4)     向對等體/對等體組發送缺省路由。

peer { group-name | ipv4-address [ mask-length ] } default-route-advertise vpn-instance vpn-instance-name

缺省情況下,不向對等體/對等體組發送缺省路由。

(5)     設置允許從指定對等體/對等體組收到的路由數量。

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

缺省情況下,不限製從對等體/對等體組接收的路由數量。

(6)     保存所有來自指定對等體/對等體組的原始路由更新信息,不管這些路由是否通過了路由策略的過濾。

peer { group-name | ipv4-address [ mask-length ] } keep-all-routes

缺省情況下,不保存來自對等體/對等體組的原始路由更新信息。

1.8.3  配置BGP VPNv4路由的首選值

(1)     進入係統視圖。

system-view

(2)     進入BGP實例視圖。

bgp as-number [ instance instance-name ]

(3)     進入BGP VPNv4地址族視圖。

address-family vpnv4

(4)     為從指定對等體/對等體組接收的路由分配首選值。

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

缺省情況下,從對等體/對等體組接收的路由的首選值為0。

1.8.4  配置BGP VPNv4路由反射

1. 功能簡介

為保證IBGP對等體之間的連通性,需要在IBGP對等體之間建立全連接關係。當IBGP對等體數目很多時,網絡資源和CPU資源的消耗都很大。

利用路由反射可以解決這一問題。在一個AS內,其中一台路由器作為RR(Route Reflector,路由反射器),作為客戶機(Client)的路由器與路由反射器之間建立IBGP連接。路由反射器從客戶機接收到路由後,將其傳遞(反射)給所有其他的客戶機,從而保證客戶機之間不需要建立IBGP連接,就可以學習到彼此的路由。

2. 配置步驟

(1)     進入係統視圖。

system-view

(2)     進入BGP實例視圖。

bgp as-number [ instance instance-name ]

(3)     進入BGP VPNv4地址族視圖。

address-family vpnv4

(4)     配置將本機作為路由反射器,並將對等體或對等體組作為路由反射器的客戶。

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

缺省情況下,未配置路由反射器及其客戶。

(5)     (可選)允許從對等體/對等體組收到的路由反射給客戶機。

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

缺省情況下,允許從對等體/對等體組收到的路由反射給客戶機。

(6)     (可選)允許路由反射器在客戶機之間反射路由。

reflect between-clients

缺省情況下,允許路由反射器在客戶機之間反射路由。

(7)     (可選)配置路由反射器的集群ID。

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

缺省情況下,每個路由反射器都使用自己的Router ID作為集群ID。

(8)     (可選)創建路由反射器的反射策略。

rr-filter ext-comm-list-number

缺省情況下,路由反射器不會對反射的路由進行過濾。

1.8.5  配置BGP VPNv4路由屬性

(1)     進入係統視圖。

system-view

(2)     進入BGP實例視圖。

bgp as-number [ instance instance-name ]

(3)     進入BGP VPNv4地址族視圖。

address-family vpnv4

(4)     配置NEXT_HOP屬性。

¡     配置向對等體/對等體組發布路由時,將下一跳屬性修改為自身的地址。

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

缺省情況下,向對等體/對等體組發布路由時,將下一跳屬性修改為自身的地址。

¡     配置向對等體/對等體組發布路由時不改變下一跳。

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

缺省情況下,向對等體/對等體組發布路由時會將下一跳改為自身的地址。

如果在跨域VPN OptionC組網中使用RR通告VPNv4路由,則需要在RR上配置向BGP鄰居和客戶機通告VPNv4路由時,不改變路由的下一跳,以保證私網路由下一跳不會被修改。

(5)     配置AS_PATH屬性。

¡     配置對於從對等體/對等體組接收的路由,允許本地AS號在接收路由的AS_PATH屬性中出現,並配置允許出現的次數。

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

缺省情況下,不允許本地AS號在接收路由的AS_PATH屬性中出現。

¡     配置向指定EBGP對等體/對等體組發送BGP更新消息時隻攜帶公有AS號,不攜帶私有AS號。

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

缺省情況下,向EBGP對等體/對等體組發送BGP更新消息時,既可以攜帶公有AS號,又可以攜帶私有AS號。

(6)     配置向對等體/對等體組發布團體屬性。

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

缺省情況下,不向對等體/對等體組發布團體屬性。

(7)     為BGP對等體/對等體組配置SoO屬性。

peer { group-name | ipv4-address [ mask-length ] } soo site-of-origin

缺省情況下,沒有為BGP對等體/對等體組配置SoO屬性。

1.8.6  配置BGP VPNv4路由過濾

(1)     進入係統視圖。

system-view

(2)     進入BGP實例視圖。

bgp as-number [ instance instance-name ]

(3)     進入BGP VPNv4地址族視圖。

address-family vpnv4

(4)     配置對發布的路由信息進行過濾。

filter-policy { ipv4-acl-number | name ipv4-acl-name | prefix-list prefix-list-name } export [ direct | { isis | ospf | rip } process-id | static ]

缺省情況下,不對發布的路由信息進行過濾。

(5)     配置對接收的路由信息進行過濾。

filter-policy { ipv4-acl-number | name ipv4-acl-name | prefix-list prefix-list-name } import

缺省情況下,不對接收的路由信息進行過濾。

(6)     為對等體/對等體組設置基於AS路徑過濾列表的BGP路由過濾策略。

peer { group-name | ipv4-address [ mask-length ] } as-path-acl as-path-acl-number { export | import }

缺省情況下,未配置基於AS路徑過濾列表的BGP路由過濾策略。

(7)     為對等體/對等體組設置基於ACL的BGP路由過濾策略。

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

缺省情況下,未配置基於ACL的BGP路由過濾策略。

(8)     為對等體/對等體組設置基於地址前綴列表的BGP路由過濾策略。

peer { group-name | ipv4-address [ mask-length ] } prefix-list prefix-list-name { export | import }

缺省情況下,未配置基於地址前綴列表的BGP路由過濾策略。

(9)     對來自對等體/對等體組的路由或發布給對等體/對等體組的路由應用路由策略。

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

缺省情況下,沒有為對等體/對等體組指定路由策略。

(10)     配置對接收到的VPNv4路由進行Route Target過濾。

policy vpn-target

缺省情況下,對接收到的VPNv4路由進行Route Target過濾,即隻將Export Route Target屬性與本地Import Route Target屬性匹配的VPNv4路由加入到路由表。

1.9  配置跨域VPN

1.9.1  配置跨域VPN-OptionA

跨域VPN-OptionA的實現比較簡單,當PE上的VPN數量及VPN路由數量都比較少時可以采用這種方案。

跨域VPN-OptionA的配置可以描述為:

·     對各AS分別進行基本MPLS L3VPN配置。

·     對於ASBR,將對端ASBR看作自己的CE配置即可。即:跨域VPN-OptionA方式需要在PE和ASBR上分別配置VPN實例,前者用於接入CE,後者用於接入對端ASBR。

在跨域VPN-OptionA方式中,對於同一個VPN,同一AS內的ASBR與PE的VPN實例的Route Target應能匹配;不同AS的PE之間的VPN實例的Route Target則不需要匹配。

1.9.2  配置跨域VPN-OptionB

1. 配置限製和指導

ASBR在將VPNv4路由發布給MP-IBGP對等體時,始終會將下一跳修改為自身的地址,不受peer next-hop-local命令的控製。

2. 配置PE

配置基本MPLS L3VPN,並指定同一AS內的ASBR為MP-IBGP對等體。對於同一個VPN,不同AS的PE上為該VPN實例配置的Route Target需要匹配。

3. 配置ASBR

(1)     進入係統視圖。

system-view

(2)     在連接AS內部路由器的接口上使能MPLS和LDP能力。

a.     配置本節點的LSR ID。

mpls lsr-id lsr-id

缺省情況下,未配置LSR ID。

b.     使能本節點的LDP能力,並進入LDP視圖。

mpls ldp

缺省情況下,LDP能力處於關閉狀態。

c.     退回係統視圖。

quit

d.     進入連接AS內部路由器接口的接口視圖。

interface interface-type interface-number

e.     使能接口的MPLS能力。

mpls enable

缺省情況下,接口的MPLS能力處於關閉狀態。

f.     使能接口的LDP能力。

mpls ldp enable

缺省情況下,接口的LDP能力處於關閉狀態。

g.     退回係統視圖。

quit

(3)     在連接對端ASBR的接口上使能MPLS能力。

a.     進入連接對端ASBR接口的接口視圖。

interface interface-type interface-number

b.     使能接口的MPLS能力。

mpls enable

缺省情況下,接口的MPLS能力處於關閉狀態。

c.     退回係統視圖。

quit

(4)     進入BGP實例視圖。

bgp as-number [ instance instance-name ]

(5)     創建BGP對等體,將同一AS的PE配置為IBGP對等體,將不同AS的ASBR配置為EBGP對等體。

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

(6)     進入BGP VPNv4地址族視圖。

address-family vpnv4

(7)     使能本地路由器與同一AS的PE、不同AS的ASBR交換VPNv4路由信息的能力。

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

缺省情況下,本地路由器不能與對等體交換VPNv4路由信息。

(8)     配置對接收到的VPNv4路由不進行Route Target過濾。

undo policy vpn-target

缺省情況下,對接收到的VPNv4路由進行Route Target過濾。

1.9.3  配置跨域VPN-OptionC

1. 配置限製和指導

由於PE之間不是直連,因此需要配置peer ebgp-max-hop命令,允許本地路由器同非直連網絡上的鄰居建立EBGP會話。

2. 配置準備

執行本配置前,需要在PE或ASBR上配置通過BGP發布PE地址對應的路由,配置方法請參見“三層技術-IP路由配置指導”中的“BGP”。

PE上還需完成以下操作:

·     配置VPN實例

·     配置PE-CE之間的路由交換

3. 配置PE

(1)     進入係統視圖。

system-view

(2)     進入BGP實例視圖。

bgp as-number [ instance instance-name ]

(3)     創建BGP對等體,將本AS的ASBR配置為IBGP對等體,將另一AS的PE配置為EBGP對等體。

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

(4)     創建BGP IPv4單播地址族,並進入BGP IPv4單播地址族視圖。

address-family ipv4 [ unicast ]

(5)     使能本地路由器與本AS的ASBR交換IPv4單播路由信息的能力。

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

缺省情況下,本地路由器不能與對等體交換IPv4單播路由信息。

(6)     配置與本AS的ASBR之間能夠交換帶標簽的IPv4路由。

peer { group-name | ipv4-address [ mask-length ] } label-route-capability

缺省情況下,不具有與對等體/對等體組交換帶標簽IPv4路由的能力。

(7)     退回BGP實例視圖。

quit

(8)     進入BGP VPNv4地址族視圖。

address-family vpnv4

(9)     使能本地路由器與另一AS的PE交換VPNv4路由信息的能力。

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

缺省情況下,本地路由器不能與對等體交換VPNv4路由信息。

(10)     (可選)配置向對等體發送路由時不改變下一跳。

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

缺省情況下,向對等體/對等體組發布路由時會將下一跳改為自己的地址。

本配置用於使用RR通告VPNv4路由的情況:在RR上執行本配置,使得RR之間通告VPNv4路由時,路由的下一跳不會被改變。

4. 配置ASBR

(1)     進入係統視圖。

system-view

(2)     配置路由策略。

a.     創建路由策略,並進入路由策略視圖。

route-policy route-policy-name { deny | permit } node node-number

b.     匹配帶標簽的IPv4路由。

if-match mpls-label

缺省情況下,不匹配路由信息的MPLS標簽。

在路由策略中,還可以配置其他的if-match子句,以實現隻對滿足某些條件的路由分配標簽,其它路由仍作為普通IPv4路由發布。

c.     為IPv4路由分配標簽。

apply mpls-label

缺省情況下,沒有為IPv4路由分配標簽。

d.     退回係統視圖。

quit

(3)     在連接AS內部路由器的接口上使能MPLS和LDP能力。

a.     配置本節點的LSR ID。

mpls lsr-id lsr-id

缺省情況下,未配置LSR ID。

b.     使能本節點的LDP能力,並進入LDP視圖。

mpls ldp

缺省情況下,LDP能力處於關閉狀態。

c.     退回係統視圖。

quit

d.     進入連接AS內部路由器接口的接口視圖。

interface interface-type interface-number

e.     使能接口的MPLS能力。

mpls enable

缺省情況下,接口的MPLS能力處於關閉狀態。

f.     使能接口的LDP能力。

mpls ldp enable

缺省情況下,接口的LDP能力處於關閉狀態。

g.     退回係統視圖。

quit

(4)     在連接對端ASBR的接口上使能MPLS能力。

a.     進入連接對端ASBR接口的接口視圖。

interface interface-type interface-number

b.     使能接口的MPLS能力。

mpls enable

缺省情況下,接口的MPLS能力處於關閉狀態。

c.     退回係統視圖。

quit

(5)     進入BGP實例視圖。

bgp as-number [ instance instance-name ]

(6)     創建BGP對等體,將本AS的PE配置為IBGP對等體,將另一AS的ASBR配置為EBGP對等體。

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

(7)     創建BGP IPv4單播地址族,並進入BGP IPv4單播地址族視圖。

address-family ipv4 [ unicast ]

(8)     使能本地路由器與本AS的PE、另一AS的ASBR交換IPv4單播路由信息的能力。

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

缺省情況下,本地路由器不能與對等體交換IPv4單播路由信息。

(9)     配置與本AS的PE及另一AS的ASBR之間能夠交換帶標簽的IPv4路由。

peer { group-name | ipv4-address [ mask-length ] } label-route-capability

缺省情況下,不具有與對等體/對等體組交換帶標簽IPv4路由的能力。

(10)     配置向本AS的PE發布路由時將下一跳改為自己的地址。

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

缺省情況下,在向IBGP對等體/對等體組發布路由時不會將下一跳改為自己的地址。

(11)     對來自對等體/對等體組的路由或發布給對等體/對等體組的路由應用路由策略。

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

缺省情況下,沒有為對等體/對等體組指定路由策略。

1.10  配置嵌套VPN

1. 配置限製和指導

同一用戶網絡的不同子VPN之間地址空間不能重疊。

建議嵌套VPN中對等體CE的地址不要與公網中對等體的地址重疊。

目前,嵌套VPN不支持多跳EBGP組網方式,因此運營商PE和運營商CE之間必須使用直連接口地址建立鄰居關係。

2. 配置步驟

(1)     配置用戶CE接入用戶PE。

a.     在用戶PE上配置VPN實例。

詳細配置請參見“1.5  配置VPN實例”。

b.     在用戶PE和用戶CE上配置私網路由交換。

詳細配置請參見“1.6  配置PE-CE間的路由交換”。

(2)     配置用戶PE和運營商CE通過BGP VPNv4路由交互用戶網絡內部子VPN的路由。

a.     在用戶PE和運營商CE上配置BGP VPNv4路由交互。

詳細配置請參見“1.7  配置PE-PE間的路由交換”。

b.     在運營商CE上依次執行以下命令,配置其接收所有的BGP VPNv4路由,不根據Route Target對VPNv4路由進行過濾。

system-view

bgp as-number [ instance instance-name ]

address-family vpnv4

undo policy vpn-target

缺省情況下,對接收到的VPNv4路由進行Route Target過濾,即隻將Export Route Target屬性與本地Import Route Target屬性匹配的VPNv4路由加入到路由表。

嵌套VPN網絡中可以不部署運營商CE,用戶PE直接連接到運營商PE。此時,無需執行本配置。

(3)     配置運營商CE接入運營商PE。

a.     在運營商PE上配置VPN實例。

詳細配置請參見“1.5  配置VPN實例”。

b.     在運營商PE和運營商CE上配置路由交換。

詳細配置請參見“1.6  配置PE-CE間的路由交換”。

(4)     配置運營商PE和運營商CE交換用戶的VPNv4路由。

此處隻介紹運營商PE的配置方法。運營商CE的配置方法,請參見“1.7  配置PE-PE間的路由交換”。用戶PE直接連接運營商PE時,用戶PE同時作為運營商CE設備,在用戶PE上要進行運營商CE的相關配置。

a.     請依次執行以下命令進入BGP VPNv4地址族視圖。

system-view

bgp as-number [ instance instance-name ]

address-family vpnv4

b.     開啟嵌套VPN功能。

nesting-vpn

缺省情況下,嵌套VPN功能處於關閉狀態。

c.     退回BGP實例視圖。

quit

d.     進入BGP-VPN實例視圖。

ip vpn-instance vpn-instance-name

e.     將運營商CE配置為BGP對等體。

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

f.     創建BGP-VPN VPNv4地址族,並進入BGP-VPN VPNv4地址族視圖。

address-family vpnv4

g.     激活對等體CE或CE所屬的對等體組,使能與其交換BGP-VPNv4路由信息的能力。

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

缺省情況下,未激活對等體和對等體組。

h.     (可選)為BGP對等體/對等體組配置SoO屬性。

peer { group-name | ipv4-address [ mask-length ] } soo site-of-origin

缺省情況下,沒有為BGP對等體/對等體組配置SoO屬性。

(5)     配置運營商PE之間交互BGP VPNv4路由。

詳細配置請參見“1.7  配置PE-PE間的路由交換”。

1.11  配置多角色主機

1.11.1  功能簡介

多角色主機特性的配置都在多角色主機所屬Site接入的PE上進行,主要包括如下配置:

·     配置並應用策略路由:使得多角色主機發送的報文可以發送到多個VPN。

·     配置靜態路由:使得其他VPN返回的報文能夠發送給多角色主機。

1.11.2  配置並應用策略路由

(1)     進入係統視圖。

system-view

(2)     創建策略節點,並進入策略節點視圖。

policy-based-route policy-name { deny | permit } node node-number

(3)     配置策略節點的匹配規則。

詳細介紹請參見“三層技術-IP路由配置指導”中的“策略路由”。

缺省情況下,未配置策略節點的匹配規則,所有報文都滿足該節點的匹配規則。

本配置用來匹配來自多角色主機的報文。

(4)     設置報文在指定VPN實例中進行轉發。

apply access-vpn vpn-instance vpn-instance-name&<1-4>

缺省情況下,未設置報文在指定VPN實例中進行轉發。

本配置中需要指定多個VPN實例,第一個為多角色主機所屬的VPN實例,其餘為需要訪問的其他VPN實例。對於滿足匹配規則的報文,根據第一個可用的VPN實例轉發表進行轉發。

(5)     退回係統視圖。

quit

(6)     進入接入CE的接口視圖。

interface interface-type interface-number

(7)     對接口轉發的報文應用策略。

ip policy-based-route policy-name

缺省情況下,對接口轉發的報文未應用策略。

1.11.3  配置靜態路由

(1)     進入係統視圖。

system-view

(2)     為指定VPN實例配置靜態路由。

ip route-static vpn-instance s-vpn-instance-name dest-address { mask-length | mask } vpn-instance d-vpn-instance-name next-hop-address

其中,d-vpn-instance-name為多角色主機所屬的VPN實例,next-hop-address為多角色主機所在Site的CE設備的地址。

1.12  配置HoVPN

1.12.1  配置UPE

UPE上僅需進行MPLS L3VPN基本配置。

1.12.2  配置SPE

(1)     進入係統視圖。

system-view

(2)     進入BGP實例視圖。

bgp as-number [ instance instance-name ]

(3)     創建BGP對等體。

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

(4)     進入BGP VPNv4地址族視圖。

address-family vpnv4

(5)     使能本地路由器與指定對等體交換VPNv4路由信息的能力。

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

缺省情況下,本地路由器不能與對等體交換VPNv4路由信息。

(6)     配置BGP對等體或對等體組為UPE。

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

缺省情況下,BGP對等體或對等體組不是HoVPN的UPE。

(7)     向UPE發送路由。

¡     向UPE發送指定VPN實例的缺省路由。

peer { group-name | ipv4-address [ mask-length ] } default-route-advertise vpn-instance vpn-instance-name

隻有BGP對等體/對等體組為UPE時,執行本命令後,設備才會向其發布VPN實例缺省路由,下一跳為本地地址。不論本地路由表中是否存在缺省路由,都會發布該缺省路由。

¡     向UPE發送通過路由策略的路由。

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

缺省情況下,不向對等體發布路由。

建議不要同時配置peer default-route-advertise vpn-instance命令和peer upe route-policy命令。

(8)     退回BGP實例視圖。

quit

(9)     創建BGP-VPN實例,並進入BGP-VPN實例視圖。

ip vpn-instance vpn-instance-name

由於SPE上沒有接口與用戶網絡直接相連,因此,SPE上不需要配置VPN實例與接口關聯。本配置僅用於根據Route Target屬性將學習到的VPNv4路由添加到相應VPN實例的BGP路由表中。

1.13  配置Egress PE上私網路由標簽操作方式

1. 功能簡介

Egress PE上私網路由的標簽操作方式分為:

·     私網標簽的POPGO轉發方式:彈出標簽後,直接從出接口發送。

·     私網標簽的POP轉發方式:彈出標簽後,再查FIB表轉發。

2. 配置限製和指導

私網標簽的POPGO轉發方式和每VPN實例標簽申請方式互斥,即不能同時執行vpn popgolabel-allocation-mode per-vrf命令。label-allocation-mode命令的詳細介紹請參見“三層技術-IP路由命令參考”中的“BGP”。

3. 配置步驟

(1)     進入係統視圖。

system-view

(2)     進入BGP實例視圖。

bgp as-number [ instance instance-name ]

(3)     配置Egress PE上私網路由的標簽操作方式為根據標簽查找出接口轉發。

vpn popgo

缺省情況下,Egress PE上私網路由的標簽操作方式為根據標簽查找FIB進行轉發。

1.14  配置MPLS L3VPN快速重路由

1.14.1  功能簡介

開啟MPLS L3VPN快速重路由功能的方法有如下兩種:

·     在路由策略中指定快速重路由的備份下一跳,並在BGP-VPN IPv4單播地址族視圖下配置快速重路由引用該路由策略。采用這種方式時,隻有為主路由計算出的備份下一跳地址與指定的地址相同時,才會為其生成備份下一跳;否則,不會為主路由生成備份下一跳。在引用的路由策略中,還可以配置if-match子句,用來決定哪些路由可以進行快速重路由保護,設備隻會為通過if-match子句過濾的路由生成備份下一跳。

·     在BGP-VPN IPv4單播地址族視圖下開啟該地址族的快速重路由功能。采用這種方式時,設備會為當前VPN實例的所有BGP路由自動計算備份下一跳,即隻要從不同BGP對等體學習到了到達同一目的網絡的路由,且這些路由不等價,就會生成主備兩條路由。

路由策略方式的優先級高於開啟地址族快速重路由功能方式。

1.14.2  配置限製和指導

在某些組網情況下,在BGP-VPN IPv4單播地址族視圖下執行pic命令開啟該地址族的快速重路由功能,為所有BGP路由生成備份下一跳後,可能會導致路由環路,請謹慎使用本命令。

1.14.3  通過路由策略配置快速重路由功能

(1)     進入係統視圖。

system-view

(2)     配置BFD檢測。

¡     使能MPLS BFD功能。

mpls bfd enable

缺省情況下,MPLS與BFD聯動功能處於關閉狀態。

在VPNv4路由備份VPNv4路由、IPv4路由備份VPNv4路由組網中,需要執行本命令。

¡     配置echo報文的源IP地址。

bfd echo-source-ip ip-address

缺省情況下,未配置echo報文的源IP地址。

VPNv4路由備份IPv4路由組網中,若通過Echo方式的BFD會話檢測主路由的下一跳是否可達,則需要執行本命令。本命令的詳細介紹,請參見“可靠性命令參考”中的“BFD”。

(3)     配置使用BFD檢測公網LSP或MPLS TE隧道的連通性。

¡     配置使用BFD檢測指定FEC對應LSP的連通性。

mpls bfd dest-addr mask-length [ nexthop nexthop-address [ discriminator local local-id remote remote-id ] ] [ template template-name ]

¡     依次執行以下命令配置使用BFD檢測當前隧道接口對應MPLS TE隧道的連通性。

interface tunnel number mode mpls-te

mpls bfd [ discriminator local local-id remote remote-id ] [ template template-name ]

quit

缺省情況下,未使用BFD檢測公網LSP和MPLS TE隧道的連通性。

在VPNv4路由備份VPNv4路由、IPv4路由備份VPNv4路由組網中,需要執行本配置;VPNv4路由備份IPv4路由組網中,不需要執行本配置。

(4)     配置路由策略。

a.     創建路由策略,並進入路由策略視圖。

route-policy route-policy-name permit node node-number

b.     配置快速重路由的備份下一跳地址。

apply fast-reroute backup-nexthop ip-address

缺省情況下,未配置快速重路由的備份下一跳地址。

c.     退回係統視圖。

quit

本配置中各命令的詳細介紹,請參見“三層技術-IP路由命令參考”中的“路由策略”。

(5)     進入BGP實例視圖。

bgp as-number [ instance instance-name ]

(6)     (可選)配置通過Echo方式的BFD會話檢測主路由的下一跳是否可達。

primary-path-detect bfd echo

缺省情況下,通過ARP檢測主路由的下一跳是否可達。

VPNv4路由備份IPv4路由組網中,可以根據實際情況選擇是否執行本配置;其他組網中,無需執行本配置。

本命令的詳細介紹,請參見“三層技術-IP路由命令參考”中的“BGP”。

(7)     進入BGP-VPN實例視圖。

ip vpn-instance vpn-instance-name

(8)     進入BGP-VPN IPv4單播地址族視圖。

address-family ipv4 [ unicast ]

(9)     在當前地址族視圖下指定快速重路由引用的路由策略。

fast-reroute route-policy route-policy-name

缺省情況下,快速重路由未引用任何路由策略。

引用的路由策略中,隻有apply fast-reroute backup-nexthop命令生效,其他apply子句不會生效。

本命令的詳細介紹,請參見“三層技術-IP路由命令參考”中的“BGP”。

1.14.4  開啟BGP-VPN IPv4單播地址族的快速重路由功能

(1)     進入係統視圖。

system-view

(2)     配置BFD檢測。

¡     使能MPLS BFD功能。

mpls bfd enable

缺省情況下,MPLS與BFD聯動功能處於關閉狀態。

在VPNv4路由備份VPNv4路由、IPv4路由備份VPNv4路由組網中,需要執行本命令。

¡     配置echo報文的源IP地址。

bfd echo-source-ip ip-address

缺省情況下,未配置echo報文的源IP地址。

VPNv4路由備份IPv4路由組網中,若通過Echo方式的BFD會話檢測主路由的下一跳是否可達,則需要執行本命令。本命令的詳細介紹,請參見“可靠性命令參考”中的“BFD”。

(3)     配置使用BFD檢測公網LSP或MPLS TE隧道的連通性。

¡     配置使用BFD檢測指定FEC對應LSP的連通性。

mpls bfd dest-addr mask-length [ nexthop nexthop-address [ discriminator local local-id remote remote-id ] ] [ template template-name ]

¡     依次執行本命令配置使用BFD檢測當前隧道接口對應MPLS TE隧道的連通性。

interface tunnel number mode mpls-te

mpls bfd [ discriminator local local-id remote remote-id ] [ template template-name ]

quit

缺省情況下,未使用BFD檢測公網LSP和MPLS TE隧道的連通性。

在VPNv4路由備份VPNv4路由、IPv4路由備份VPNv4路由組網中,需要執行本配置;VPNv4路由備份IPv4路由組網中,不需要執行本配置。

(4)     進入BGP實例視圖。

bgp as-number [ instance instance-name ]

(5)     (可選)配置通過Echo方式的BFD會話檢測主路由的下一跳是否可達。

primary-path-detect bfd echo

缺省情況下,通過ARP檢測主路由的下一跳是否可達。

VPNv4路由備份IPv4路由組網中,可以根據實際情況選擇是否執行本配置;其他組網中,無需執行本配置。

本命令的詳細介紹,請參見“三層技術-IP路由命令參考”中的“BGP”。

(6)     進入BGP-VPN實例視圖。

ip vpn-instance vpn-instance-name

(7)     進入BGP-VPN IPv4單播地址族視圖。

address-family ipv4 [ unicast ]

(8)     開啟當前地址族的快速重路由功能。

pic

缺省情況下,快速重路由功能處於關閉狀態。

本命令的詳細介紹,請參見“三層技術-IP路由命令參考”中的“BGP”。

1.15  配置OSPF偽連接

1.15.1  功能簡介

在PE間配置偽連接Sham-link後,Sham-link將被視為OSPF區域內路由。這一特性使經過MPLS VPN骨幹網的路由成為OSPF區域內路由,避免VPN流量經後門路由轉發。

Sham-link的源地址和目的地址應使用32位掩碼的Loopback接口地址,且該Loopback接口需要綁定到VPN實例中,並通過BGP發布。

1.15.2  配置準備

在配置OSPF偽連接之前,需完成以下任務:

·     配置基本MPLS L3VPN(PE-CE間使用OSPF)

·     在用戶CE所在局域網內配置OSPF

1.15.3  發布Loopback接口的路由

(1)     進入係統視圖。

system-view

(2)     創建Loopback接口,並進入Loopback接口視圖。

interface loopback interface-number

(3)     將Loopback接口與VPN實例關聯。

ip binding vpn-instance vpn-instance-name

缺省情況下,接口不關聯任何VPN實例,屬於公網接口。

注意

配置或取消接口與VPN實例關聯後,該接口上的IP地址、路由協議等配置將被刪除。

 

(4)     配置Loopback接口的地址。

ip address ip-address { mask-length | mask }

缺省情況下,未配置Loopback接口的地址。

(5)     退回係統視圖。

quit

(6)     進入BGP實例視圖。

bgp as-number [ instance instance-name ]

(7)     進入BGP-VPN實例視圖。

ip vpn-instance vpn-instance-name

(8)     進入BGP-VPN IPv4單播地址族視圖。

address-family ipv4 [ unicast ]

(9)     引入直連路由(將Loopback主機路由引入BGP)。

import-route direct

缺省情況下,不會引入直連路由。

1.15.4  創建偽連接

(1)     進入係統視圖。

system-view

(2)     進入OSPF視圖。

ospf [ process-id | router-id router-id | vpn-instance vpn-instance-name ] *

建議用戶啟動OSPF進程時手工配置路由器ID。

(3)     配置VPN引入路由的外部路由標記值。

route-tag tag-value

缺省情況下,若MPLS骨幹網上配置了BGP路由協議,並且BGP的AS號不大於65535,則外部路由標記值的前麵兩個字節固定為0xD000,後麵的兩個字節為本端BGP的AS號;否則,外部路由標記值為0。

(4)     進入OSPF區域視圖。

area area-id

(5)     創建一條OSPF偽連接。

sham-link source-ip-address destination-ip-address [ cost cost-value | dead dead-interval | hello hello-interval | { { hmac-md5 | md5 } key-id { cipher | plain } string | simple { cipher | plain } string } | retransmit retrans-interval | trans-delay delay | ttl-security hops hop-count ] *

1.16  配置BGP的AS號替換和SoO屬性

1. 功能簡介

不同Site的CE具有相同的AS號時,PE上需要開啟BGP的AS號替換功能,從而避免路由被丟棄。

使能了BGP的AS號替換功能後,當PE向指定CE發布路由時,如果路由的AS_PATH中有與CE相同的AS號,將被替換成PE的AS號後再發布。

PE使用不同接口連接同一站點的多個CE時,如果配置了BGP的AS號替換功能,則會導致路由環路。這種情況下,需要在PE上為從同一站點不同CE學習到的路由添加相同的SoO屬性,且PE向CE發布路由時檢查SoO屬性,如果路由的SoO屬性與為CE配置的SoO屬性相同,則不將該路由發布給CE,從而避免路由環路。

本配置中各命令的詳細介紹,請參見“三層技術-IP路由命令參考”中的“BGP”。

2. 配置步驟

(1)     進入係統視圖。

system-view

(2)     進入BGP實例視圖。

bgp as-number [ instance instance-name ]

(3)     進入BGP-VPN實例視圖。

ip vpn-instance vpn-instance-name

(4)     使能BGP的AS號替換功能。

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

缺省情況下,BGP的AS號替換功能處於關閉狀態。

(5)     進入BGP-VPN IPv4單播地址族視圖。

address-family ipv4 [ unicast ]

(6)     (可選)為BGP對等體/對等體組配置SoO屬性。

peer { group-name | ipv4-address [ mask-length ] } soo site-of-origin

缺省情況下,沒有為BGP對等體/對等體組配置SoO屬性。

1.17  配置RT-Filter功能

1. 功能簡介

在MPLS L3VPN組網中,通過RT-Filter功能可以從源頭上減少路由信息的數量。配置RT-Filter功能後,PE使用RT-Filter地址族將本地的Import Target屬性發布給遠端PE。遠端PE根據接收到的Import target屬性直接對路由進行過濾,隻發布通過Import target屬性過濾的路由,從而減少發布的路由信息數量。

RT-Filter功能通常和路由反射器功能配合使用,以解決路由反射器上存在大量路由的問題。

本配置中各命令的詳細介紹,請參見“三層技術-IP路由命令參考”中的“BGP”。

2. 配置步驟

(1)     進入係統視圖。

system-view

(2)     進入BGP實例視圖。

bgp as-number [ instance instance-name ]

(3)     進入BGP IPv4 RT-Filter地址族視圖。

address-family ipv4 rtfilter

(4)     允許本地路由器與指定對等體/對等體組交換路由信息。

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

缺省情況下,本地路由器不能與對等體/對等體組交換路由信息。

(5)     (可選)向對等體/對等體組發送缺省路由。

peer { group-name | ipv4-address [ mask-length ] } default-route-advertise [ route-policy route-policy-name ]

缺省情況下,不向對等體/對等體組發送缺省路由。

(6)     (可選)為從對等體/對等體組接收的路由分配首選值。

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

缺省情況下,從對等體/對等體組接收的路由的首選值為0。

(7)     (可選)配置本機作為路由反射器,對等體/對等體組作為路由反射器的客戶機。

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

缺省情況下,未配置路由反射器及其客戶機。

(8)     (可選)允許路由反射器在客戶機之間反射路由。

reflect between-clients

缺省情況下,允許路由反射器在客戶機之間反射路由。

(9)     (可選)配置路由反射器的集群ID。

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

缺省情況下,每個路由反射器都使用自己的Router ID作為集群ID。

1.18  配置路由信息引入功能

1. 功能簡介

在BGP/MPLS L3VPN組網中,隻有Route Target屬性匹配的VPN實例之間才可以通信。通過配置本功能可以將公網或其他VPN實例的路由信息引入到指定VPN實例中,從而使指定VPN用戶可以獲取訪問公網或其他VPN的路由。

在流量智能調控場景中,不同租戶的流量被劃分到不同的VPN中。為了使租戶流量可以流向公網,則需要配置本功能將公網的路由信息引入到指定VPN實例中。

2. 配置步驟

(1)     進入係統視圖。

system-view

(2)     進入VPN實例視圖。

ip vpn-instance vpn-instance-name

(3)     進入VPN實例IPv4 VPN視圖。

address-family ipv4

(4)     將公網或其他VPN實例的路由信息引入到指定VPN實例中。

route-replicate from { public | vpn-instance vpn-instance-name } protocol bgp as-number [ route-policy route-policy-name ]

route-replicate from { public | vpn-instance vpn-instance-name } protocol [ advertise ] [ route-policy route-policy-name ]

route-replicate from { public | vpn-instance vpn-instance-name } protocol { direct | static | { isis | ospf | rip } process-id } [ advertise ] [ route-policy route-policy-name ]

缺省情況下,公網或其他VPN實例的路由信息不能引入到指定VPN實例中。

1.19  開啟VPN引入等價路由功能

1. 功能簡介

缺省情況下,對於前綴和RD均相同的多條路由,BGP隻會將最優路由引入到VPN實例的路由表中。開啟VPN引入等價路由功能後,BGP可以把前綴和RD均相同的多條路由全部引入到VPN實例的路由表中,以便在這些路由之間進行負載分擔或MPLS L3VPN快速重路由。

2. 配置步驟

(1)     進入係統視圖。

system-view

(2)     進入BGP實例視圖。

bgp as-number [ instance instance-name ]

(3)     進入BGP相應地址族視圖。

¡     進入BGP IPv4單播地址族視圖。

address-family ipv4 [ unicast ]

¡     進入BGP IPv6單播地址族視圖。

address-family ipv6 [ unicast ]

¡     依次執行以下命令進入BGP-VPN IPv4單播地址族視圖。

ip vpn-instance vpn-instance-name

address-family ipv4 [ unicast ]

¡     依次執行以下命令進入BGP-VPN IPv6單播地址族視圖。

ip vpn-instance vpn-instance-name

address-family ipv6 [ unicast ]

(4)     開啟VPN引入等價路由功能。

vpn-route cross multipath

缺省情況下,VPN引入等價路由功能處於關閉狀態,對於前綴和RD均相同的多條路由,隻會將最優路由引入到VPN實例的路由表中。

BGP IPv4單播地址族視圖和BGP IPv6單播地址族視圖下配置本命令後,會將多條路由全部引入到公網實例的路由表中。公網實例的詳細介紹,請參見“EVPN配置指導”中的“EVPN”。

1.20  配置優先發送指定路由的撤銷消息

1. 功能簡介

當BGP路由器需要撤銷大量路由時,撤銷所有的路由會耗費一定時間,導致有些流量不能快速切換到有效路徑。對於某些重要的、不希望長時間中斷的流量,可以通過本配置,確保BGP路由器優先發送這些路由的撤銷消息,以便將指定流量快速地切換到有效路徑上,最大限度地減少流量中斷時間。

2. 配置步驟

(1)     進入係統視圖。

system-view

(2)     進入BGP實例視圖。

bgp as-number [ instance instance-name ]

(3)     創建BGP VPNv4地址族,並進入BGP VPNv4地址族視圖。

address-family vpnv4

(4)     配置優先發送指定路由的撤銷消息。

update-first route-policy route-policy-name

缺省情況下,不支持優先發送指定路由的撤銷消息。

1.21  開啟告警功能

1. 功能簡介

開啟L3VPN模塊的告警功能後,在VPN實例內的路由數達到告警門限等情況下,L3VPN模塊會產生RFC 4382中規定的告警信息。生成的告警信息將發送到設備的SNMP模塊,通過設置SNMP中告警信息的發送參數,來決定告警信息輸出的相關屬性。

有關告警信息的詳細介紹,請參見“網絡管理和監控配置指導”中的“SNMP”。

2. 配置步驟

(1)     進入係統視圖。

system-view

(2)     開啟L3VPN模塊的告警功能。

snmp-agent trap enable l3vpn

缺省情況下,L3VPN模塊的告警功能處於開啟狀態。

1.22  MPLS L3VPN顯示和維護

1.22.1  複位BGP會話

當BGP配置變化後,可以通過軟複位或複位BGP會話使新的配置生效。軟複位BGP會話是指在不斷開BGP鄰居關係的情況下,更新BGP路由信息;複位BGP會話是指斷開並重新建立BGP鄰居關係的情況下,更新BGP路由信息。軟複位需要BGP對等體具備路由刷新能力(支持ROUTE-REFRESH消息)。

請在用戶視圖下進行下列操作。下表中各命令的詳細介紹,請參見“三層技術-IP路由命令參考”中的“BGP”。

表1-1 複位BGP會話

操作

命令

手工對BGP IPv4 RT-Filter地址族下的BGP會話進行軟複位

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

手工對VPNv4地址族下的BGP會話進行軟複位

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

複位BGP IPv4 RT-Filter地址族下的BGP會話

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

複位VPNv4地址族下的BGP會話

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

 

1.22.2  顯示MPLS L3VPN的運行狀態

在完成上述配置後,在任意視圖下執行display命令可以顯示配置後MPLS L3VPN的運行情況,通過查看顯示信息驗證配置的效果。

display bgp group vpnv4display bgp peer vpnv4display bgp update-group vpnv4命令的詳細介紹,請參見“三層技術-IP路由命令參考”中的“BGP”。

表1-2 顯示MPLS L3VPN的運行狀態

操作

命令

顯示BGP IPv4 RT-Filter對等體組信息

display bgp [ instance instance-name ] group ipv4 rtfilter [ group-name group-name ]

顯示BGP VPNv4對等體組信息

display bgp [ instance instance-name ] group vpnv4 [ vpn-instance vpn-instance-name ] [ group-name group-name ]

顯示BGP IPv4 RT-Filter的信息

display bgp [ instance instance-name ] ipv4 rtfilter [ peer ipv4-address [ statistics ] | statistics ]

顯示BGP IPv4 RT-Filter對等體信息

display bgp [ instance instance-name ] peer ipv4 rtfilter [ ipv4-address mask-length | { ipv4-address | group-name group-name } log-info | [ ipv4-address ] verbose ]

顯示BGP VPNv4對等體信息

display bgp [ instance instance-name ] peer vpnv4 [ vpn-instance vpn-instance-name ] [ ipv4-address mask-length | { ipv4-address | group-name group-name } log-info | [ ipv4-address ] verbose ]

顯示BGP IPv4單播路由的入標簽信息

display bgp [ instance instance-name ] routing-table ipv4 [ unicast ] [ vpn-instance vpn-instance-name ] inlabel

顯示BGP IPv4單播路由的出標簽信息

display bgp [ instance instance-name ] routing-table ipv4 [ unicast ] [ vpn-instance vpn-instance-name ] outlabel

顯示BGP IPv4 RT-Filter路由信息

display bgp [ instance instance-name ] routing-table ipv4 rtfilter [ default-rt [ advertise-info ] | [ origin-as as-number ] [ route-target [ advertise-info ] ] | peer ipv4-address { advertised-routes | received-routes } [ default-rt | [ origin-as as-number ] [ route-target ] | statistics ] | statistics ]

顯示BGP VPNv4路由信息

display bgp [ instance instance-name ] routing-table vpnv4 [ [ route-distinguisher route-distinguisher ] [ ipv4-address [ { mask-length | mask } [ longest-match ] ] | ipv4-address [ mask-length | mask ] advertise-info | as-path-acl as-path-acl-number | community-list { { basic-community-list-number | comm-list-name } [ whole-match ] | adv-community-list-number } ] | [ vpn-instance vpn-instance-name ] peer ipv4-address { advertised-routes | received-routes } [ ipv4-address [ mask-length | mask ] | statistics ] | statistics ]

顯示BGP VPNv4路由的入標簽信息

display bgp [ instance instance-name ] routing-table vpnv4 inlabel

顯示BGP VPNv4路由的出標簽信息

display bgp [ instance instance-name ] routing-table vpnv4 outlabel

顯示BGP IPv4 RT-Filter地址族下打包組的相關信息

display bgp [ instance instance-name ] update-group ipv4 rtfilter [ ipv4-address ]

顯示BGP VPNv4地址族下打包組的相關信息

display bgp [ instance instance-name ] update-group vpnv4 [ vpn-instance vpn-instance-name ] [ ipv4-address ]

顯示指定VPN實例的FIB信息

display fib vpn-instance vpn-instance-name

顯示指定VPN實例中與指定目的IP地址匹配的FIB信息

display fib vpn-instance vpn-instance-name ip-address [ mask-length | mask ]

顯示與VPN實例相關聯的IP路由表(本命令的詳細介紹請參見“三層技術-IP路由命令參考”中的“IP路由基礎命令”)

display ip routing-table vpn-instance vpn-instance-name [ statistics | verbose ]

顯示指定VPN實例信息

display ip vpn-instance [ instance-name vpn-instance-name ]

顯示OSPF偽連接信息

display ospf [ process-id ] sham-link [ area area-id ]

 


2 IPv6 MPLS L3VPN

2.1  IPv6 MPLS L3VPN簡介

MPLS L3VPN應用於IPv4組網環境,利用BGP在服務提供商骨幹網上發布VPN的IPv4路由,利用MPLS在服務提供商骨幹網上轉發VPN的IPv4報文。IPv6 MPLS L3VPN的原理與MPLS L3VPN相同,所不同的是IPv6 MPLS L3VPN利用BGP在服務提供商骨幹網上發布VPN的IPv6路由,利用MPLS在服務提供商骨幹網上轉發VPN的IPv6報文。

2.1.1  IPv6 MPLS L3VPN典型組網環境

IPv6 MPLS L3VPN的典型組網環境如圖2-1所示。目前,IPv6 MPLS L3VPN組網中服務提供商骨幹網應為IPv4網絡。VPN內部及CE和PE之間運行IPv6協議,骨幹網中PE和P設備之間運行IPv4協議。PE需要同時支持IPv4和IPv6協議,連接CE的接口上使用IPv6協議,連接骨幹網的接口上使用IPv4協議。

圖2-1 IPv6 MPLS L3VPN應用組網圖

 

2.1.2  IPv6 MPLS L3VPN的報文轉發

圖2-2 IPv6 MPLS L3VPN報文轉發示意圖

 

圖2-2所示,IPv6 MPLS L3VPN的報文轉發過程為:

(1)     Site 1發出一個目的地址為2001:2::1的IPv6報文,由CE 1將報文發送至PE 1。

(2)     PE 1根據報文到達的接口及目的地址查找VPN實例的路由表項,匹配後將報文轉發出去,同時打上公網和私網兩層標簽。

(3)     MPLS網絡利用報文的外層標簽,將報文傳送到PE 2。(報文在到達PE 2前一跳時已經被剝離外層標簽,到達PE 2時僅含內層標簽)

(4)     PE 2根據內層標簽和目的地址查找VPN實例的路由表項,確定報文的出接口,將報文轉發至CE 2。

(5)     CE 2根據正常的IPv6轉發過程將報文傳送到目的地。

2.1.3  IPv6 MPLS L3VPN的路由發布

VPN路由信息的發布過程包括三部分:本地CE到入口PE、入口PE到出口PE、出口PE到遠端CE。完成這三部分後,本地CE與遠端CE之間將建立可達路由,VPN私網路由信息能夠在骨幹網上發布。

1. 本地CE到入口PE的路由信息交換

CE使用IPv6靜態路由、RIPng、OSPFv3、IPv6 IS-IS、EBGP或IBGP路由協議,將本站點的VPN路由發布給PE。CE發布給PE的是標準的IPv6路由。

2. 入口PE到出口PE的路由信息交換

PE從CE學到VPN的IPv6路由信息後,為這些標準IPv6路由增加RD和Route Target屬性,形成VPN-IPv6路由,存放到為CE創建的VPN實例的路由表中,並為其分配私網標簽。

入口PE通過MP-BGP把VPN-IPv6路由發布給出口PE。出口PE根據VPN-IPv6路由的Export Target屬性與自己維護的VPN實例的Import Target屬性,決定是否將該路由加入到VPN實例的路由表。

PE之間通過IGP來保證內部的連通性。

3. 出口PE到遠端CE的路由信息交換

與本地CE到入口PE的路由信息交換相同,遠端CE有多種方式可以從出口PE學習VPN路由,包括IPv6靜態路由、RIPng、OSPFv3、IPv6 IS-IS、EBGP或IBGP路由協議。

2.1.4  IPv6 MPLS L3VPN支持的組網方案及功能

目前,IPv6 MPLS L3VPN支持如下組網方案及功能:

·     基本的VPN組網方案

·     跨域VPN-OptionA

·     跨域VPN-OptionB

·     跨域VPN-OptionC

·     運營商的運營商

·     多角色主機

·     OSPFv3 VPN擴展:與OSPF VPN擴展的不同之處為OSPFv3的Type-3、Type-5和Type-7 LSA均支持DN位,缺省情況下,均使用DN位避免路由環路

·     BGP的AS號替換和SoO組網

2.1.5  協議規範

與IPv6 MPLS L3VPN相關的協議規範有:

·     RFC 4659:BGP-MPLS IP Virtual Private Network (VPN) Extension for IPv6 VPN

·     RFC 6565:OSPFv3 as a Provider Edge to Customer Edge (PE-CE) Routing Protocol

2.2  IPv6 MPLS L3VPN配置任務簡介

除特殊說明外,IPv6 MPLS L3VPN的配置均在PE設備上執行。IPv6 MPLS L3VPN配置任務如下:

(1)     配置IPv6 MPLS L3VPN基本功能

a.     配置VPN實例

b.     配置PE-CE間的路由交換

c.     配置PE-PE間的路由交換

d.     (可選)配置BGP VPNv6路由

(2)     配置IPv6 MPLS L3VPN高級組網

請根據實際情況選擇以下任務進行配置:

¡     配置IPv6跨域VPN

如果承載IPv6 VPN路由的MPLS骨幹網跨越多個AS,則需要執行本配置。

¡     配置多角色主機

多角色主機功能通過在PE上配置策略路由,使得來自Site內某些主機或服務器的報文可以訪問多個VPN。

(3)     (可選)配置OSPFv3偽連接

(4)     (可選)配置BGP的AS號替換和SoO屬性

(5)     (可選)配置優先發送指定路由的撤銷消息

2.3  IPv6 MPLS L3VPN配置準備

在配置IPv6 MPLS L3VPN之前,需完成以下任務:

·     對MPLS骨幹網(PE、P)配置IGP,實現骨幹網的IP連通性

·     對MPLS骨幹網(PE、P)配置MPLS基本能力

·     對MPLS骨幹網(PE、P)配置MPLS LDP,建立LDP LSP

2.4  配置VPN實例

2.4.1  創建VPN實例

1. 功能簡介

VPN實例在實現中與Site關聯。VPN實例不是直接對應於VPN,一個VPN實例綜合了和它所對應Site的VPN成員關係和路由規則。

2. 配置步驟

(1)     進入係統視圖。

system-view

(2)     創建VPN實例,並進入VPN實例視圖。

ip vpn-instance vpn-instance-name

(3)     配置VPN實例的RD。

route-distinguisher route-distinguisher

缺省情況下,未配置VPN實例的RD。

(4)     (可選)配置VPN實例的描述信息。

description text

缺省情況下,未配置VPN實例的描述信息。

(5)     (可選)配置VPN實例的ID。

vpn-id vpn-id

缺省情況下,未配置VPN實例的ID。

(6)     (可選)配置VPN實例的SNMP上下文。

snmp context-name context-name

缺省情況下,未配置VPN實例的SNMP上下文。

2.4.2  配置VPN實例與三層接口關聯

1. 配置限製和指導

如果主接口已經與VSI或MPLS L2VPN的交叉連接關聯,則該接口或其子接口無法與VPN實例進行關聯。

如果子接口已經與VSI或MPLS L2VPN的交叉連接關聯,則該子接口無法與VPN實例進行關聯。

2. 配置步驟

(1)     進入係統視圖。

system-view

(2)     進入接口視圖。

interface interface-type interface-number

(3)     配置接口與指定VPN實例關聯。

ip binding vpn-instance vpn-instance-name

缺省情況下,接口未關聯VPN實例,接口屬於公網。

注意

配置或取消接口與VPN實例關聯後,該接口上的IP地址、路由協議等配置將被刪除。

 

執行本命令將刪除接口上已經配置的IPv6地址,因此需要重新配置接口的IPv6地址。

2.4.3  配置VPN實例的路由相關屬性

1. 配置限製和指導

VPN實例視圖下配置的路由相關屬性既可以用於IPv4 VPN,也可以用於IPv6 VPN。

VPN實例視圖和VPN實例IPv6 VPN視圖下配置的路由相關屬性均能用於IPv6 VPN。如果同時配置二者,則IPv6 VPN采用VPN實例IPv6 VPN視圖下的配置。

2. 配置準備

在對VPN實例應用入方向或出方向路由策略時,還需要創建並配置路由策略,配置方法請參見“三層技術-IP路由配置指導”中的“路由策略”。

3. 配置步驟

(1)     進入係統視圖。

system-view

(2)     進入VPN實例視圖或VPN實例IPv6 VPN視圖。

¡     進入VPN實例視圖。

ip vpn-instance vpn-instance-name

¡     請依次執行以下命令進入VPN實例IPv6 VPN視圖。

ip vpn-instance vpn-instance-name

address-family ipv6

(3)     配置Route Target。

vpn-target vpn-target&<1-8> [ both | export-extcommunity | import-extcommunity ]

缺省情況下,未配置VPN實例的Route Target。

(4)     配置支持的最大激活路由前綴數。

routing-table limit number { warn-threshold | simply-alert }

缺省情況下,未限製VPN實例支持的最多激活路由前綴數。

通過本配置可以防止PE路由器上保存過多的激活路由前綴信息。

(5)     應用入方向路由策略。

import route-policy route-policy

缺省情況下,接收所有Route Target屬性匹配的路由。

(6)     應用出方向路由策略。

export route-policy route-policy

缺省情況下,不對發布的路由進行過濾。

(7)     配置VPN實例的隧道策略。

tnl-policy tunnel-policy-name

缺省情況下,隧道策略為按照LSP隧道->GRE隧道->CR-LSP隧道的優先級順序選擇隧道,負載分擔條數為1。

如果本配置中指定的隧道策略尚未創建,則采用缺省策略。

2.5  配置PE-CE間的路由交換

2.5.1  配置PE-CE間使用IPv6靜態路由

1. 功能簡介

本配置在PE上進行,CE上的配置方法與普通IPv6靜態路由相同。

有關IPv6靜態路由的配置請參見“三層技術-IP路由配置指導”中的“IPv6靜態路由”。

2. 配置步驟

(1)     進入係統視圖。

system-view

(2)     為指定VPN實例配置IPv6靜態路由。

ipv6 route-static vpn-instance s-vpn-instance-name ipv6-address prefix-length { interface-type interface-number [ next-hop-address ] | nexthop-address [ public ] | vpn-instance d-vpn-instance-name nexthop-address }

2.5.2  配置PE-CE間使用RIPng

1. 功能簡介

本配置在PE上進行,CE上配置普通RIPng即可。

有關RIPng的介紹和詳細配置,請參見“三層技術-IP路由配置指導”中的“RIPng”。

2. 配置步驟

(1)     進入係統視圖。

system-view

(2)     創建PE-CE間的RIPng實例,並進入RIPng視圖。

ripng [ process-id ] vpn-instance vpn-instance-name

一個RIPng進程隻能屬於一個VPN實例。

(3)     退回係統視圖。

quit

(4)     進入接口視圖。

interface interface-type interface-number

(5)     在接口上使能RIPng路由協議。

ripng process-id enable

缺省情況下,接口禁用RIPng路由協議。

2.5.3  配置PE-CE間使用OSPFv3

1. 功能簡介

本配置在PE上進行,CE上配置普通OSPFv3即可。

有關OSPFv3的介紹和詳細配置,請參見“三層技術-IP路由配置指導”中的“OSPFv3”。

2. 配置步驟

(1)     進入係統視圖。

system-view

(2)     創建PE-CE間的OSPFv3實例,並進入OSPFv3視圖。

ospfv3 [ process-id | vpn-instance vpn-instance-name ] *

一個OSPFv3進程隻能屬於一個VPN實例。

刪除VPN實例後,相關的所有OSPFv3進程也將全部被刪除。

(3)     配置Router ID。

router-id router-id

(4)     配置引入BGP路由。

import-route bgp4+ [ as-number ] [ allow-ibgp ] [ cost cost-value | nssa-only | route-policy route-policy-name | tag tag | type type ] *

缺省情況下,沒有引入其他協議的路由信息。

若在設備上配置OSPFv3實例引入BGP路由,則該OSPFv3實例下未配置vpn-instance-capability simple命令時,設備會將從MP-IBGP對等體學習到的VPNv6路由引入到OSPFv3實例,無需指定allow-ibgp參數;否則,隻有指定allow-ibgp參數,設備才會將從MP-IBGP對等體學習到的VPNv6路由引入到OSPFv3實例。

(5)     (可選)配置OSPFv3路由屬性。

a.     配置OSPFv3域標識符。

domain-id { domain-id [ secondary ] | null }

缺省情況下,OSPFv3域標識符為0。

域標識符的作用

域標識符配置注意事項

OSPFv3進程的域標識符包含在此進程生成的路由中,在將OSPFv3路由引入BGP時,域標識符被附加到BGP路由上,作為BGP的擴展團體屬性傳遞

·     不同OSPFv3進程的域標識符可以相同

·     同一VPN的所有OSPFv3進程應配置相同的域標識符,以保證路由發布的正確性

 

b.     配置OSPFv3擴展團體屬性的類型編碼。

ext-community-type { domain-id type-code1 | route-type type-code2 | router-id type-code3 }

缺省情況下,OSPFv3擴展團體屬性Domain ID的類型編碼是0x0005,Route Type的類型編碼是0x0306,Router ID的類型編碼是0x0107。

c.     在PE上配置VPN引入路由的外部路由標記值。

route-tag tag-value

缺省情況下,若本端配置了BGP路由協議,並且BGP的AS號不大於65535,則外部路由標記值的前麵兩個字節固定為0xD000,後麵的兩個字節為本端BGP的AS號;否則,外部路由標記值為0。

d.     配置PE上不設置OSPFv3 LSA的DN位。

disable-dn-bit-set

缺省情況下,將BGP路由引入OSPFv3,並生成OSPFv3 LSA時,設備為生成的LSA設置DN位。

配置該命令後,可能會導致路由環路,需謹慎使用。

e.     配置PE上忽略OSPFv3 LSA的DN位檢查。

disable-dn-bit-check

缺省情況下,PE上檢查OSPFv3 LSA的DN位。

配置該命令後,可能會導致路由環路,需謹慎使用。

f.     在PE上使能OSPFv3 LSA的外部路由標記檢查。

route-tag-check enable

缺省情況下,PE上不檢查OSPFv3 LSA的外部路由標記,通過DN位檢查避免路由環路。

該命令是為了兼容舊的協議(RFC 4577),現在不建議使用。

g.     退回係統視圖。

quit

(6)     進入接口視圖。

interface interface-type interface-number

(7)     在接口上使能OSPFv3。

ospfv3 process-id area area-id [ instance instance-id ]

缺省情況下,接口上沒有使能OSPFv3。

配置本命令時,需要確保OSPFv3進程所屬的VPN實例與接口綁定的VPN實例相同,否則,命令會執行失敗。

2.5.4  配置PE-CE間使用IPv6 IS-IS

1. 功能簡介

該配置在PE上進行,CE上配置普通IPv6 IS-IS即可。

有關IPv6 IS-IS的介紹和詳細配置,請參見“三層技術-IP路由配置指導”中的“IPv6 IS-IS”。

2. 配置步驟

(1)     進入係統視圖。

system-view

(2)     創建PE-CE間的IPv6 IS-IS實例,並進入IS-IS視圖。

isis [ process-id ] vpn-instance vpn-instance-name

一個IPv6 IS-IS進程隻能屬於一個VPN實例。

(3)     配置網絡實體名稱。

network-entity net

缺省情況下,未配置網絡實體名稱。

(4)     創建並進入IS-IS IPv6單播地址族視圖。

address-family ipv6 [ unicast ]

(5)     退回係統視圖。

quit

(6)     進入接口視圖。

interface interface-type interface-number

(7)     使能接口IS-IS路由進程的IPv6能力,並指定要關聯的IS-IS進程號。

isis ipv6 enable [ process-id ]

缺省情況下,接口上沒有使能IS-IS路由進程的IPv6能力。

2.5.5  配置PE-CE間使用EBGP

1. 配置PE

(1)     進入係統視圖。

system-view

(2)     啟動BGP實例,進入BGP實例視圖。

bgp as-number [ instance instance-name ]

缺省情況下,沒有運行BGP。

(3)     進入BGP-VPN實例視圖。

ip vpn-instance vpn-instance-name

(4)     將CE配置為VPN私網EBGP對等體。

peer { group-name | ipv6-address [ prefix-length ] } as-number as-number

(5)     創建BGP-VPN IPv6單播地址族,並進入BGP-VPN IPv6單播地址族視圖。

address-family ipv6 [ unicast ]

BGP-VPN IPv6單播地址族視圖下的配置命令與BGP IPv6單播地址族視圖下的配置命令相同。本文隻列舉了部分命令,更多的命令請參見“三層技術-IP路由配置指導”中的“BGP”。

(6)     使能本地路由器與指定對等體交換IPv6單播路由信息的能力。

peer { group-name | ipv6-address [ prefix-length ] } enable

缺省情況下,本地路由器不能與對等體交換IPv6單播路由信息。

(7)     引入本端CE路由。

import-route protocol [ { process-id | all-processes } [ allow-direct | med med-value | route-policy route-policy-name ] * ]

PE需要將到本端CE的路由引入VPN路由表中,以發布給對端PE。

(8)     (可選)配置允許本地AS號在所接收的路由的AS_PATH屬性中出現,並可同時配置允許重複的次數。

peer { group-name | ipv6-address [ prefix-length ] } allow-as-loop [ number ]

缺省情況下,不允許本地AS號在接收路由的AS_PATH屬性中出現。

Hub&Spoke組網中,如果在Hub-PE和Hub-CE之間運行EBGP,則需要在Hub-PE上執行本配置,否則Hub-PE不能接受Hub-CE返回的路由更新信息。

2. 配置CE

(1)     進入係統視圖。

system-view

(2)     進入BGP實例視圖。

bgp as-number [ instance instance-name ]

(3)     將PE配置為EBGP對等體。

peer { group-name | ipv6-address [ prefix-length ] } as-number as-number

(4)     創建BGP IPv6單播地址族,並進入BGP IPv6單播地址族視圖。

address-family ipv6 [ unicast ]

(5)     使能本地路由器與指定對等體交換IPv6單播路由信息的能力。

peer { group-name | ipv6-address [ prefix-length ] } enable

缺省情況下,本地路由器不能與對等體交換IPv6單播路由信息。

(6)     配置路由引入。

import-route protocol [ { process-id | all-processes } [ allow-direct | med med-value | route-policy route-policy-name ] * ]

CE需要將自己所能到達的VPN網段地址發布給接入的PE,通過PE發布給對端CE。

2.5.6  配置PE-CE間使用IBGP

1. 配置限製和指導

PE和CE之間使用IBGP路由協議隻適用於基本的IPv6 MPLS L3VPN組網環境,跨域VPN和運營商的運營商組網中,PE和CE之間不能配置IBGP。

2. 配置PE

(1)     進入係統視圖。

system-view

(2)     進入BGP實例視圖。

bgp as-number [ instance instance-name ]

(3)     進入BGP-VPN實例視圖。

ip vpn-instance vpn-instance-name

BGP-VPN實例視圖下的配置任務與BGP實例視圖下的相同,有關介紹和詳細配置,請參見“三層技術-IP路由配置指導”中的“BGP”。

(4)     將CE配置為VPN私網IBGP對等體。

peer { group-name | ipv6-address [ prefix-length ] } as-number as-number

(5)     創建BGP-VPN IPv6單播地址族,並進入BGP-VPN IPv6單播地址族視圖。

address-family ipv6 [ unicast ]

(6)     使能本地路由器與指定對等體/對等體組交換IPv6單播路由信息的能力。

peer { group-name | ipv6-address [ prefix-length ] } enable

缺省情況下,本地路由器不能與對等體交換IPv6單播路由信息。

(7)     將CE配置為路由反射器的客戶端,以便PE將從CE學習的路由發送給其他IBGP對等體。

peer { group-name | ipv6-address [ prefix-length ] } reflect-client

缺省情況下,未配置路由發射器及其客戶端。

配置路由反射器後不會修改路由的下一跳。如果需要修改下一跳,則需在路由的接收端通過入策略進行修改。

(8)     (可選)允許路由反射器在客戶機之間反射路由。

reflect between-clients

缺省情況下,允許路由反射器在客戶機之間反射路由。

(9)     (可選)配置路由反射器的集群ID。

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

缺省情況下,每個路由反射器都使用自己的Router ID作為集群ID。

如果一個集群中配置了多個路由反射器,請使用本命令為所有的路由反射器配置相同的集群ID,以避免產生路由環路。

3. 配置CE

(1)     進入係統視圖。

system-view

(2)     進入BGP實例視圖。

bgp as-number [ instance instance-name ]

(3)     將PE配置為IBGP對等體。

peer { group-name | ipv6-address [ prefix-length ] } as-number as-number

(4)     創建BGP IPv6單播地址族,並進入BGP IPv6單播地址族視圖。

address-family ipv6 [ unicast ]

(5)     使能本地路由器與指定對等體/對等體組交換IPv6單播路由信息的能力。

peer { group-name | ipv6-address [ prefix-length ] } enable

缺省情況下,本地路由器不能與對等體交換IPv6單播路由信息。

(6)     配置路由引入。

import-route protocol [ { process-id | all-processes } [ allow-direct | med med-value | route-policy route-policy-name ] * ]

CE需要將自己所能到達的VPN網段地址發布給接入的PE,通過PE發布給對端CE。

2.6  配置PE-PE間的路由交換

(1)     進入係統視圖。

system-view

(2)     進入BGP實例視圖。

bgp as-number [ instance instance-name ]

(3)     將對端PE配置為對等體。

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

(4)     指定與對等體/對等體組創建BGP會話時建立TCP連接使用的源接口。

peer { group-name | ipv4-address [ mask-length ] } connect-interface interface-type interface-number

缺省情況下,BGP使用到達BGP對等體的最佳路由的出接口作為與對等體/對等體組創建BGP會話時建立TCP連接的源接口。

(5)     創建BGP VPNv6地址族,並進入BGP VPNv6地址族視圖。

address-family vpnv6

(6)     使能本地路由器與指定對等體交換VPNv6路由信息的能力。

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

缺省情況下,本地路由器不能與對等體交換VPNv6路由信息。

2.7  配置BGP VPNv6路由

2.7.1  功能簡介

BGP VPNv6路由的屬性需要在BGP VPNv6地址族視圖下配置。BGP VPNv6路由的很多配置都與BGP IPv6單播路由相同,詳細配置請參見“三層技術-IP路由配置指導”中的“BGP”。

2.7.2  配置BGP VPNv6路由的首選值

(1)     進入係統視圖。

system-view

(2)     進入BGP實例視圖。

bgp as-number [ instance instance-name ]

(3)     進入BGP VPNv6地址族視圖。

address-family vpnv6

(4)     為從對等體/對等體組接收的路由分配首選值。

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

缺省情況下,從對等體/對等體組接收的路由的首選值為0。

2.7.3  配置允許從指定對等體/對等體組收到的路由數量

(1)     進入係統視圖。

system-view

(2)     進入BGP實例視圖。

bgp as-number [ instance instance-name ]

(3)     進入BGP VPNv6地址族視圖。

address-family vpnv6

(4)     設置允許從指定對等體/對等體組收到的路由數量。

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

缺省情況下,不限製從對等體/對等體組接收的路由數量。

2.7.4  配置BGP VPNv6路由反射

1. 功能簡介

為保證IBGP對等體之間的連通性,需要在IBGP對等體之間建立全連接關係。當IBGP對等體數目很多時,網絡資源和CPU資源的消耗都很大。

利用路由反射可以解決這一問題。在一個AS內,其中一台路由器作為RR(Route Reflector,路由反射器),作為客戶機(Client)的路由器與路由反射器之間建立IBGP連接。路由反射器從客戶機接收到路由後,將其傳遞(反射)給所有其他的客戶機,從而保證客戶機之間不需要建立IBGP連接,就可以學習到彼此的路由。

2. 配置步驟

(1)     進入係統視圖。

system-view

(2)     進入BGP實例視圖。

bgp as-number [ instance instance-name ]

(3)     進入BGP VPNv6地址族視圖。

address-family vpnv6

(4)     配置將本機作為路由反射器,並將對等體作為路由反射器的客戶。

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

缺省情況下,未配置路由反射器及其客戶。

(5)     (可選)允許路由反射器在客戶機之間反射路由。

reflect between-clients

缺省情況下,允許路由反射器在客戶機之間反射路由。

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

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

缺省情況下,每個路由反射器都使用自己的Router ID作為集群ID。

如果一個集群中配置了多個路由反射器,請使用本命令為所有的路由反射器配置相同的集群ID,以避免產生路由環路。

(7)     (可選)創建路由反射器的反射策略。

rr-filter ext-comm-list-number

缺省情況下,路由反射器不會對反射的路由進行過濾。

執行本命令後,隻有與本命令配置的擴展團體屬性號匹配的IBGP路由才會被反射。

通過在不同的路由反射器上配置不同的反射策略,可以實現路由反射器之間的負載分擔。

2.7.5  配置BGP VPNv6路由屬性

(1)     進入係統視圖。

system-view

(2)     進入BGP實例視圖。

bgp as-number [ instance instance-name ]

(3)     進入BGP VPNv6地址族視圖。

address-family vpnv6

(4)     配置AS_PATH屬性。

¡     配置對於從對等體/對等體組接收的路由,允許本地AS號在接收路由的AS_PATH屬性中出現,並配置允許出現的次數。

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

缺省情況下,不允許本地AS號在接收路由的AS_PATH屬性中出現。

¡     向指定EBGP對等體/對等體組發送BGP更新消息時隻攜帶公有AS號,不攜帶私有AS號。

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

缺省情況下,向EBGP對等體/對等體組發送BGP更新消息時,既可以攜帶公有AS號,又可以攜帶私有AS號。

(5)     配置向對等體/對等體組發布路由時不改變下一跳。

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

缺省情況下,向對等體/對等體組發布路由時會將下一跳改為自己的地址。

如果在跨域VPN OptionC組網中使用路由反射器RR(Route Reflector)通告VPNv6路由,則需要在路由反射器上通過本命令配置向BGP鄰居和反射客戶通告VPNv6路由時,不改變路由的下一跳,以保證私網路由下一跳不會被修改。

(6)     配置向對等體/對等體組發布團體屬性。

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

缺省情況下,不向對等體/對等體組發布團體屬性。

(7)     為BGP對等體/對等體組配置SoO屬性。

peer { group-name | ipv4-address [ mask-length ] } soo site-of-origin

缺省情況下,沒有為BGP對等體/對等體組配置SoO屬性。

2.7.6  配置BGP VPNv6路由過濾

(1)     進入係統視圖。

system-view

(2)     進入BGP實例視圖。

bgp as-number [ instance instance-name ]

(3)     進入BGP VPNv6地址族視圖。

address-family vpnv6

(4)     配置對發布的路由信息進行過濾。

filter-policy { ipv6-acl-number | name ipv6-acl-name | prefix-list ipv6-prefix-name } export [ direct | { isisv6 | ospfv3 | ripng } process-id | static ]

缺省情況下,不對發布的路由信息進行過濾。

(5)     配置對接收的路由信息進行過濾。

filter-policy { ipv6-acl-number | name ipv6-acl-name | prefix-list ipv6-prefix-name } import

缺省情況下,不對接收的路由信息進行過濾。

(6)     為對等體/對等體組設置基於AS路徑過濾列表的BGP路由過濾策略。

peer { group-name | ipv4-address [ mask-length ] } as-path-acl as-path-acl-number { export | import }

缺省情況下,未配置基於AS路徑過濾列表的BGP路由過濾策略。

(7)     為對等體/對等體組設置基於ACL的BGP路由過濾策略。

peer { group-name | ipv4-address [ mask-length ] } filter-policy { ipv6-acl-number | name ipv6-acl-name } { export | import }

缺省情況下,未配置基於ACL的BGP路由過濾策略。

(8)     為對等體/對等體組設置基於IPv6地址前綴列表的BGP路由過濾策略。

peer { group-name | ipv4-address [ mask-length ] } prefix-list ipv6-prefix-name { export | import }

缺省情況下,未配置基於IPv6地址前綴列表的BGP路由過濾策略。

(9)     對來自對等體/對等體組的路由或發布給對等體/對等體組的路由應用路由策略。

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

缺省情況下,沒有為對等體/對等體組指定路由策略。

(10)     配置對接收到的VPNv6路由進行Route Target過濾。

policy vpn-target

缺省情況下,對接收到的VPNv6路由進行Route Target過濾,即隻將Export Route Target屬性與本地Import Route Target屬性匹配的VPNv6路由加入到路由表。

2.8  配置IPv6跨域VPN

2.8.1  配置IPv6跨域VPN-OptionA

IPv6跨域VPN-OptionA的實現比較簡單,當PE上的VPN數量及VPN路由數量都比較少時可以采用這種方案。

IPv6跨域VPN-OptionA的配置可以描述為:

·     對各AS分別進行基本IPv6 MPLS L3VPN配置。

·     對於ASBR-PE,將對端ASBR-PE看作自己的CE配置即可。即:IPv6跨域VPN-OptionA方式需要在PE和ASBR-PE上分別配置IPv6 VPN實例,前者用於接入CE,後者用於接入對端ASBR-PE。

在IPv6跨域VPN-OptionA方式中,對於同一個IPv6 VPN,同一AS內的ASBR-PE和PE上配置的Route Target應能匹配,即Route Target的配置應能保證PE(或ASBR-PE)發送的VPN路由能夠被ASBR-PE(或PE)接受;不同AS的PE上配置的Route Target則不需要匹配。

2.8.2  配置IPv6跨域VPN-OptionB

1. 配置限製和指導

配置跨域VPN-OptionB時,需要注意:ASBR在將VPNv6路由發布給MP-IBGP對等體時,始終會將下一跳修改為自身的地址,不受peer next-hop-local命令的控製。

2. 配置PE

配置基本IPv6 MPLS L3VPN,並指定同一AS內的ASBR為MP-IBGP對等體。對於同一個IPv6 VPN,不同AS的PE上為該VPN實例配置的Route Target需要匹配。

3. 配置ASBR

(1)     進入係統視圖。

system-view

(2)     在連接AS內部路由器的接口上使能MPLS和LDP能力。

a.     配置本節點的LSR ID。

mpls lsr-id lsr-id

缺省情況下,未配置LSR ID。

b.     使能本節點的LDP能力,並進入LDP視圖。

mpls ldp

缺省情況下,LDP能力處於關閉狀態。

c.     退回係統視圖。

quit

d.     進入連接AS內部路由器接口的接口視圖。

interface interface-type interface-number

e.     使能接口的MPLS能力。

mpls enable

缺省情況下,接口的MPLS能力處於關閉狀態。

f.     使能接口的LDP能力。

mpls ldp enable

缺省情況下,接口的LDP能力處於關閉狀態。

g.     退回係統視圖。

quit

(3)     在連接對端ASBR的接口上使能MPLS能力。

a.     進入連接對端ASBR接口的接口視圖。

interface interface-type interface-number

b.     使能接口的MPLS能力。

mpls enable

缺省情況下,接口的MPLS能力處於關閉狀態。

c.     退回係統視圖。

quit

(4)     進入BGP實例視圖。

bgp as-number [ instance instance-name ]

(5)     創建BGP對等體,將同一AS的PE配置為IBGP對等體,將不同AS的ASBR配置為EBGP對等體。

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

(6)     進入BGP VPNv6地址族視圖。

address-family vpnv6

(7)     使能本地路由器與同一AS的PE、不同AS的ASBR交換VPNv6路由信息的能力。

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

缺省情況下,本地路由器不能與對等體交換VPNv6路由信息。

(8)     配置對接收到的VPNv6路由不進行Route Target過濾。

undo policy vpn-target

缺省情況下,對接收到的VPNv6路由進行Route Target過濾。

2.8.3  配置IPv6跨域VPN-OptionC

1. 配置準備

執行本配置前,需要在PE或ASBR上配置通過BGP發布PE地址對應的路由,配置方法請參見“三層技術-IP路由配置指導”中的“BGP”。

PE上還需完成以下操作:

·     配置VPN實例

·     配置PE-CE之間的路由交換

2. 配置PE

(1)     進入係統視圖。

system-view

(2)     進入BGP實例視圖。

bgp as-number [ instance instance-name ]

(3)     創建BGP對等體,將本AS的ASBR-PE配置為IBGP對等體,將另一AS的PE配置為EBGP對等體。

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

(4)     進入BGP IPv4單播地址族視圖。

address-family ipv4 [ unicast ]

(5)     使能與本AS的ASBR-PE交換BGP IPv4單播路由的能力。

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

缺省情況下,不能與本AS的ASBR-PE交換BGP IPv4單播路由。

(6)     配置與本AS的ASBR-PE之間能夠交換帶標簽的路由。

peer { group-name | ipv4-address [ mask-length ] } label-route-capability

缺省情況下,不向IPv4對等體/對等體組發送標簽路由。

(7)     退回BGP實例視圖。

quit

(8)     進入BGP VPNv6地址族視圖。

address-family vpnv6

(9)     使能本地路由器與另一AS的PE交換VPNv6路由信息的能力。

peer ipv4-address [ mask-length ] enable

缺省情況下,本地路由器不能與對等體交換VPNv6路由信息。

(10)     配置向對等體發送路由時不改變下一跳。

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

該步驟用於使用RR通告VPNv6路由的情況:在RR上執行本配置,使得RR之間通告VPNv6路由時,路由的下一跳不會被改變。

3. 配置ASBR-PE

(1)     進入係統視圖。

system-view

(2)     配置路由策略。

a.     創建路由策略,並進入路由策略視圖。

route-policy route-policy-name { deny | permit } node node-number

b.     匹配帶標簽的IPv4路由。

if-match mpls-label

缺省情況下,不匹配路由信息的MPLS標簽。

在路由策略中,還可以配置其他的if-match子句,以實現隻對滿足某些條件的路由分配標簽,其它路由仍作為普通IPv4路由發布。

c.     為IPv4路由分配標簽。

apply mpls-label

缺省情況下,沒有為IPv4路由分配標簽。

d.     退回係統視圖。

quit

(3)     在連接AS內部路由器的接口上使能MPLS和LDP能力。

a.     配置本節點的LSR ID。

mpls lsr-id lsr-id

缺省情況下,未配置LSR ID。

b.     使能本節點的LDP能力,並進入LDP視圖。

mpls ldp

缺省情況下,LDP能力處於關閉狀態。

c.     退回係統視圖。

quit

d.     進入連接AS內部路由器接口的接口視圖。

interface interface-type interface-number

e.     使能接口的MPLS能力。

mpls enable

缺省情況下,接口的MPLS能力處於關閉狀態。

f.     使能接口的LDP能力。

mpls ldp enable

缺省情況下,接口的LDP能力處於關閉狀態。

g.     退回係統視圖。

quit

(4)     在連接對端ASBR的接口上使能MPLS能力。

a.     進入連接對端ASBR接口的接口視圖。

interface interface-type interface-number

b.     使能接口的MPLS能力。

mpls enable

缺省情況下,接口的MPLS能力處於關閉狀態。

c.     退回係統視圖。

quit

(5)     進入BGP實例視圖。

bgp as-number [ instance instance-name ]

(6)     創建BGP對等體,將本AS的PE配置為IBGP對等體,將另一AS的ASBR配置為EBGP對等體。

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

(7)     創建BGP IPv4單播地址族,並進入BGP IPv4單播地址族視圖。

address-family ipv4 [ unicast ]

(8)     使能本地路由器與本AS的PE、另一AS的ASBR交換IPv4單播路由信息的能力。

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

缺省情況下,本地路由器不能與對等體交換IPv4單播路由信息。

(9)     配置與本AS的PE及另一AS的ASBR之間能夠交換帶標簽的IPv4路由。

peer { group-name | ipv4-address [ mask-length ] } label-route-capability

缺省情況下,不具有與對等體/對等體組交換帶標簽IPv4路由的能力。

(10)     對來自對等體/對等體組的路由或發布給對等體/對等體組的路由應用路由策略。

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

缺省情況下,沒有為對等體/對等體組指定路由策略。

2.9  配置多角色主機

2.9.1  功能簡介

多角色主機特性的配置都在多角色主機所屬Site接入的PE上進行,主要包括如下配置:

·     配置並應用策略路由:使得多角色主機發送的報文可以發送到多個VPN。

·     配置靜態路由:使得其他VPN返回的報文能夠發送給多角色主機。

2.9.2  配置並應用策略路由

(1)     進入係統視圖。

system-view

(2)     創建IPv6策略節點,並進入IPv6策略節點視圖。

ipv6 policy-based-route policy-name { deny | permit } node node-number

(3)     配置IPv6策略節點的匹配規則。

詳細介紹請參見“三層技術-IP路由配置指導”中的“IPv6策略路由”

缺省情況下,未配置IPv6策略節點的匹配規則,所有報文都滿足該節點的匹配規則。

本配置用來匹配來自多角色主機的報文。

(4)     設置報文在指定VPN實例中進行轉發。

apply access-vpn vpn-instance vpn-instance-name&<1-4>

缺省情況下,未設置報文在指定VPN實例中進行轉發。

本配置中需要指定多個VPN實例,第一個為多角色主機所屬的VPN實例,其餘為需要訪問的其他VPN實例。報文滿足匹配規則後,將根據第一個可用的VPN實例轉發表進行轉發。

(5)     退回係統視圖。

quit

(6)     進入接入CE的接口視圖。

interface interface-type interface-number

(7)     對接口轉發的報文應用策略。

ipv6 policy-based-route policy-name

缺省情況下,對接口轉發的報文沒有應用策略。

2.9.3  配置靜態路由

(1)     進入係統視圖。

system-view

(2)     為指定VPN實例配置靜態路由。

ipv6 route-static vpn-instance s-vpn-instance-name ipv6-address prefix-length vpn-instance d-vpn-instance-name nexthop-address

其中,d-vpn-instance-name為多角色主機所屬的VPN實例,next-hop-address為多角色主機所在Site的CE設備的地址。

2.10  配置OSPFv3偽連接

2.10.1  配置準備

在配置OSPF偽連接之前,需完成以下任務:

·     配置基本IPv6 MPLS L3VPN(PE-CE間使用OSPFv3)

·     在用戶CE所在局域網內配置OSPFv3

2.10.2  發布Loopback接口的路由

(1)     進入係統視圖。

system-view

(2)     創建Loopback接口,並進入Loopback接口視圖。

interface loopback interface-number

(3)     將Loopback接口與VPN實例關聯。

ip binding vpn-instance vpn-instance-name

缺省情況下,接口不關聯任何VPN實例,屬於公網接口。

注意

配置或取消接口與VPN實例關聯後,該接口上的IP地址、路由協議等配置將被刪除。

 

(4)     配置Loopback接口的IPv6地址。

配置方法,請參見“三層技術-IP業務配置指導”中的“IPv6基礎”。

缺省情況下,未配置Loopback接口的IPv6地址。

(5)     進入BGP實例視圖。

bgp as-number [ instance instance-name ]

(6)     進入BGP-VPN實例視圖。

ip vpn-instance vpn-instance-name

(7)     進入BGP-VPN IPv6單播地址族視圖。

address-family ipv6 [ unicast ]

(8)     引入直連路由(將Loopback主機路由引入BGP)。

import-route direct

缺省情況下,不會引入直連路由。

2.10.3  創建偽連接

(1)     進入係統視圖。

system-view

(2)     進入OSPFv3視圖。

ospfv3 [ process-id | vpn-instance vpn-instance-name ] *

(3)     進入OSPFv3區域視圖。

area area-id

(4)     創建一條OSPFv3偽連接。

sham-link source-ipv6-address destination-ipv6-address [ cost cost-value | dead dead-interval | hello hello-interval | instance instance-id | ipsec-profile profile-name | retransmit retrans-interval | trans-delay delay ] *

2.11  配置BGP的AS號替換和SoO屬性

1. 功能簡介

不同Site的CE具有相同的AS號時,PE上需要開啟BGP的AS號替換功能,從而避免路由被丟棄。

使能了BGP的AS號替換功能後,當PE向指定CE發布路由時,如果路由的AS_PATH中有與CE相同的AS號,將被替換成PE的AS號後再發布。

PE使用不同接口連接同一站點的多個CE時,如果配置了BGP的AS號替換功能,則會導致路由環路。這種情況下,需要在PE上通過peer soo命令為從同一站點不同CE學習到的路由添加相同的SoO屬性,且PE向CE發布路由時檢查SoO屬性,如果路由的SoO屬性與為CE配置的SoO屬性相同,則不將該路由發布給CE,從而避免路由環路。

本配置中各命令的詳細介紹,請參見“三層技術-IP路由命令參考”中的“BGP”。

2. 配置步驟

(1)     進入係統視圖。

system-view

(2)     進入BGP實例視圖。

bgp as-number [ instance instance-name ]

(3)     進入BGP-VPN實例視圖。

ip vpn-instance vpn-instance-name

(4)     使能BGP的AS號替換功能。

peer { group-name | ipv6-address [ prefix-length ] } substitute-as

缺省情況下,BGP的AS號替換功能處於關閉狀態。

(5)     進入BGP-VPN IPv6單播地址族視圖。

address-family ipv6 [ unicast ]

(6)     (可選)為BGP對等體/對等體組配置SoO屬性。

peer { group-name | ipv6-address [ prefix-length ] } soo site-of-origin

缺省情況下,沒有為BGP對等體/對等體組配置SoO屬性。

2.12  配置優先發送指定路由的撤銷消息

1. 功能簡介

當BGP路由器需要撤銷大量路由時,撤銷所有的路由會耗費一定時間,導致有些流量不能快速切換到有效路徑。對於某些重要的、不希望長時間中斷的流量,可以通過本配置,確保BGP路由器優先發送這些路由的撤銷消息,以便將指定流量快速地切換到有效路徑上,最大限度地減少流量中斷時間。

2. 配置步驟

(1)     進入係統視圖。

system-view

(2)     進入BGP實例視圖。

bgp as-number [ instance instance-name ]

(3)     創建BGP VPNv6地址族,並進入BGP VPNv6地址族視圖。

address-family vpnv6

(4)     配置優先發送指定路由的撤銷消息。

update-first route-policy route-policy-name

缺省情況下,不支持優先發送指定路由的撤銷消息。

2.13  IPv6 MPLS L3VPN顯示和維護

2.13.1  複位BGP會話

當BGP配置變化後,可以通過軟複位或複位BGP會話使新的配置生效。軟複位BGP會話是指在不斷開BGP鄰居關係的情況下,更新BGP路由信息;複位BGP會話是指斷開並重新建立BGP鄰居關係的情況下,更新BGP路由信息。軟複位需要BGP對等體具備路由刷新能力(支持ROUTE-REFRESH消息)。

請在用戶視圖下進行下列操作。下表中各命令的詳細介紹,請參見“三層技術-IP路由命令參考”中的“BGP”。

表2-1 複位BGP會話

操作

命令

手工對VPNv6地址族下的BGP會話進行軟複位

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

複位VPNv6地址族下的BGP會話

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

 

2.13.2  顯示IPv6 MPLS L3VPN的運行狀態

在完成上述配置後,在任意視圖下執行display命令可以顯示配置後IPv6 MPLS L3VPN的運行情況,通過查看顯示信息驗證配置的效果。

display bgp group vpnv6display bgp peer vpnv6display bgp update-group vpnv6命令的詳細介紹,請參見“三層技術-IP路由命令參考”中的“BGP”。

表2-2 顯示IPv6 MPLS L3VPN的運行狀態

操作

命令

顯示BGP VPNv6對等體組的信息

display bgp [ instance instance-name ] group vpnv6 [ group-name group-name ]

顯示BGP VPNv6對等體的信息

display bgp [ instance instance-name ] peer vpnv6 [ ipv4-address mask-length | { ipv4-address | group-name group-name } log-info | [ ipv4-address ] verbose ]

顯示BGP VPNv6路由信息

display bgp [ instance instance-name ] routing-table vpnv6 [ [ route-distinguisher route-distinguisher ] [ ipv6-address prefix-length [ advertise-info ] | as-path-acl as-path-acl-number | community-list { { basic-community-list-number | comm-list-name } [ whole-match ] | adv-community-list-number } ] | peer ipv4-address { advertised-routes | received-routes } [ ipv6-address prefix-length | statistics ] | statistics ]

顯示所有BGP VPNv6路由的入標簽信息

display bgp [ instance instance-name ] routing-table vpnv6 inlabel

顯示所有BGP VPNv6路由的出標簽信息

display bgp [ instance instance-name ] routing-table vpnv6 outlabel

顯示BGP VPNv6地址族下打包組的相關信息

display bgp [ instance instance-name ] update-group vpnv6 [ ipv4-address ]

顯示指定VPN實例信息

display ip vpn-instance [ instance-name vpn-instance-name ]

顯示指定VPN實例的IPv6 FIB信息

display ipv6 fib vpn-instance vpn-instance-name [ ipv6-address [ prefix-length ] ]

顯示與VPN實例相關聯的IPv6路由表(本命令的詳細介紹請參見“三層技術-IP路由命令參考”中的“IP路由基礎命令”)

display ipv6 routing-table vpn-instance vpn-instance-name [ verbose ]

顯示OSPFv3偽連接信息

display ospfv3 [ process-id ] [ area area-id ] sham-link [ verbose ]

 

 

不同款型規格的資料略有差異, 詳細信息請向具體銷售和400谘詢。H3C保留在沒有任何通知或提示的情況下對資料內容進行修改的權利!

BOB登陆
官網
聯係我們