01-MCE配置
本章節下載: 01-MCE配置 (738.7 KB)
目 錄
:
l 本章所指的路由器代表了一般意義下的路由器,以及運行了路由協議的三層交換機。為提高可讀性,在手冊的描述中將不另行說明。
l 本章隻涉及MCE的介紹和配置,涉及到的各種路由協議的介紹和配置請參見“三層技術-IP路由配置指導”中的相關內容。
l 本章中提到的三層以太網接口是指工作模式被配置成三層模式的以太網端口,有關以太網端口工作模式切換的操作,請參見“二層技術-以太網交換配置指導”中的“以太網端口配置”部分。
MPLS L3VPN是服務提供商VPN解決方案中一種基於PE的L3VPN技術,它使用BGP在服務提供商骨幹網上發布VPN路由,使用MPLS在服務提供商骨幹網上轉發VPN報文。
MPLS L3VPN組網方式靈活、可擴展性好,並能夠方便地支持MPLS QoS和MPLS TE,因此得到越來越多的應用。
MPLS L3VPN模型由三部分組成:CE、PE和P。
l CE(Customer Edge)設備:用戶網絡邊緣設備,有接口直接與SP(Service Provider,服務提供商)相連。CE可以是路由器或交換機,也可以是一台主機。CE“感知”不到VPN的存在,也不需要必須支持MPLS。
l PE(Provider Edge)路由器:服務提供商邊緣路由器,是服務提供商網絡的邊緣設備,與用戶的CE直接相連。在MPLS網絡中,對VPN的所有處理都發生在PE上。
l P(Provider)路由器:服務提供商網絡中的骨幹路由器,不與CE直接相連。P設備隻需要具備基本MPLS轉發能力。
圖1-1是一個MPLS L3VPN組網方案的示意圖。

CE和PE的劃分主要是根據SP與用戶的管理範圍,CE和PE是兩者管理範圍的邊界。
CE設備通常是一台路由器,當CE與直接相連的PE建立鄰接關係後,CE把本站點的VPN路由發布給PE,並從PE學到遠端VPN的路由。CE與PE之間使用BGP/IGP交換路由信息,也可以使用靜態路由。
PE從CE學到CE本地的VPN路由信息後,通過BGP與其它PE交換VPN路由信息。PE路由器隻維護與它直接相連的VPN的路由信息,不維護服務提供商網絡中的所有VPN路由。
P路由器隻維護到PE的路由,不需要了解任何VPN路由信息。
當在MPLS骨幹網上傳輸VPN流量時,入口PE做為Ingress LSR(Label Switch Router,標簽交換路由器),出口PE做為Egress LSR,P路由器則做為Transit LSR。
在介紹VPN時經常會提到“站點”,站點(Site)的含義可以從下述幾個方麵理解:
l 站點是指相互之間具備IP連通性的一組IP係統,並且,這組IP係統的IP連通性不需通過服務提供商網絡實現;
l 站點的劃分是根據設備的拓撲關係,而不是地理位置,盡管在大多數情況下一個站點中的設備地理位置相鄰;
l 一個站點中的設備可以屬於多個VPN,換言之,一個站點可以屬於多個VPN;
l 站點通過CE連接到服務提供商網絡,一個站點可以包含多個CE,但一個CE隻屬於一個站點。
對於多個連接到同一服務提供商網絡的站點,通過製定策略,可以將它們劃分為不同的集合(set),隻有屬於相同集合的站點之間才能通過服務提供商網絡互訪,這種集合就是VPN。
VPN是一種私有網絡,不同的VPN獨立管理自己使用的地址範圍,也稱為地址空間(Address Space)。
不同VPN的地址空間可能會在一定範圍內重合,比如,VPN 1和VPN 2都使用了10.110.10.0/24網段的地址,這就發生了地址空間重疊(Overlapping Address Spaces)。
在MPLS VPN中,不同VPN之間的路由隔離通過VPN實例(VPN-instance)實現。
PE為每個直接相連的站點建立並維護專門的VPN實例。VPN實例中包含對應站點的VPN成員關係和路由規則。如果一個站點中的用戶同時屬於多個VPN,則該站點的VPN實例中將包括所有這些VPN的信息。
為保證VPN數據的獨立性和安全性,PE上每個VPN實例都有相對獨立的路由表和LFIB(Label Forwarding Information Base,標簽轉發表)。
具體來說,VPN實例中的信息包括:標簽轉發表、IP路由表、與VPN實例綁定的接口以及VPN實例的管理信息。VPN實例的管理信息包括RD(Route Distinguisher,路由標識符)、路由過濾策略、成員接口列表等。
傳統BGP無法正確處理地址空間重疊的VPN的路由。假設VPN 1和VPN 2都使用了10.110.10.0/24網段的地址,並各自發布了一條去往此網段的路由,BGP將隻會選擇其中一條路由,從而導致去往另一個VPN的路由丟失。
PE路由器之間使用MP-BGP來發布VPN路由,並使用VPN-IPv4地址族來解決上述問題。
VPN-IPv4地址共有12個字節,包括8字節的RD和4字節的IPv4地址前綴,如圖1-2所示。
圖1-2 VPN-IPv4地址結構

PE從CE接收到普通IPv4路由後,需要將這些私網VPN路由發布給對端PE。私網路由的獨立性是通過為這些路由附加RD實現的。
SP可以獨立地分配RD,但必須保證RD的全局唯一性。這樣,即使來自不同服務提供商的VPN使用了同樣的IPv4地址空間,PE路由器也可以向各VPN發布不同的路由。
建議為PE上每個VPN實例配置專門的RD,以保證到達同一CE的路由都使用相同的RD。RD為0的VPN-IPv4地址相當於全局唯一的IPv4地址。
RD的作用是添加到一個特定的IPv4前綴,使之成為全局唯一的VPN IPv4前綴。
RD或者是與自治係統號(ASN)相關的,在這種情況下,RD是由一個自治係統號和一個任意的數組成;或者是與IP地址相關的,在這種情況下,RD是由一個IP地址和一個任意的數組成。
RD有三種格式,通過2字節的Type字段區分:
l Type為0時,Administrator子字段占2字節,Assigned number子字段占4字節,格式為:16bits自治係統號:32bits用戶自定義數字。例如:100:1
l Type為1時,Administrator子字段占4字節,Assigned number子字段占2字節,格式為:32bitsIPv4地址:16bits用戶自定義數字。例如:172.1.1.1:1
l Type為2時,Administrator子字段占4字節,Assigned number子字段占2字節,格式為:32bits自治係統號:16bits用戶自定義數字,其中的自治係統號最小值為65536。例如:65536:1
為保證RD的全局唯一性,建議不要將Administrator子字段的值設置為私有AS號或私有IP地址。
MPLS L3VPN使用BGP擴展團體屬性——VPN Target(也稱為Route Target)來控製VPN路由信息的發布。
PE路由器上的VPN實例有兩類VPN Target屬性:
l Export Target屬性:在本地PE將從與自己直接相連的站點學到的VPN-IPv4路由發布給其它PE之前,為這些路由設置Export Target屬性;
l Import Target屬性:PE在接收到其它PE路由器發布的VPN-IPv4路由時,檢查其Export Target屬性,隻有當此屬性與PE上VPN實例的Import Target屬性匹配時,才把路由加入到相應的VPN路由表中。
也就是說,VPN Target屬性定義了一條VPN-IPv4路由可以為哪些站點所接收,PE路由器可以接收哪些站點發送來的路由。
與RD類似,VPN Target也有三種格式:
l 16bits自治係統號:32bits用戶自定義數字,例如:100:1。
l 32bits IPv4地址:16bits用戶自定義數字,例如:172.1.1.1:1。
l 32bits自治係統號:16bits用戶自定義數字,其中的自治係統號最小值為65536。例如:65536:1。
BGP/MPLS VPN以隧道的方式解決了在公網中傳送私網數據的問題,但傳統的BGP/MPLS VPN架構要求每個VPN實例單獨使用一個CE與PE相連,如圖1-1所示。
隨著用戶業務的不斷細化和安全需求的提高,很多情況下一個私有網絡內的用戶需要劃分成多個VPN,不同VPN用戶間的業務需要完全隔離。此時,為每個VPN單獨配置一台CE將加大用戶的設備開支和維護成本;而多個VPN共用一台CE,使用同一個路由表項,又無法保證數據的安全性。
使用本係列產品提供的MCE(Multi-VPN-Instance CE,具備多VPN實例功能的CE)功能,可以有效解決多VPN網絡帶來的用戶數據安全與網絡成本之間的矛盾,它使用CE設備本身的VLAN接口編號與網絡內的VPN進行綁定,並為每個VPN創建和維護獨立的路由轉發表(Multi-VRF)。這樣不但能夠隔離私網內不同VPN的報文轉發路徑,而且通過與PE間的配合,也能夠將每個VPN的路由正確發布至對端PE,保證VPN報文在公網內的傳輸。
下麵以圖1-3為例介紹MCE對多個VPN的路由表項進行維護,並與PE交互VPN路由的過程。
圖1-3 MCE工作原理示意圖

如圖1-3所示,左側私網內有兩個VPN站點:站點1和站點2,分別通過MCE設備接入MPLS骨幹網,其中VPN1和VPN2的用戶,需要分別與遠端站點2內的VPN1用戶和站點1內的VPN2用戶建立VPN隧道。
通過配置MCE功能,可以在MCE設備上為VPN1和VPN2創建不同的VPN實例,為其維護各自獨立的路由表,並使用Vlan-interface2接口與VPN1進行綁定、Vlan-interface3與VPN2進行綁定。在接收路由信息時,MCE設備根據接收接口的編號,即可判斷該路由信息的來源,並將其維護到對應VPN實例的路由轉發表中。
同時,MCE需要通過不同的路由協議或進程來向PE發布VPN1和VPN2的路由,以便PE能夠識別並分別維護不同VPN的路由。因此,MCE需要通過兩個接口連接到PE,並創建兩個VPN實例與兩個接口分別綁定。在向PE發布VPN路由時,將不同的路由協議或進程與VPN實例綁定,並在不同的協議或進程中分別引入VPN1和VPN2內的路由。
通過上述過程,MCE即可將兩個VPN內的路由信息分別發布到PE設備。
除MPLS L3VPN外,目前能夠提供VPN功能的還有隧道技術。本交換機提供的MCE功能在通過隧道實現VPN的組網中,也可以進行應用。具體的實現方式如圖1-4所示:
圖1-4 在隧道組網中使用MCE的組網方式一

在兩台MCE設備間建立多條隧道,並將隧道接口與指定的VPN實例進行綁定,可以使VPN實例的路由信息和數據通過綁定的隧道接口傳輸至對端設備,對端MCE設備根據接收路由的隧道接口來判斷該路由所屬的VPN實例,並將其發布給相應的站點。例如在圖1-4中將隧道1與VPN1實例綁定,便可以使MCE設備在該隧道上傳輸VPN1的路由信息和數據。
另外一種隧道環境的組網方式是將MCE設備通過隧道與遠端多個CE進行連接,該方式中CE設備隻需按正常方式接收和發布路由,MCE設備根據隧道接口與VPN的綁定關係來發送和接收VPN路由信息。組網示意如圖1-5所示:
圖1-5 在隧道組網中使用MCE的組網方式二

![]()
l 在隧道環境中使用MCE時,MCE設備可以直接與對端MCE設備(或多個CE設備)交互VPN路由信息,交互方式與在MPLS L3VPN環境下MCE與PE的交互方式相同,請參見1.2.2 MCE與PE間的路由交換。
l 目前支持MCE功能的隧道類型有GRE隧道、IPv4 over IPv4隧道、IPv4 over IPv6隧道。
l 關於隧道種類的介紹和相關配置,請參見“三層技術-IP業務配置指導”中的“隧道配置”部分。
通過接口與VPN實例的綁定,MCE與PE已經能夠正確判斷報文的來源,參考對應VPN實例的路由信息對報文進行轉發。下麵介紹一下MCE設備如何將多個VPN實例的私網路由信息準確傳播到PE設備。
MCE可以使用如下的路由協議與站點交換VPN私網路由:
l 靜態路由
l RIP
l OSPF
l IS-IS
l IBGP
l EBGP
![]()
下文隻介紹各路由協議與MCE功能配合的配置思路,有關路由協議的基本原理,請參見“三層技術-IP路由配置指導”中的相關介紹。
MCE可以通過靜態路由與站點連接。傳統CE配置的靜態路由對全局生效,無法解決多VPN間的地址重疊問題。本係列產品提供的MCE功能可以將靜態路由與VPN實例相綁定,將各VPN之間的靜態路由進行隔離。
本係列產品提供了將RIP進程與VPN實例綁定的方法,通過在MCE上配置RIP進程與VPN實例的綁定關係,使不同VPN內的私網路由可以通過不同的RIP進程在站點和MCE間進行交互,保證了私網路由的隔離和安全。
本係列產品提供了將OSPF進程與VPN實例綁定的功能,用來在MCE上隔離不同VPN的路由。
需要注意的是:
在VPN實例所綁定的OSPF進程中,將不會使用在係統視圖下配置的公網Router ID,需要用戶在啟動進程時手工配置Router ID。
一個OSPF進程隻能綁定一個VPN實例,但一個VPN實例可以使用多個OSPF進程為其傳播私網路由。同一VPN實例內的OSPF進程應配置有相同的域ID,以保證路由發布的正確性。
![]()
對於標準的BGP/OSPF互相引用功能,當在MCE設備上配置引入BGP路由到OSPF中時,該路由的原OSPF屬性將無法恢複,造成該路由與從其他域引入的路由無法區分。為了區分原屬於不同OSPF域的路由,需要在遠端PE將OSPF路由引入到BGP時攜帶標識域的屬性,即OSPF的域ID(Domain ID)。OSPF進程的域ID包含在此進程生成的路由中,在將OSPF路由引入BGP中時,域ID被附加到BGP VPN路由上,作為BGP的擴展團體屬性傳遞。
在某些情況下,同一個VPN可能會連接多個MCE設備,當其中一個MCE將從BGP學到的路由向VPN內發布時,可能會被另外的MCE設備學到,造成路由環。為避免路由環路,可以在MCE上為不同的VPN實例配置Route Tag,建議在多個MCE上為同一個VPN配置相同的Route Tag。
MCE和站點之間使用IS-IS傳播私網路由的方式與使用OSPF時類似,將進程與VPN實例進行綁定。一個IS-IS進程隻能屬於一個VPN實例。
當MCE和站點之間使用IBGP傳播私網路由時,需要在MCE上為每個VPN實例配置IBGP對等體,並引入相應VPN內的IGP路由信息。當MCE同時與屬於同一VPN的多個站點進行連接時,可以將MCE設備配置為路由反射器,站點的出口路由器配置為客戶端,使MCE在多個站點之間傳遞(反射)路由信息,而站點之間不需要建立BGP連接,減少了BGP連接數量,簡化了網絡配置。
當MCE和站點之間使用EBGP傳播私網路由時,需要在MCE上為每個VPN實例配置EBGP對等體,並引入相應VPN內的IGP路由信息。由於一般情況下各個站點處於不同的AS內,因此應使用EBGP進行路由的傳播。
(1) 配置EBGP引入各站點內的IGP路由
為正確的將私網路由發布到PE,需要MCE首先將與其直連站點內的IGP路由引入到自己的BGP路由表中。
(2) 為每個VPN實例配置對等體組
為準確地與各站點交換路由信息,可以在BGP的IPv4地址族視圖下,為每個VPN實例配置對等體組,並指定對等體組的AS編號。
(3) 通過Filter-policy對路由進行過濾
為正確地將路由信息傳播到站點和PE設備,在指定對等體後,還需要使用Filter-policy對接收/發布的路由進行過濾。
由於在MCE設備上已經將路由信息與VPN實例進行了綁定,因此,隻需要在MCE與PE之間將接口與VPN實例進行綁定,再進行簡單的路由配置,便可以將MCE的VPN路由表項引入到MCE-PE間的路由協議中,實現私網VPN路由信息的傳播。
MCE與PE之間可以使用以下的路由協議進行路由交換:
l 靜態路由
l RIP
l OSPF
l IS-IS
l IBGP
l EBGP
各路由協議的配置方法及引入路由的操作,請參考“三層技術-IP路由配置指導”中的介紹。
VPN實例用於將VPN私網路由與公網路由隔離,在所有MCE組網方案中,都需要配置VPN實例。
VPN實例不僅可以將VPN私網路由與公網路由隔離,不同VPN實例的路由之間也是相互隔離的,這一特點使得VPN實例的使用不限於MCE。
VPN實例在實現中與站點關聯。VPN實例不是直接對應於VPN,一個VPN實例綜合了和它所對應站點的VPN成員關係和路由規則。
一個VPN實例隻有配置了RD後才生效。在配置RD之前,除了描述信息外,不能配置VPN實例的其他任何參數。
描述信息用於描述VPN實例,可以用來記錄VPN實例與某個VPN的關係等信息。
|
操作 |
命令 |
說明 |
|
進入係統視圖 |
system-view |
- |
|
創建VPN實例,並進入VPN實例視圖 |
ip vpn-instance vpn-instance-name |
必選 |
|
配置VPN實例的RD |
route-distinguisher route-distinguisher |
必選 |
|
配置VPN實例的描述信息 |
description text |
可選 |
![]()
為方便記憶和管理,建議用戶在MCE設備和PE設備上為同一個VPN實例配置相同的RD。
![]()
l 在MPLS L3VPN環境中,需要將VPN實例與連接PE設備的接口進行關聯。
l 在隧道環境中,需要將VPN實例與連接對端MCE設備(或CE設備)的隧道接口進行關聯。
l 本係列產品還支持將管理用以太網口與VPN實例進行綁定,使管理用以太網口上的IP地址僅參與VPN實例內部的路由計算。
VPN實例配置完成後,還需要與連接各個VPN 站點的接口進行關聯。
表1-2 配置VPN實例與接口關聯
|
操作 |
命令 |
說明 |
|
進入係統視圖 |
system-view |
- |
|
進入要關聯接口的VLAN接口視圖或三層以太網接口視圖 |
interface interface-type interface-number |
- |
|
將當前接口與VPN實例關聯 |
ip binding vpn-instance vpn-instance-name |
必選 缺省情況下,接口不關聯任何VPN實例 |
![]()
執行ip binding vpn-instance命令將刪除接口上已經配置的IP地址,因此需要重新配置接口的IP地址。
MCE設備對VPN路由的發布控製過程如下:
l 當從VPN 站點內學習到的一條VPN路由引入BGP時,BGP為它關聯一個VPN Target擴展團體屬性列表,通常這個列表是與該站點相關聯的VPN實例的輸出路由屬性列表。
l VPN實例根據VPN Target中import-extcommunity決定可被接受並引入此VPN實例的路由。
l VPN實例根據VPN Target中的export-extcommunity對向外發布的路由進行VPN Target屬性的修改。
表1-3 配置VPN實例的路由相關屬性
|
操作 |
命令 |
說明 |
|
進入係統視圖 |
system-view |
- |
|
進入VPN實例視圖 |
ip vpn-instance vpn-instance-name |
必選 |
|
進入IPv4 VPN視圖 |
ipv4-family |
可選 |
|
將當前VPN實例與一個或多個VPN Target相關聯 |
vpn-target vpn-target&<1-8> [ both | export-extcommunity | import-extcommunity ] |
必選 |
|
配置VPN實例支持的最大路由數 |
routing-table limit number { warn-threshold | simply-alert } |
可選 缺省情況下,沒有配置當前VPN實例支持的最多路由數 |
|
對當前VPN實例應用入方向路由策略 |
import route-policy route-policy |
可選 缺省情況下,允許所有VPN Target屬性匹配的路由通過 |
|
對當前VPN實例應用出方向路由策略 |
export route-policy route-policy |
可選 缺省情況下,允許所有VPN Target屬性匹配的路由通過 |
![]()
l 隻有當MCE與PE間運行BGP時,VPN Target屬性才會隨路由發布到PE,否則配置該屬性沒有意義。
l 既可以在VPN實例視圖下,也可以在IPv4 VPN視圖下,配置IPv4 VPN的路由相關屬性。如果同時在兩個視圖下配置了路由相關屬性,則IPv4 VPN采用IPv4 VPN視圖下配置的路由相關屬性。
l 命令vpn-target最多可以配置8個VPN Target;一個VPN實例最多可以配置64個VPN Target。
l 可以配置一個VPN實例可以支持的最大路由數,以防止PE路由器的入接口有過多的路由。
l 為VPN實例配置路由策略之前必須已經創建了路由策略,否則將采用缺省路由策略。
MCE可以看作一種通過路由隔離實現業務隔離的組網方案,配置上,與傳統的CE接入方式相比並沒有特殊之處,但需要使能多VPN實例CE功能。
配置該功能後,路由計算時關閉PE路由上的路由環路檢測功能,防止路由丟失;同時禁止各路由協議互操作功能,節省係統資源。
![]()
本節中以MPLS L3VPN組網環境為例對MCE上的配置進行介紹,在隧道環境中,MCE設備與對端MCE設備(CE設備)之間的路由交換配置與MPLS L3VPN環境中MCE與PE間的路由交換配置相同。
MCE可以通過靜態路由與站點和PE間交換路由信息。傳統CE配置的靜態路由對全局生效,無法解決多VPN間的地址重疊問題。本交換機提供的MCE功能可以將靜態路由與VPN實例相綁定,將各VPN之間的靜態路由進行隔離。
表1-4 配置MCE與靜態路由進行路由交換
|
操作 |
命令 |
說明 |
|
進入係統視圖 |
system-view |
- |
|
為指定VPN實例配置靜態路由 |
ip route-static vpn-instance s-vpn-instance-name&<1-6> dest-address { mask | mask-length } { gateway-address [ public ] | interface-type interface-number [ gateway-address ] | vpn-instance d-vpn-instance-name gateway-address } [ preference preference-value ] [ tag tag-value ] [ description description-text ] |
必選 缺省情況下,靜態路由的優先級preference為60,靜態路由tag值為0,未配置描述信息 一般情況下,使用第一條命令向站點和PE發布某個VPN實例的靜態路由,如果用戶想發布全局的靜態路由信息,可以使用第二條命令 |
|
ip route-static dest-address { mask | mask-length } { gateway-address | interface-type interface-number [ gateway-address ] | vpn-instance d-vpn-instance-name gateway-address } [ preference preference-value ] [ tag tag-value ] [ description description-text ] |
||
|
配置靜態路由的缺省優先級 |
ip route-static default-preference default-preference-value |
可選 缺省情況下,靜態路由的缺省優先級為60 |
一個RIP進程隻能綁定一個VPN實例。如果在啟動RIP進程時不綁定到VPN實例,則該進程屬於公網進程。通過在MCE和站點間配置相同的綁定關係,使不同VPN內的私網路由可以通過不同的RIP進程在站點和MCE間進行交互,保證了私網路由的隔離和安全。
表1-5 配置MCE與RIP進行路由交換
|
操作 |
命令 |
說明 |
|
進入係統視圖 |
system-view |
- |
|
進入RIP視圖,並將RIP進程與VPN實例進行綁定 |
rip [ process-id ] vpn-instance vpn-instance-name |
必選 |
|
分別引入連接PE和站點端其它協議的路由 |
import-route protocol [ process-id ] [ allow-ibgp ] [ cost cost | route-policy route-policy-name | tag tag ] * |
必選 缺省情況下,RIP未引入其它路由 l 如果當前配置的是MCE與站點間的RIP協議,則這裏引入的路由應來自於MCE與PE間傳播該VPN的路由時所使用的路由協議進程 l 如果當前配置的是MCE與PE間的RIP協議,則這裏引入的路由應來自於MCE與站點間傳播該VPN的路由時所使用的路由協議進程 |
|
配置引入路由的缺省度量值 |
default cost value |
可選 缺省情況下,引入路由的缺省度量值為0 |
![]()
配置RIP實例後,需要啟動RIP,具體配置與普通的RIP相同,有關RIP協議的配置,請參見“三層技術-IP路由配置指導”中的“RIP配置”。
一個OSPF進程隻能屬於一個VPN實例。如果在啟動OSPF進程時不綁定到VPN實例,則該進程屬於公網進程。
在MCE與PE之間,除了配置與VPN實例綁定的OSPF進程和Router ID外,還需要手工將MCE中維護的站點內的VPN路由引入到PE的路由表中,或將MCE從PE設備接收的VPN路由引入到站點中。
表1-6 配置MCE使用OSPF進行路由交換
|
操作 |
命令 |
說明 |
|
進入係統視圖 |
system-view |
- |
|
進入OSPF視圖,並將OSPF進程與VPN實例進行綁定 |
ospf [ process-id | router-id router-id | vpn-instance vpn-instance-name ] * |
必選 |
|
開啟OSPF的VPN多實例功能 |
vpn-instance-capability simple |
必選 缺省情況下,沒有開啟OSPF的VPN多實例功能 |
|
配置OSPF域標識符 |
domain-id domain-id [ secondary ] |
可選 缺省情況下,OSPF域標識符為0 該配置在MCE上進行,站點上配置普通OSPF即可 該命令隻需要在與站點交互路由的OSPF進程下配置 |
|
分別引入PE和站點端其它協議的路由 |
import-route protocol [ process-id | allow-ibgp ] [ cost cost | type type | tag tag | route-policy route-policy-name ] * |
必選 缺省情況下,沒有引入其他協議的路由信息 l 如果當前配置的是MCE與站點間的OSPF協議,則這裏引入的路由應來自於MCE與PE間傳播該VPN的路由時所使用的路由協議進程 l 如果當前配置的是MCE與PE間的OSPF協議,則這裏引入的路由應來自於MCE與站點間傳播該VPN的路由時所使用的路由協議進程 |
|
配置對引入的路由進行過濾 |
filter-policy { acl-number | ip-prefix ip-prefix-name } export [ protocol [ process-id ] ] |
可選 缺省情況下,沒有對引入的路由信息進行過濾 |
|
配置引入外部路由時的參數缺省值(開銷、路由數量、標記、類型)(該配置僅連接PE端使用) |
default { cost cost | limit limit | tag tag | type type } * |
可選 缺省情況下,OSPF引入外部路由的度量值為1,單位時間內引入外部路由數量的上限為1000,外部路由標記值為1,引入的外部路由類型為Type2 |
|
配置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 該命令僅在需要修改Domain ID的類型編碼時需要配置 |
![]()
l VPN實例綁定的OSPF進程中不使用係統視圖下配置的公網Router ID,因此用戶需要在啟動進程時手工配置Router ID。同一VPN的所有OSPF進程應配置相同的域ID,以保證路由發布的正確性。
l 一個OSPF進程隻能屬於一個VPN實例,但一個VPN實例可以使用多個OSPF進程為其傳播私網路由。同一VPN實例內的OSPF進程應配置有相同的域ID,以保證路由發布的正確性。
l 配置OSPF實例後,需要啟動OSPF,具體配置與普通的OSPF相同。有關OSPF協議的配置,請參見“三層技術-IP路由配置指導”中的“OSPF配置”。
一個IS-IS進程隻能屬於一個VPN實例。如果在啟動IS-IS進程時不綁定到VPN實例,則該進程屬於公網進程。
表1-7 配置MCE使用IS-IS進行路由交換
|
操作 |
命令 |
說明 |
|
進入係統視圖 |
system-view |
- |
|
進入IS-IS視圖 |
isis [ process-id ] vpn-instance vpn-instance-name |
必選 |
|
分別引入PE和站點端其它協議的路由 |
import-route { isis [ process-id ] | ospf [ process-id ] | rip [ process-id ] | bgp [ allow-ibgp ] | direct | static } [ cost cost | cost-type { external | internal } | [ level-1 | level-1-2 | level-2 ] | route-policy route-policy-name | tag tag ] * |
可選 缺省情況下,IS-IS不引入其它協議的路由信息 如果import-route命令中不指定引入的級別,則默認為引入路由到Level-2路由表中 l 如果當前配置的是MCE與站點間的IS-IS協議,則這裏引入的路由應來自於MCE與PE間傳播該VPN的路由時所使用的路由協議進程 l 如果當前配置的是MCE與PE間的IS-IS協議,則這裏引入的路由應來自於MCE與站點間傳播該VPN的路由時所使用的路由協議進程 |
|
對引入的路由進行過濾(該配置僅連接PE端使用) |
filter-policy { acl-number | ip-prefix ip-prefix-name | route-policy route-policy-name } export [ isis process-id | ospf process-id | rip process-id | bgp | direct | static ] |
可選 缺省情況下,IS-IS不對引入的路由信息進行過濾 |
![]()
配置IS-IS實例後,需要啟動IS-IS,具體配置與普通的IS-IS相同。有關IS-IS協議的配置,請參見“三層技術-IP路由配置指導”中的“IS-IS配置”。
當MCE與PE或站點出口路由器之間使用IBGP交換路由信息時,需要將MCE與PE或站點出口路由器配置為IBGP對等體。
如果MCE與同一VPN中的多個站點相連,則需要將MCE設備與這些站點的出口路由器配置為一個集群,並設置MCE設備為這個集群的路由反射器。
表1-8 配置MCE使用IBGP進行路由交換
|
操作 |
命令 |
說明 |
|
進入係統視圖 |
system-view |
- |
|
進入BGP視圖 |
bgp as-number |
- |
|
進入BGP-VPN實例視圖 |
ipv4-family vpn-instance vpn-instance-name |
必選 |
|
將PE或站點出口路由器配置為VPN私網IBGP對等體 |
peer { group-name | ip-address } as-number as-number |
必選 |
|
將站點出口路由器配置為路由反射器的客戶端 |
peer { group-name | ip-address } reflect-client |
可選 缺省情況下,沒有配置路由反射器及其客戶端 |
|
配置允許客戶端到客戶端的路由反射 |
reflect between-clients |
可選 缺省情況下,允許客戶端到客戶端的路由反射 如果客戶之間是全連接的,則不需要配置路由反射 |
|
配置路由反射器的集群ID |
reflector cluster-id cluster-id |
可選 缺省情況下,每個路由反射器都使用自己的Router ID作為群ID 如果一個群中配置了多個路由反射器,請使用本命令為所有的路由反射器配置相同的群ID,以避免產生路由環路 |
|
配置對發布的路由信息進行過濾 |
filter-policy { acl-number | ip-prefix ip-prefix-name } export [ direct | isis process-id | ospf process-id | rip process-id | static ] |
可選 缺省情況下,不對發布的路由信息進行過濾 |
|
配置對接收的路由信息進行過濾 |
filter-policy { acl-number | ip-prefix ip-prefix-name } import |
可選 缺省情況下,不對接收的路由信息進行過濾 |
![]()
站點出口路由器上需要將MCE設備配置為IBGP對等體,如果站點內部使用的是其它路由協議,將該路由協議的路由信息引入IBGP,配置過程與普通IBGP的配置一致,請參見“三層技術-IP路由配置指導”中的“BGP配置”。
在MCE與PE間使用EBGP交換路由信息時,需要在兩端的BGP-VPN實例中將對端設置為對等體,並在MCE上引入站點內的VPN路由發布到PE上。
在MCE與站點間使用EBGP交換路由信息時,需要在MCE上為每個VPN實例配置BGP對等體,並引入相應VPN內的IGP路由信息。由於各個站點間正常情況下是處在不同的AS內,因此使用EBGP進行路由的傳播。
(1) 配置EBGP引入各站點內的IGP路由
為正確的將私網路由發布到PE,需要MCE首先將與其直連站點內的IGP路由引入到自己的BGP路由表中。
(2) 為每個VPN實例配置對等體組
為準確地與各站點交換路由信息,可以在BGP的IPv4地址族視圖下,為每個VPN實例配置對等體組,並指定對等體組的AS編號。
(3) 通過Filter-policy對路由進行過濾
為正確地將路由信息傳播到站點和PE設備,在指定對等體後,還需要使用Filter-policy對接收/發布的路由進行過濾。
表1-9 配置MCE使用EBGP進行路由交換
|
操作 |
命令 |
說明 |
|
進入係統視圖 |
system-view |
- |
|
進入BGP視圖 |
bgp as-number |
- |
|
進入BGP-VPN實例視圖 |
ipv4-family vpn-instance vpn-instance-name |
必選 |
|
配置對等體組中加入對等體 |
peer { group-name | ip-address } [ as-number as-number ] |
二者必選其一 |
|
配置允許本地AS號在所接收的路由的AS_PATH屬性中出現,並可同時配置允許重複的次數 |
peer { group-name | ip-address } allow-as-loop [ number ] |
|
|
分別引入PE和站點端其它協議的路由 |
import-route protocol [ process-id | all-processes ] [ med med-value | route-policy route-policy-name ] * |
必選 缺省情況下,BGP不引入且不通告其它協議的路由 l 如果當前配置的是MCE與站點間的BGP協議,則這裏引入的路由應來自於MCE與PE間傳播該VPN的路由時所使用的路由協議進程 l 如果當前配置的是MCE與PE間的BGP協議,則這裏引入的路由應來自於MCE與站點間傳播該VPN的路由時所使用的路由協議進程 |
|
配置對發布的路由信息進行過濾 |
filter-policy { acl-number | ip-prefix ip-prefix-name } export [ direct | isis process-id | ospf process-id | rip process-id | static ] |
可選 缺省情況下,不對發布的路由信息進行過濾 |
|
配置對接收的路由信息進行過濾 |
filter-policy { acl-number | ip-prefix ip-prefix-name } import |
可選 缺省情況下,不對接收的路由信息進行過濾 |
![]()
l 通常情況下,BGP通過AS號檢測路由環路。如果在MCE和站點之間運行EBGP,當MCE將路由信息通告給站點時帶上本自治係統的AS號,再從站點接收路由更新時,路由更新消息中會帶有本自治係統的AS號,這樣MCE就不能接收這條路由更新信息,此時需要配置允許路由環路。
l 對於標準的BGP/OSPF互相引用功能,當在MCE設備上配置引入BGP路由到OSPF中時,該路由的原OSPF屬性將無法恢複,造成該路由與從其他域引入的路由無法區分。為了區分原屬於不同OSPF域的路由,需要在遠端PE將OSPF路由引入到BGP時攜帶標識域的屬性,即OSPF的域ID(Domain ID)。OSPF進程的域ID包含在此進程生成的路由中,在將OSPF路由引入BGP中時,域ID被附加到BGP VPN路由上,作為BGP的擴展團體屬性傳遞。
l 配置BGP VPN實例後,VPN實例中的BGP路由交換與普通的BGP相同。有關BGP協議的配置,請參見“三層技術-IP路由配置指導”中的“BGP配置”。
當BGP配置變化後,可以通過軟複位或複位BGP連接使新的配置生效。軟複位需要BGP對等體具備路由刷新能力(支持ROUTE-REFRESH消息)。
請在用戶視圖下進行下列操作。
|
操作 |
命令 |
|
軟複位指定VPN實例的BGP連接 |
refresh bgp vpn-instance vpn-instance-name { ip-address | all | external | group group-name } { export | import } |
|
複位指定VPN實例的BGP連接 |
reset bgp vpn-instance vpn-instance-name { as-number | ip-address | all | external | group group-name } |
在完成上述配置後,在任意視圖下執行display命令可以顯示配置後MPLS L3VPN的運行情況,通過查看顯示信息驗證配置的效果。
在用戶視圖下執行reset命令可以清除路由振蕩衰減信息。
表1-11 顯示MCE的運行狀態
|
操作 |
命令 |
|
顯示與VPN實例相關聯的IP路由表 |
display ip routing-table vpn-instance vpn-instance-name [ verbose ] [ verbose ] [ | { begin | exclude | include } regular-expression ] |
|
顯示指定VPN實例信息 |
display ip vpn-instance [ instance-name vpn-instance-name ] [ | { begin | exclude | include } regular-expression ] |
|
顯示指定VPN實例的FIB信息 |
display fib vpn-instance vpn-instance-name [ acl acl-number | ip-prefix ip-prefix-name ] [ | { begin | exclude | include } regular-expression ] |
|
顯示指定VPN實例中與指定目的IP地址匹配的FIB信息 |
display fib vpn-instance vpn-instance-name ip-address [ mask | mask-length ] [ | { begin | exclude | include } regular-expression ] |
|
顯示BGP VPNv4對等體組信息 |
display bgp vpnv4 vpn-instance vpn-instance-name group [ group-name ] [ | { begin | exclude | include } regular-expression ] |
|
顯示引入的BGP VPNv4路由信息 |
display bgp vpnv4 vpn-instance vpn-instance-name network [ | { begin | exclude | include } regular-expression ] |
|
顯示BGP VPNv4的AS路徑信息 |
display bgp vpnv4 vpn-instance vpn-instance-name paths [ as-regular-expression | { | { begin | exclude | include } regular-expression } ] |
|
顯示BGP VPNv4對等體信息 |
display bgp vpnv4 vpn-instance vpn-instance-name peer [ group-name log-info | ip-address { log-info | verbose } | verbose ] [ | { begin | exclude | include } regular-expression ] |
|
顯示從指定鄰居收到的ORF報文中的前綴信息 |
display bgp vpnv4 all peer [ ip-address verbose | verbose ] [ | { begin | exclude | include } regular-expression ] |
|
顯示指定VPN實例的BGP VPNv4路由信息 |
display bgp vpnv4 vpn-instance vpn-instance-name routing-table [ [ network-address [ { mask | mask-length } [ longer-prefixes ] ] | as-path-acl as-path-acl-number | cidr | community [ aa:nn ]&<1-13> [ no-advertise | no-export | no-export-subconfed ] * [ whole-match ] | community-list { basic-community-list-number [ whole-match ] | adv-community-list-number }&<1-16> | dampened | dampening parameter | different-origin-as | flap-info [ network-address [ { mask | mask-length } [ longer-match ] ] | as-path-acl as-path-acl-number ] | peer ip-address { advertised-routes | received-routes } | statistic ] [ | { begin | exclude | include } regular-expression ] | [ flap-info ] regular-expression as-regular-expression ] |
|
清除指定VPN實例的路由振蕩衰減信息 |
reset bgp vpn-instance vpn-instance-name dampening [ network-address [ mask | mask-length ] |
|
清除指定VPN實例的BGP對等體路由振蕩曆史信息 |
reset bgp vpn-instance vpn-instance-name ip-address flap-info reset bgp vpn-instance vpn-instance-name flap-info [ ip-address [ mask | mask-length ] | as-path-acl as-path-acl-number | regexp as-path-regexp ] |
![]()
有關查看路由表的命令介紹請參見“三層技術-IP路由命令參考”中的“IP路由表顯示”。
l MCE設備通過Vlan-interface10接口(IP地址10.214.10.3)連接到VPN1,地址範圍為192.168.0.0/16,通過Vlan-interface20(IP地址10.214.20.3)接口連接到VPN2,其中VPN2內運行RIP路由協議,地址範圍為192.168.10.0/24。
l MCE設備通過Vlan-interface30和Vlan-interface40與PE連接,IP地址分別為10.214.30.1/30和10.214.40.1/30。
l 要求MCE設備能夠將VPN之間的路由隔離,並通過OSPF將各VPN的路由發布到PE 1。
圖1-6 MCE和PE間使用OSPF引入VPN路由組網示意圖

為區分設備,假設MCE係統名為“MCE”,VPN1和VPN2的出口路由器分別名為“VR1”和“VR2”,PE設備係統名為“PE”。
l VPN實例配置
# 在MCE設備上配置VPN實例,名稱分別為VPN1和VPN2,RD分別取值為10:1和20:1。
<MCE> system-view
[MCE] ip vpn-instance vpn1
[MCE-vpn-instance-vpn1] route-distinguisher 10:1
[MCE-vpn-instance-vpn1] vpn-target 10:1
[MCE-vpn-instance-vpn1] quit
[MCE] ip vpn-instance vpn2
[MCE-vpn-instance-vpn2] route-distinguisher 20:1
[MCE-vpn-instance-vpn2] vpn-target 20:1
# 創建VLAN10,將端口GigabitEthernet 1/0/10加入VLAN10,並創建Vlan-interface10接口。
[MCE-vpn-instance-vpn2] quit
[MCE] vlan 10
[MCE-vlan10] port GigabitEthernet 1/0/10
[MCE-vlan10] quit
[MCE] interface Vlan-interface 10
# 配置Vlan-interface10接口與VPN1實例進行綁定,並配置IP地址為10.214.10.3,掩碼為24位。
[MCE-Vlan-interface10] ip binding vpn-instance vpn1
[MCE-Vlan-interface10] ip address 10.214.10.3 24
# 使用類似步驟配置VLAN20,將端口GigabitEthernet 1/0/20加入VLAN20,配置接口與VPN2實例綁定並配置IP地址。
[MCE-Vlan-interface10] quit
[MCE] vlan 20
[MCE-vlan20] port GigabitEthernet 1/0/20
[MCE-vlan20] quit
[MCE] interface Vlan-interface 20
[MCE-Vlan-interface20] ip binding vpn-instance vpn2
[MCE-Vlan-interface20] ip address 10.214.20.3 24
[MCE-Vlan-interface20] quit
# 創建VLAN30和VLAN40,並創建相應的VLAN接口,配置IP地址,將VLAN30與VPN1綁定,VLAN40與VPN2綁定。
[MCE] vlan 30
[MCE-vlan30] quit
[MCE] interface Vlan-interface 30
[MCE-Vlan-interface30] ip binding vpn-instance vpn1
[MCE-Vlan-interface30] ip address 10.214.30.1 30
[MCE-Vlan-interface30] quit
[MCE] vlan 40
[MCE-vlan40] quit
[MCE] interface Vlan-interface 40
[MCE-Vlan-interface40] ip binding vpn-instance vpn2
[MCE-Vlan-interface40] ip address 10.214.40.1 30
[MCE-Vlan-interface40] quit
l MCE與站點間路由配置
MCE與VPN1直接相連,且VPN1內未使用路由協議,因此可以使用靜態路由進行配置。
# VR1設備的配置。配置與MCE連接的接口地址為10.214.10.2/24,連接VPN1接口的地址為192.168.0.1/24。向VLAN中增加端口和配置接口IP地址的配置這裏省略。
# 在VR1上配置缺省路由,指定出方向報文的下一跳地址為10.214.10.3。
<VR1> system-view
[VR1] ip route-static 0.0.0.0 0.0.0.0 10.214.10.3
# 在MCE上指定靜態路由,去往192.168.0.0網段的報文,下一跳地址為10.214.10.2,並將此路由與VPN1實例綁定。
[MCE-Vlan-interface20] quit
[MCE] ip route-static vpn-instance vpn1 192.168.0.0 16 10.214.10.2
# 顯示MCE上為VPN1實例維護的路由信息。
[MCE] display ip routing-table vpn-instance vpn1
Routing Tables: vpn1
Destinations : 5 Routes : 5
Destination/Mask Proto Pre Cost NextHop Interface
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
10.214.10.0/24 Direct 0 0 10.214.10.3 Vlan10
10.214.10.3/32 Direct 0 0 127.0.0.1 InLoop0
10.214.30.0/24 Direct 0 0 10.214.30.1 Vlan10
10.214.30.1/32 Direct 0 0 127.0.0.1 InLoop0
192.168.0.0/16 Static 60 0 10.214.10.2 Vlan10
可以看到,已經在MCE上為VPN1指定了靜態路由。
# 在VR2上,配置與MCE連接的接口地址為10.214.20.2/24(配置過程略),配置RIP,將網段192.168.10.0和10.214.20.0發布。
<VR2> system-view
[VR2] rip 20
[VR2-rip-20] network 192.168.10.0
[VR2-rip-20] network 10.0.0.0
# VPN2內已經運行了RIP,可以在MCE上配置RIP路由協議,加入到站點內的路由運算中,自動更新路由信息。配置RIP進程為20,關閉路由自動聚合功能,引入OSPF(進程號20)的路由信息,並與VPN2實例進行綁定。
[MCE] rip 20 vpn-instance vpn2
# 將網段10.214.20.0發布。
[MCE-rip-20] network 10.0.0.0
[MCE-rip-20] undo summary
[MCE-rip-20] import-route ospf
# 在MCE上查看VPN2實例的路由信息。
[MCE-rip-20] display ip routing-table vpn-instance vpn2
Routing Tables: vpn2
Destinations : 5 Routes : 5
Destination/Mask Proto Pre Cost NextHop Interface
10.214.20.0/24 Direct 0 0 10.214.20.3 Vlan20
10.214.20.3/32 Direct 0 0 127.0.0.1 InLoop0
10.214.40.0/30 Direct 0 0 10.214.40.1 Vlan40
10.214.40.1/32 Direct 0 0 127.0.0.1 InLoop0
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
192.168.10.0/24 RIP 100 1 10.214.20.2 Vlan20
可以看到,MCE已經通過RIP學習到了VPN2內的私網路由,並與VPN1內的192.168.0.0路由信息分別維護在兩個路由表內,有效進行了隔離。
l MCE與PE間路由配置
# MCE使用GigabitEthernet1/0/3端口連接到PE設備的GigabitEthernet1/0/18端口,需要配置這兩個端口為Trunk端口,並允許VLAN30和VLAN40的報文攜帶Tag通過。
[MCE-rip-20] quit
[MCE] interface GigabitEthernet 1/0/3
[MCE-GigabitEthernet1/0/3] port link-type trunk
[MCE-GigabitEthernet1/0/3] port trunk permit vlan 30 40
# 配置PE的GigabitEthernet1/0/18端口。
<PE> system-view
[PE] interface GigabitEthernet 1/0/18
[PE-GigabitEthernet1/0/18] port link-type trunk
[PE-GigabitEthernet1/0/18] port trunk permit vlan 30 40
# 配置PE的Vlan-interface30和Vlan-interface40接口的IP地址分別為10.214.30.2和10.214.40.2,並將這兩個接口分別與VPN1實例和VPN2實例進行綁定,配置步驟這裏省略。
# 配置MCE和PE的Loopback0接口,用於指定MCE和PE的Router ID,地址分別為101.101.10.1和100.100.10.1。配置步驟這裏省略。
# 配置MCE啟動OSPF進程10,配置綁定到VPN1實例,域ID設置為10,並開啟OSPF多實例功能。
[MCE] ospf 10 router-id 101.101.10.1 vpn-instance vpn1
[MCE-ospf-10] domain 10
[MCE-ospf-10] vpn-instance-capability simple
# 在Area0區域發布10.214.30.0網段,並引入VPN1的靜態路由。
[MCE-ospf-10] area 0
[MCE-ospf-10-area-0.0.0.0] network 10.214.30.0 0.0.0.255
[MCE-ospf-10-area-0.0.0.0] quit
[MCE-ospf-10] import-route static
# 配置PE啟動OSPF進程10,綁定到VPN1實例,域ID為10,開啟OSPF多實例功能,並在Area0區域發布10.214.30.0網段。
[PE-GigabitEthernet1/0/18] quit
[PE] ospf 10 router-id 100.100.10.1 vpn-instance vpn1
[PE-ospf-10] domain-id 10
[PE-ospf-10] vpn-instance-capability simple
[PE-ospf-10] area 0
[PE-ospf-10-area-0.0.0.0] network 10.214.30.0 0.0.0.255
# 顯示PE上的VPN1路由信息。
[PE-ospf-10-area-0.0.0.0] display ip routing-table vpn-instance vpn1
Routing Tables: vpn1
Destinations : 6 Routes : 6
Destination/Mask Proto Pre Cost NextHop Interface
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
10.214.30.0/24 Direct 0 0 10.214.30.1 Vlan30
10.214.30.2/32 Direct 0 0 127.0.0.1 InLoop0
100.100.10.1/32 Direct 0 0 127.0.0.1 InLoop0
192.168.0.0/16 O_ASE 150 1 10.214.30.1 Vlan30
可以看到,VPN1內的靜態路由已經引入到MCE與PE間的OSPF路由表中。
MCE與PE間配置OSPF進程20,導入VPN2實例的路由信息的過程與上麵介紹的配置基本一致,不同的是在MCE的OSPF中配置導入的是RIP路由,這裏不再贅述,隻以顯示信息為例表示導入成功後的結果。
<PE> display ip routing-table vpn-instance vpn2
display ip routing-table vpn-instance vpn2
Routing Tables: vpn2
Destinations : 6 Routes : 6
Destination/Mask Proto Pre Cost NextHop Interface
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
10.214.40.0/24 Direct 0 0 10.214.40.1 Vlan40
10.214.40.2/32 Direct 0 0 127.0.0.1 InLoop0
200.200.20.1/32 Direct 0 0 127.0.0.1 InLoop0
192.168.10.0/24 O_ASE 150 1 10.214.40.1 Vlan40
至此,通過配置,已經將兩個VPN實例內的路由信息完整地傳播到PE中,配置完成。
l 使用本係列產品作為MCE設備,將站點1和站點2內的VPN路由發布到PE 1,使MPLS骨幹網絡兩端的VPN能夠正常通信。
l 站點1和站點2內部均使用OSPF協議,MCE與PE間使用EBGP協議。
圖1-7 MCE和PE間使用BGP引入VPN路由組網示意圖

l VPN實例配置
# 在MCE設備上配置VPN實例,名稱分別為VPN1和VPN2,RD分別取值為10:1和20:1,VPN Target取值與RD取相同數值,Export和Import均取此值。
<MCE> system-view
[MCE] ip vpn-instance vpn1
[MCE-vpn-instance-vpn1] route-distinguisher 10:1
[MCE-vpn-instance-vpn1] vpn-target 10:1 both
[MCE-vpn-instance-vpn1] quit
[MCE] ip vpn-instance vpn2
[MCE-vpn-instance-vpn2] route-distinguisher 20:1
[MCE-vpn-instance-vpn2] vpn-target 20:1 both
# 創建VLAN2,將端口gigabitethernet 1/0/10加入VLAN2,並創建Vlan-interface2接口。
[MCE-vpn-instance-vpn2] quit
[MCE] vlan 2
[MCE-vlan2] port gigabitethernet 1/0/10
[MCE-vlan2] quit
[MCE] interface Vlan-interface 2
# 配置Vlan-interface2接口與VPN1實例進行綁定,並配置IP地址為10.214.10.3,掩碼為24位。
[MCE-Vlan-interface2] ip binding vpn-instance vpn1
[MCE-Vlan-interface2] ip address 10.214.10.3 24
# 使用類似步驟配置VLAN3,將端口Gigabitethernet1/0/20加入VLAN3,配置Vlan-interface3接口與VPN2實例綁定並配置IP地址為10.214.20.3,掩碼為24位。
[MCE-Vlan-interface2] quit
[MCE] vlan 3
[MCE-vlan3] port Gigabitethernet 1/0/20
[MCE-vlan3] quit
[MCE] interface Vlan-interface 3
[MCE-Vlan-interface3] ip binding vpn-instance vpn2
[MCE-Vlan-interface3] ip address 10.214.20.3 24
[MCE-Vlan-interface3] quit
# 創建VLAN30和VLAN40,並創建相應的VLAN接口,配置IP地址,將VLAN30與VPN1綁定,VLAN40與VPN2綁定。
[MCE] vlan 30
[MCE-vlan30] quit
[MCE] interface Vlan-interface 30
[MCE-Vlan-interface30] ip binding vpn-instance vpn1
[MCE-Vlan-interface30] ip address 10.214.30.1 30
[MCE-Vlan-interface30] quit
[MCE] vlan 40
[MCE-vlan40] quit
[MCE] interface Vlan-interface 40
[MCE-Vlan-interface40] ip binding vpn-instance vpn2
[MCE-Vlan-interface40] ip address 10.214.40.1 30
[MCE-Vlan-interface40] quit
l MCE與站點間路由配置
# 配置兩個VPN實例內的設備啟動OSPF進程,將各網段分別發布,操作與普通OSPF配置相同,這裏不再贅述。
# 配置MCE的OSPF的進程10與VPN1實例綁定,Router ID為1.1.1.1,引入VPN1中的BGP路由信息,開啟OSPF多實例功能,並發布10.100.10.0網段。
<MCE> system-view
[MCE] ospf 10 router-id 1.1.1.1 vpn-instance vpn1
[MCE-ospf-10] vpn-instance capability simple
[MCE-ospf-10] import-route bgp
[MCE-ospf-10] area 0
[MCE-ospf-10-area-0.0.0.0] network 10.100.10.0 0.0.0.255
# 顯示VPN1的路由信息。
[MCE-ospf-10-area-0.0.0.0] display ip routing-table vpn-instance vpn1
Routing Tables: vpn1
Destinations : 5 Routes : 5
Destination/Mask Proto Pre Cost NextHop Interface
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
10.100.10.0/24 Direct 0 0 10.100.10.1 Vlan2
10.100.10.1/32 Direct 0 0 127.0.0.1 InLoop0
172.16.10.0/24 OSPF 10 1 10.100.10.2 Vlan2
可以看到,MCE已經通過OSPF進程10學習到了VPN1實例內的路由。
# 配置MCE的OSPF的進程20與VPN2實例綁定,Router ID為2.2.2.2,引入VPN2中的BGP路由信息,開啟OSPF多實例功能,並發布10.100.20.0網段,配置與上麵配置OSPF進程10類似。這裏直接顯示配置結果。
[MCE] display ip routing-table vpn-instance vpn2
Routing Tables: vpn2
Destinations : 5 Routes : 5
Destination/Mask Proto Pre Cost NextHop Interface
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
10.100.20.0/24 Direct 0 0 10.100.20.1 Vlan3
10.100.20.1/32 Direct 0 0 127.0.0.1 InLoop0
172.16.20.0/24 OSPF 10 1 10.100.20.2 Vlan3
l MCE與PE1間路由配置
# 配置MCE與PE1間通過Trunk端口進行連接,配置與1.5.1 MCE和PE間使用OSPF引入VPN路由中的配置類似,這裏不再贅述。
# 配置MCE啟動BGP進程100。
[MCE] bgp 100
[MCE-bgp]
# 進入VPN1實例的IPv4地址族視圖。
[MCE-bgp] ipv4-family vpn-instance vpn1
[MCE-bgp-vpn1]
# 指定PE1(假設與VPN1綁定的接口地址為10.100.30.3,BGP進程為200)為EBGP對等體,並引入OSPF進程10的路由信息。
[MCE-bgp-vpn1] peer 10.100.30.3 as-number 200
[MCE-BGP-vpn1] import-route ospf 10
# 在PE1上配置BGP200,並指定MCE為EBGP對等體。
<PE1> system-view
[PE1] bgp 200
[PE1-bgp] ipv4-family vpn-instance vpn1
[PE1-bgp-vpn1] peer 10.100.30.1 as-number 100
# 顯示PE1端VPN1實例的路由信息。
[PE1-bgp-vpn1] display ip routing-table vpn-instance vpn1
Routing Tables: vpn1
Destinations : 5 Routes : 5
Destination/Mask Proto Pre Cost NextHop Interface
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
10.100.30.0/24 Direct 0 0 10.100.10.3 Vlan2
10.100.30.3/32 Direct 0 0 127.0.0.1 InLoop0
172.16.10.0/24 BGP 255 2 10.100.10.2 Vlan2
# 對VPN2實例,在MCE和PE1上進行類似的配置,將VPN2實例的OSPF路由信息引入到EBGP路由中。這裏不再敘述配置過程,直接顯示配置結果。
<PE1> display ip routing-table vpn-instance vpn2
Routing Tables: vpn2
Destinations : 5 Routes : 5
Destination/Mask Proto Pre Cost NextHop Interface
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
10.100.40.0/24 Direct 0 0 10.100.20.3 Vlan3
10.100.40.3/32 Direct 0 0 127.0.0.1 InLoop0
172.16.20.0/24 BGP 255 2 10.100.20.2 Vlan3
至此,MCE設備已經將兩個VPN實例內的OSPF路由全部引入PE1的EBGP路由表中,配置完成。
如圖1-8所示,MCE1和MCE2設備通過GRE隧道進行通信,並分別連接到VPN1和VPN2的站點。其中VPN1的站點全部使用OSPF作為路由協議,且均隻存在骨幹區域,即區域0。而VPN2的站點分別使用RIP和OSPF,其中OSPF部分僅存在骨幹區域。現要求MCE1和MCE2設備能夠通過隧道將兩個VPN網絡中的路由信息進行準確發布。
圖1-8 在隧道組網中使用MCE功能發布VPN路由組網示意圖

由於已經為每個VPN網絡單獨配置了一條GRE隧道,用於傳輸該VPN網絡中的數據和路由信息,因此可以通過創建VPN實例並將特定的接口與VPN實例進行綁定,使原有網絡簡化為兩個獨立的拓撲結構(如圖1-9和圖1-10所示),從而使MCE設備可以將每個VPN網絡的路由通過獨立路徑進行發布。
圖1-9 VPN1的站點與MCE設備的網絡拓撲示意圖

圖1-10 VPN2的站點與MCE設備的網絡拓撲示意圖

根據以上描述,本例中需要在MCE設備上為每個VPN網絡創建VPN實例,並將MCE與VPN站點相連的接口和隧道接口與VPN實例進行綁定。對於VPN1網絡,可以將兩個MCE設備上的接口全部加入到站點的OSPF計算中,將整個網絡作為一個OSPF域進行維護;對於VPN2網絡,則還需要在MCE1上進行OSPF和RIP的相互引用配置。
(1) 配置隧道
l 配置MCE1
# 創建VLAN100和VLAN101,並將端口GigabitEthernet1/0/15配置為Trunk類型,加入這兩個VLAN。
<MCE1> system-view
[MCE1] vlan 100 to 101
[MCE1] interface Gigabitethernet 1/0/15
[MCE1-GigabitEthernet1/0/15] port link-type trunk
[MCE1-GigabitEthernet1/0/15] port trunk permit vlan 100 101
[MCE1-GigabitEthernet1/0/15] quit
# 創建VLAN接口,並配置相應的IP地址。
[MCE1] interface vlan-interface 100
[MCE1-Vlan-interface100] ip address 192.168.1.1 255.255.255.0
[MCE1-Vlan-interface100] quit
[MCE1] interface vlan-interface 101
[MCE1-Vlan-interface101] ip address 192.168.2.1 255.255.255.0
[MCE1-Vlan-interface101] quit
# 創建Tunnel0接口。
[MCE1] interface tunnel 0
# 配置Tunnel0接口的IP地址。
[MCE1-Tunnel0] ip address 10.1.1.1 255.255.255.0
# 配置Tunnel封裝模式。
[MCE1-Tunnel0] tunnel-protocol gre
# 配置Tunnel0接口的源地址。
[MCE1-Tunnel0] source vlan-interface 100
# 配置Tunnel0接口的目的地址。
[MCE1-Tunnel0] destination 172.16.1.1
[MCE1-Tunnel0] quit
# 創建並配置業務環回組1,服務類型為tunnel。
[MCE1] service-loopback group 1 type tunnel
# 將任意未使用端口(此處以GigabitEthernet1/0/3為例)加入業務環回組1。
[MCE1] interface Gigabitethernet 1/0/3
[MCE1-GigabitEthernet1/0/3] undo stp enable
[MCE1-GigabitEthernet1/0/3] port service-loopback group 1
# 在Tunnel接口視圖下指定隧道引用的業務環回組1。
[MCE1-GigabitEthernet1/0/3] quit
[MCE1] interface tunnel 0
[MCE1-Tunnel0] service-loopback-group 1
[MCE1-Tunnel0] quit
# 創建Tunnel1接口。
[MCE1] interface tunnel 1
# 配置Tunnel1接口的IP地址。
[MCE1-Tunnel1] ip address 10.1.2.1 255.255.255.0
# 配置Tunnel封裝模式。
[MCE1-Tunnel1] tunnel-protocol gre
# 配置Tunnel1接口的源地址。
[MCE1-Tunnel1] source vlan-interface 101
# 配置Tunnel1接口的目的地址。
[MCE1-Tunnel1] destination 172.16.2.1
# 在Tunnel接口視圖下指定隧道引用的業務環回組1。
[MCE1-Tunnel1] service-loopback-group 1
[MCE1-Tunnel1] quit
l 配置MCE2
# 創建VLAN100和VLAN101,並將端口GigabitEthernet1/0/25配置為Trunk類型,加入這兩個VLAN。
<MCE2> system-view
[MCE2] vlan 100 to 101
[MCE2] interface gigabitethernet 1/0/25
[MCE2-GigabitEthernet1/0/25] port link-type trunk
[MCE2-GigabitEthernet1/0/25] port trunk permit vlan 100 101
[MCE2-GigabitEthernet1/0/25] quit
# 創建VLAN接口,並配置相應的IP地址。
[MCE2] interfacevlan-interface 100
[MCE2-Vlan-interface100] ip address 172.16.1.1 255.255.255.0
[MCE2-Vlan-interface100] quit
[MCE2] interface vlan-interface 101
[MCE2-Vlan-interface101] ip address 172.16.2.1 255.255.255.0
[MCE2-Vlan-interface101] quit
# 創建Tunnel0接口。
[MCE2] interface tunnel 0
# 配置Tunnel0接口的IP地址。
[MCE2-Tunnel0] ip address 10.1.1.2 255.255.255.0
# 配置Tunnel封裝模式。
[MCE2-Tunnel0] tunnel-protocol gre
# 配置Tunnel0接口的源地址。
[MCE2-Tunnel0] source vlan-interface 100
# 配置Tunnel0接口的目的地址。
[MCE2-Tunnel0] destination 192.168.1.1
[MCE2-Tunnel0] quit
# 創建並配置業務環回組1,服務類型為tunnel。
[MCE2] service-loopback group 1 type tunnel
# 將任意未使用端口(此處以GigabitEthernet1/0/3為例)加入業務環回組1。
[MCE2] interface gigabitethernet 1/0/3
[MCE2-GigabitEthernet1/0/3] undo stp enable
[MCE2-GigabitEthernet1/0/3] port service-loopback group 1
# 在Tunnel接口視圖下指定隧道引用的業務環回組1。
[MCE2-GigabitEthernet1/0/3] quit
[MCE2] interface tunnel 0
[MCE2-Tunnel0] service-loopback-group 1
[MCE2-Tunnel0] quit
# 創建Tunnel1接口。
[MCE2] interface tunnel 1
# 配置Tunnel1接口的IP地址。
[MCE2-Tunnel1] ip address 10.1.2.2 255.255.255.0
# 配置Tunnel封裝模式。
[MCE2-Tunnel1] tunnel-protocol gre
# 配置Tunnel1接口的源地址。
[MCE2-Tunnel1] source vlan-interface 101
# 配置Tunnel1接口的目的地址。
[MCE2-Tunnel1] destination 192.168.2.1
# 在Tunnel接口視圖下指定隧道引用的業務環回組1。
[MCE2-Tunnel1] service-loopback-group 1
(2) 配置VPN實例
l MCE1設備的配置
# 為VPN1網絡創建VPN實例,命名為“vpn1”,並配置RD屬性。
<MCE1> system-view
[MCE1] ip vpn-instance vpn1
[MCE1-vpn-instance-vpn1] route-distinguisher 1:2
[MCE1-vpn-instance-vpn1] vpn-target 1:2
[MCE1-vpn-instance-vpn1] quit
# 為VPN2網絡創建VPN實例,命名為“vpn2”,並配置RD屬性。
[MCE1] ip vpn-instance vpn2
[MCE1-vpn-instance-vpn2] route-distinguisher 1:3
[MCE1-vpn-instance-vpn2] vpn-target 1:3
[MCE1-vpn-instance-vpn2] quit
# 配置Vlan-interface 10接口和Tunnel 0接口與VPN實例“vpn1”進行綁定,並配置IP地址。
[MCE1] vlan 10
[MCE1-vlan10] port gigabitethernet 1/0/10
[MCE1-vlan10] quit
[MCE1] interface vlan-interface 10
[MCE1-Vlan-interface10] ip binding vpn-instance vpn1
[MCE1-Vlan-interface10] ip address 10.214.10.1 24
[MCE1-Vlan-interface10] quit
[MCE1] interface tunnel 0
[MCE1-Tunnel0] ip binding vpn-instance vpn1
[MCE1-Tunnel0] ip address 10.1.1.1 24
# 配置Vlan-interface 11接口和Tunnel 1接口與VPN實例“vpn2”進行綁定,並配置IP地址。
[MCE1] vlan 11
[MCE1-vlan11] port gigabitethernet 1/0/11
[MCE1-vlan11] quit
[MCE1] interface vlan-interface 11
[MCE1-Vlan-interface11] ip binding vpn-instance vpn2
[MCE1-Vlan-interface11] ip address 10.214.20.1 24
[MCE1-Vlan-interface11] quit
[MCE1] interface tunnel 1
[MCE1-Tunnel1] ip binding vpn-instance vpn2
[MCE1-Tunnel1] ip address 10.1.2.1 24
[MCE1-Tunnel1] quit
l MCE2設備的配置
# 為VPN1網絡創建VPN實例,命名為“vpn1”,並配置RD屬性(與MCE1設備保持一致)。
<MCE2> system-view
[MCE2] ip vpn-instance vpn1
[MCE2-vpn-instance-vpn1] route-distinguisher 1:2
[MCE2-vpn-instance-vpn1] vpn-target 1:2
[MCE2-vpn-instance-vpn1] quit
# 為VPN2網絡創建VPN實例,命名為“vpn2”,並配置RD屬性(與MCE1設備保持一致)。
[MCE2] ip vpn-instance vpn2
[MCE2-vpn-instance-vpn2] route-distinguisher 1:3
[MCE2-vpn-instance-vpn2] vpn-target 1:3
[MCE2-vpn-instance-vpn2] quit
# 配置Vlan-interface 20接口和Tunnel 0接口與VPN實例“vpn1”進行綁定,並配置IP地址。
[MCE2] vlan 20
[MCE2-vlan20] port gigabitethernet 1/0/20
[MCE2-vlan20] quit
[MCE2] interface vlan-interface 20
[MCE2-Vlan-interface20] ip binding vpn-instance vpn1
[MCE2-Vlan-interface20] ip address 10.214.30.1 24
[MCE2-Vlan-interface20] quit
[MCE2] interface tunnel 0
[MCE2-Tunnel0] ip binding vpn-instance vpn1
[MCE2-Tunnel0] ip address 10.1.1.2 24
# 配置Vlan-interface 21接口和Tunnel 1接口與VPN實例“vpn2”進行綁定,並配置IP地址。
[MCE2] vlan 21
[MCE2-vlan21] port gigabitethernet 1/0/21
[MCE2-vlan21] quit
[MCE2] interface vlan-interface 21
[MCE2-Vlan-interface21] ip binding vpn-instance vpn2
[MCE2-Vlan-interface21] ip address 10.214.40.1 24
[MCE2-Vlan-interface21] quit
[MCE2] interface tunnel 1
[MCE2-Tunnel1] ip binding vpn-instance vpn2
[MCE2-Tunnel1] ip address 10.1.2.2 24
[MCE2-Tunnel1] quit
(3) 配置路由協議
l 發布VPN1網絡的路由
# 在MCE1設備上配置OSPF路由協議並與VPN實例“vpn1”進行綁定,開啟OSPF支持MCE功能。需要注意的是,下麵配置中的OSPF區域要與站點內的OSPF配置保持一致,此處以區域0為例進行配置。
[MCE1] ospf 1 vpn-instance vpn1 router-id 192.168.1.1
[MCE1-ospf-1] vpn-instance-capability simple
[MCE1-ospf-1] area 0
[MCE1-ospf-1-area-0.0.0.0]
# 將MCE1設備的Vlan-interface10和Tunnel 0接口的地址進行發布。
[MCE1-ospf-1-area-0.0.0.0] network 10.214.10.1 0.0.0.255
[MCE1-ospf-1-area-0.0.0.0] network 10.1.1.1 0.0.0.255
# 在MCE2設備上配置OSPF路由協議並與VPN實例“vpn1”進行綁定,開啟OSPF支持MCE功能。
[MCE2] ospf 1 vpn-instance vpn1 router-id 172.16.1.1
[MCE2-ospf-1] vpn-instance-capability simple
[MCE2-ospf-1] area 0
[MCE2-ospf-1-area-0.0.0.0]
# 將MCE2設備的Vlan-interface20和Tunnel 0接口的地址進行發布。
[MCE2-ospf-1-area-0.0.0.0] network 10.214.30.1 0.0.0.255
[MCE2-ospf-1-area-0.0.0.0] network 10.1.1.2 0.0.0.255
l 發布VPN2網絡的路由
# 在MCE1設備上配置OSPF路由協議並與VPN實例“vpn2”進行綁定,開啟OSPF支持MCE功能。需要注意的是,下麵配置中的OSPF區域要與站點2內的OSPF配置保持一致,此處以區域0為例進行配置。
[MCE1] ospf 2 vpn-instance vpn2 router-id 192.168.2.1
[MCE1-ospf-2] vpn-instance-capability simple
[MCE1-ospf-2] area 0
[MCE1-ospf-2-area-0.0.0.0]
# 將MCE1設備Tunnel 1接口的地址進行發布,使其參與OSPF域中的路由計算。
[MCE1-ospf-2-area-0.0.0.0] network 10.1.2.1 0.0.0.255
# 在MCE1設備上配置RIP路由協議並與VPN實例“vpn2”進行綁定,此處以RIP進程號1為例進行配置。
[MCE1] rip 1 vpn-instance vpn2
[MCE1-rip-1]
# 將MCE1設備Vlan-interface11接口的地址進行發布,使其參與站點1的RIP計算。
[MCE1-rip-1] network 10.214.20.1
# 在當前RIP進程中引入OSPF進程2學到的路由信息。
[MCE1-rip-1] import-route ospf 2
[MCE1-rip-1] quit
# 在OSPF進程2中引入RIP進程1學到的路由信息。
[MCE1] ospf 2
[MCE1-ospf-2] import-route rip 1
# 在MCE2設備上配置OSPF路由協議並與VPN實例“vpn2”進行綁定,開啟OSPF支持MCE功能。需要注意的是,下麵配置中的OSPF區域要與站點2內的OSPF配置保持一致,此處以區域0為例進行配置。
[MCE2] ospf 2 vpn-instance vpn2 router-id 172.16.2.1
[MCE2-ospf-2] vpn-instance-capability simple
[MCE2-ospf-2] area 0
[MCE2-ospf-2-area-0.0.0.0]
# 將MCE2設備的Vlan-interface21和Tunnel 1接口的地址進行發布。
[MCE2-ospf-2-area-0.0.0.0] network 10.214.40.1 0.0.0.255
[MCE2-ospf-2-area-0.0.0.0] network 10.1.2.2 0.0.0.255
在MPLS L3VPN組網環境中,MCE利用靜態或動態路由協議在內網和PE之間發布IPv4路由,並交互IPv4報文。
在IPv6 MPLS L3VPN組網環境中,IPv6 MCE在內網和PE之間發布IPv6路由,並交互IPv6報文。IPv6 MCE的工作原理與MCE相同,詳細內容請參見1.1.4 MCE工作原理。
VPN實例不僅可以隔離VPN私網路由與公網路由,還可以隔離不同VPN實例的路由,這一特點使得VPN實例的使用不限於MPLS L3VPN。
VPN實例在實現中與Site關聯。VPN實例不是直接對應於VPN,一個VPN實例綜合了和它所對應Site的VPN成員關係和路由規則。
一個VPN實例隻有配置了RD後才生效。
描述信息用於描述VPN實例,可以用來記錄VPN實例與某個VPN的關係等信息。
表2-1 創建VPN實例
|
操作 |
命令 |
說明 |
|
進入係統視圖 |
system-view |
- |
|
創建VPN實例,並進入VPN實例視圖 |
ip vpn-instance vpn-instance-name |
必選 |
|
配置VPN實例的RD |
route-distinguisher route-distinguisher |
必選 |
|
配置VPN實例的描述信息 |
description text |
可選 |
VPN實例配置完成後,還需要與連接CE的接口進行關聯。支持MPLS LDP能力的接口類型都可以與VPN實例相關聯。具體接口類型請參見“MPLS配置指導”中的“MPLS基本配置”。
表2-2 配置VPN實例與接口關聯
|
操作 |
命令 |
說明 |
|
進入係統視圖 |
system-view |
- |
|
進入要關聯接口的接口視圖 |
interface interface-type interface-number |
- |
|
將當前接口與VPN實例關聯 |
ip binding vpn-instance vpn-instance-name |
必選 缺省情況下,接口不關聯任何VPN實例 |
![]()
執行ip binding vpn-instance命令將刪除接口上已經配置的IPv6地址,因此需要重新配置接口的IPv6地址。
VPN路由的發布控製過程如下:
l 當從CE學習到的一條VPN路由引入BGP時,BGP為它關聯一個VPN Target擴展團體屬性列表,通常這個列表是與CE相關聯的VPN實例的輸出路由屬性列表。
l VPN實例根據VPN Target中import-extcommunity確定可被接受並引入此VPN實例的路由。
l VPN實例根據VPN Target中的export-extcommunity對向外發布的路由進行VPN Target屬性的修改。
表2-3 配置VPN實例的路由相關屬性
|
操作 |
命令 |
說明 |
|
進入係統視圖 |
system-view |
- |
|
進入VPN實例視圖 |
ip vpn-instance vpn-instance-name |
- |
|
進入IPv6 VPN視圖 |
ipv6-family |
可選 |
|
配置VPN Target |
vpn-target vpn-target&<1-8> [ both | export-extcommunity | import-extcommunity ] |
必選 |
|
配置支持的最大路由數 |
routing-table limit number { warn-threshold | simply-alert } |
可選 |
|
應用入方向路由策略 |
import route-policy route-policy |
可選 缺省情況下,接收所有VPN Target屬性匹配的路由 |
|
應用出方向路由策略 |
export route-policy route-policy |
可選 缺省情況下,不對發布的路由進行過濾 |
![]()
l VPN實例視圖下配置的路由相關屬性既可以用於IPv4 VPN,也可以用於IPv6 VPN。
l 既可以在VPN實例視圖下,也可以在IPv6 VPN視圖下,配置IPv6 VPN的路由相關屬性。如果同時在兩個視圖下配置了路由相關屬性,則IPv6 VPN采用IPv6 VPN視圖下配置的路由相關屬性。
l 命令vpn-target最多可以配置8個VPN Target;一個VPN實例最多可以配置64個VPN Target。
l 可以配置一個VPN實例支持的最大路由數,以防止PE路由器的入接口有過多的路由。一個PE路由器最多可以支持的路由條數與具體產品有關。
l 為VPN實例配置路由策略之前必須已經創建了路由策略,否則無法對接收和發布的路由進行過濾。
VPN實例配置完成後,隻需要在MCE與PE之間將接口與IPv6 VPN實例進行綁定、進行簡單的路由配置、並將MCE上維護的內網的IPv6 VPN路由引入到MCE-PE間的路由協議中,便可以實現私網VPN路由信息的傳播。
![]()
本節中的配置均在MCE上進行,PE上的配置與基本IPv6 MPLS L3VPN組網中PE上的配置相同,詳細介紹請參見“MPLS L3VPN”。
表2-4 配置MCE與PE之間使用靜態路由
|
操作 |
命令 |
說明 |
|
進入係統視圖 |
system-view |
- |
|
為指定VPN實例配置靜態路由 |
ipv6 route-static ipv6-address prefix-length { interface-type interface-number [ next-hop-address ] | next-hop-address | vpn-instance d-vpn-instance-name nexthop-address } [ preference preference-value ] |
二者必選其一 |
|
ipv6 route-static vpn-instance s-vpn-instance-name&<1-6> ipv6-address prefix-length { interface-type interface-number [ next-hop-address ] | nexthop-address [ public ] | vpn-instance d-vpn-instance-name nexthop-address } [ preference preference-value ] |
||
|
配置靜態路由的缺省優先級 |
ipv6 route-static default-preference default-preference-value |
可選 缺省情況下,靜態路由的缺省優先級為60 |
表2-5 配置MCE與PE之間使用RIPng
|
操作 |
命令 |
說明 |
|
進入係統視圖 |
system-view |
- |
|
創建MCE與PE間的RIPng實例,並進入RIPng視圖 |
ripng [ process-id ] vpn-instance vpn-instance-name |
必選 |
|
引入站點內的VPN路由 |
import-route protocol [ process-id ] [ allow-ibgp ] [ cost cost | route-policy route-policy-name ] * |
必選 缺省情況下,RIPng未引入其它路由 |
|
配置引入路由的缺省度量值 |
default cost value |
可選 缺省情況下,引入路由的缺省度量值為0 |
|
退回係統視圖 |
quit |
- |
|
進入接口視圖 |
interface interface-type interface-number |
- |
|
在指定的網絡接口上使能RIPng |
ripng process-id enable |
必選 缺省情況下,接口禁用RIPng |
![]()
有關RIPng的介紹和詳細配置,請參見“三層技術-IP路由配置指導”中的“RIPng”。
表2-6 配置MCE與PE之間使用OSPFv3
|
操作 |
命令 |
說明 |
|
進入係統視圖 |
system-view |
- |
|
創建MCE與PE間的OSPFv3實例,並進入OSPFv3視圖 |
ospfv3 [ process-id ] vpn-instance vpn-instance-name |
必選 |
|
配置Router ID |
router-id router-id |
必選 |
|
引入站點內的VPN路由 |
import-route protocol [ process-id | allow-ibgp ] [ cost value | route-policy route-policy-name | type type ] * |
必選 缺省情況下,沒有引入其他協議的路由信息 |
|
配置對引入的路由進行過濾 |
filter-policy { acl6-number | ipv6-prefix ipv6-prefix-name } export [ bgp4+ | direct | isisv6 process-id | ospfv3 process-id | ripng process-id | static ] |
可選 缺省情況下,沒有對引入的路由信息進行過濾 |
|
退回係統視圖 |
quit |
- |
|
進入接口視圖 |
interface interface-type interface-number |
- |
|
在接口上使能OSPFv3 |
ospfv3 process-id area area-id [ instance instance-id ] |
必選 缺省情況下,接口上沒有使能OSPFv3 |
![]()
有關OSPFv3的介紹和詳細配置,請參見“三層技術-IP路由配置指導”中的“OSPFv3”。
表2-7 配置MCE與PE之間使用IPv6 IS-IS
|
操作 |
命令 |
說明 |
|
進入係統視圖 |
system-view |
- |
|
創建MCE與PE間的IPv6 IS-IS實例,並進入IS-IS視圖 |
isis [ process-id ] vpn-instance vpn-instance-name |
必選 |
|
配置網絡實體名稱 |
network-entity net |
必選 缺省情況下,沒有配置網絡實體名稱 |
|
使能IS-IS進程的IPv6能力 |
ipv6 enable |
必選 缺省情況下,沒有使能IS-IS路由進程的IPv6能力 |
|
引入站點內的VPN路由 |
ipv6 import-route protocol [ process-id ] [ allow-ibgp ] [ cost cost | [ level-1 | level-1-2 | level-2 ] | route-policy route-policy-name | tag tag ] * |
可選 缺省情況下,IPv6 IS-IS不引入其它協議的路由信息 如果ipv6 import-route命令中不指定引入的級別,則默認為引入路由到Level-2路由表中 |
|
對引入的路由進行過濾 |
ipv6 filter-policy { acl6-number | ipv6-prefix ipv6-prefix-name | route-policy route-policy-name } export [ protocol [ process-id ] ] |
可選 缺省情況下,IPv6 IS-IS不對引入的路由信息進行過濾 |
|
退回係統視圖 |
quit |
- |
|
進入接口視圖 |
interface interface-type interface-number |
- |
|
使能接口IS-IS路由進程的IPv6能力,並指定要關聯的IS-IS進程號 |
isis ipv6 enable [ process-id ] |
必選 缺省情況下,接口上沒有使能IS-IS路由進程的IPv6能力 |
![]()
有關IPv6 IS-IS的介紹和詳細配置,請參見“三層技術-IP路由配置指導”中的“IPv6 IS-IS”。
表2-8 配置MCE與PE之間使用EBGP
|
操作 |
命令 |
說明 |
|
進入係統視圖 |
system-view |
- |
|
進入BGP視圖 |
bgp as-number |
- |
|
進入IPv6 BGP-VPN實例視圖 |
ipv6-family vpn-instance vpn-instance-name |
必選 |
|
將PE配置為EBGP對等體 |
peer ipv6-address as-number as-number |
必選 |
|
引入站點內的VPN路由 |
import-route protocol [ process-id [ med med-value | route-policy route-policy-name ] * ] |
必選 缺省情況下,BGP不引入且不通告其它協議的路由 |
|
配置對發布的路由信息進行過濾 |
filter-policy { acl6-number | ipv6-prefix ip-prefix-name } export [ direct | isisv6 process-id | ripng process-id | static ] |
可選 缺省情況下,不對發布的路由信息進行過濾 |
|
配置對接收的路由信息進行過濾 |
filter-policy { acl6-number | ipv6-prefix ip-prefix-name } import |
可選 缺省情況下,不對接收的路由信息進行過濾 |
![]()
配置IPv6 BGP VPN實例後,IPv6 VPN實例中的IPv6 BGP路由交換與普通的IPv6 BGP相同。有關IPv6 BGP協議的配置,請參見“IP路由分冊”中的“IPv6 BGP配置”。
當BGP配置變化後,可以通過軟複位或複位BGP連接使新的配置生效。軟複位需要BGP對等體具備路由刷新能力(支持ROUTE-REFRESH消息)。
請在用戶視圖下進行下列操作。
表2-9 複位BGP連接
|
操作 |
命令 |
|
軟複位指定VPN實例的IPv6 BGP連接 |
refresh bgp ipv6 vpn-instance vpn-instance-name { ipv6-address | all | external } { export | import } |
|
複位指定VPN實例的IPv6 BGP連接 |
reset bgp ipv6 vpn-instance vpn-instance-name { as-number | ipv6-address | all | external } |
在完成上述配置後,在任意視圖下執行display命令可以顯示配置後MPLS L3VPN的運行情況,通過查看顯示信息驗證配置的效果。
在用戶視圖下執行reset命令可以清除路由振蕩衰減信息。
表2-10 顯示MCE的運行狀態
|
操作 |
命令 |
|
顯示指定VPN實例信息 |
display ip vpn-instance [ instance-name vpn-instance-name ] [ | { begin | exclude | include } regular-expression ] |
|
顯示指定VPN實例的IPv6 FIB信息 |
display ipv6 fib vpn-instance vpn-instance-name [ acl6 acl6-number | ipv6-prefix ipv6-prefix-name ] [ | { begin | exclude | include } regular-expression ] |
|
顯示指定VPN實例中與指定目的IPv6地址匹配的IPv6 FIB信息 |
display ipv6 fib vpn-instance vpn-instance-name ipv6-address [ prefix-length ] [ | { begin | exclude | include } regular-expression ] |
|
顯示PE與PE之間建立的BGP VPNv6對等體的信息 |
display bgp vpnv6 all peer [ ipv4-address verbose | verbose ] [ | { begin | exclude | include } regular-expression ] |
|
顯示指定VPN實例中PE與CE之間建立的IPv6 BGP對等體的信息 |
display bgp vpnv6 vpn-instance vpn-instance-name peer [ ipv6-address verbose | verbose ] [ | { begin | exclude | include } regular-expression ] |
|
顯示所有BGP VPNv6路由信息 |
display bgp vpnv6 all routing-table [ network-address prefix-length [ longer-prefixes ] | peer ip-address { advertised-routes | received-routes } [ statistic ] | statistic ] [ | { begin | exclude | include } regular-expression ] |
|
顯示指定路由標識符的BGP VPNv6路由信息 |
display bgp vpnv6 route-distinguisher route-distinguisher routing-table [ network-address prefix-length ] [ | { begin | exclude | include } regular-expression ] |
|
顯示指定VPN實例的BGP VPNv6路由信息 |
display bgp vpnv6 vpn-instance vpn-instance-name routing-table [ network-address prefix-length [ longer-prefixes ] | peer ipv6-address { advertised-routes | received-routes } ] [ | { begin | exclude | include } regular-expression ] |
![]()
有關查看路由表的命令介紹請參見“三層技術-IP路由命令參考”中的“IP路由基礎”。
l MCE設備通過Vlan-interface10接口(IPv6地址為2001:1::1/64)連接到VPN 1,地址範圍為2012:1::/64;通過Vlan-interface20接口(IPv6地址為2002:1::1/64)連接到VPN 2,VPN 2內運行RIPng路由協議,地址範圍為2012::/64。
l 要求MCE設備能夠將VPN之間的路由隔離,並通過IPv6 ISIS將各VPN的路由發布到PE1設備。
圖2-1 配置MCE典型配置舉例一組網示意圖

為區分設備,假設MCE係統名為“MCE”,VPN 1和VPN 2的邊緣設備分別名為“VR1”和“VR2”,PE1設備係統名為“PE1”。
(1) VPN實例配置
# 在MCE設備上配置VPN實例,名稱分別為VPN1和VPN2,RD分別取值為10:1和20:1,VPN Target取值與RD取相同數值,Export和Import均取此值。
<MCE> system-view
[MCE] ip vpn-instance vpn1
[MCE-vpn-instance-vpn1] route-distinguisher 10:1
[MCE-vpn-instance-vpn1] vpn-target 10:1
[MCE-vpn-instance-vpn1] quit
[MCE] ip vpn-instance vpn2
[MCE-vpn-instance-vpn2] route-distinguisher 20:1
[MCE-vpn-instance-vpn2] vpn-target 20:1
[MCE-vpn-instance-vpn2] quit
# 創建VLAN10,將端口gigabitethernet 1/0/1加入VLAN 10,並創建Vlan-interface10接口。
[MCE] vlan 10
[MCE-vlan10] port gigabitethernet 1/0/1
[MCE-vlan10] quit
[MCE] interface vlan-interface 10
# 配置Vlan-interface10接口與VPN 1實例進行綁定,並配置IPv6地址為2001:1::1,前綴長度為64位。
[MCE-Vlan-interface10] ip binding vpn-instance vpn1
[MCE-Vlan-interface10] ipv6 address 2001:1::1 64
[MCE-Vlan-interface10] quit
# 使用類似步驟配置VLAN20,將端口GigabitEthernet1/0/2加入VLAN 20,配置接口與VPN 2實例綁定,並配置IPv6地址。
[MCE] vlan 20
[MCE-vlan20] port gigabitethernet 1/0/2
[MCE-vlan20] quit
[MCE] interface Vlan-interface 20
[MCE-Vlan-interface20] ip binding vpn-instance vpn2
[MCE-Vlan-interface20] ipv6 address 2002:1::1 64
[MCE-Vlan-interface20] quit
# 創建VLAN30和VLAN40,並創建相應的VLAN接口,配置IP地址,將VLAN30與VPN1綁定,VLAN40與VPN2綁定。
[MCE] vlan 30
[MCE-vlan30] quit
[MCE] interface Vlan-interface 30
[MCE-Vlan-interface30] ip binding vpn-instance vpn1
[MCE-Vlan-interface30] ip address 2003:1::1 64
[MCE-Vlan-interface30] quit
[MCE] vlan 40
[MCE-vlan40] quit
[MCE] interface Vlan-interface 40
[MCE-Vlan-interface40] ip binding vpn-instance vpn2
[MCE-Vlan-interface40] ip address 2004:1::1 64
[MCE-Vlan-interface40] quit
(2) MCE與Site間路由配置
MCE與VPN 1直接相連,且VPN 1內未使用路由協議,因此可以使用靜態路由進行配置。
# 配置VR1。配置與MCE連接的接口地址為2001:1::2/64,連接VPN 1接口的地址為2012:1::2/64。向VLAN中增加端口和接口IP地址的配置這裏省略。
# 在VR1上配置缺省路由,指定出方向報文的下一跳地址為2001:1::1。
<VR1> system-view
[VR1] ipv6 route-static :: 0 2001:1::1
# 在MCE上指定IPv6靜態路由,去往2012:1::/64網段的報文,下一跳地址為2001:1::2,並將此路由與VPN 1實例綁定。
[MCE] ipv6 route-static vpn-instance vpn1 2012:1:: 64 vpn-instance vpn1 2001:1::2
# VPN 2內運行RIPng,在MCE上配置RIPng進程20,並與VPN2實例綁定,以便將VPN 2內的路由學習到VPN2實例的路由表中。
[MCE] ripng 20 vpn-instance vpn2
# 配置RIPng發布2002:1::/64網段路由。
[MCE] interface vlan-interface 20
[MCE-Vlan-interface20] ripng 20 enable
[MCE-Vlan-interface20] quit
# 在VR 2上,配置與MCE連接的接口地址為2002:1::2/64(配置過程略)。
# 在VR 2上配置RIPng發布2012::/64和2002:1::/64網段路由。
<VR2> system-view
[VR2] ripng 20
[VR2-rip-20] quit
[VR2] interface vlan-interface 20
[VR2-Vlan-interface20] ripng 20 enable
[VR2-Vlan-interface20] quit
[VR2] interface vlan-interface 21
[VR2-Vlan-interface21] ripng 20 enable
[VR2-Vlan-interface21] quit
# 在MCE上查看VPN 1和VPN 2實例的路由信息。
[MCE] display ipv6 routing-table vpn-instance vpn1
Routing Table :
Destinations : 5 Routes : 5
Destination: ::1/128 Protocol : Direct
NextHop : ::1 Preference: 0
Interface : InLoop0 Cost : 0
Destination: 2001:1::/64 Protocol : Direct
NextHop : 2001:1::1 Preference: 0
Interface : Vlan10 Cost : 0
Destination: 2001:1::1/128 Protocol : Direct
NextHop : ::1 Preference: 0
Interface : InLoop0 Cost : 0
Destination: 2012:1::/64 Protocol : Static
NextHop : 2001:1::2 Preference: 60
Interface : Vlan10 Cost : 0
Destination: FE80::/10 Protocol : Direct
NextHop : :: Preference: 0
Interface : NULL0 Cost : 0
[MCE] display ipv6 routing-table vpn-instance vpn2
Routing Table :
Destinations : 5 Routes : 6
Destination: ::1/128 Protocol : Direct
NextHop : ::1 Preference: 0
Interface : InLoop0 Cost : 0
Destination: 2002:1::/64 Protocol : Direct
NextHop : 2002:1::1 Preference: 0
Interface : GE1/0/1 Cost : 0
Destination: 2002:1::1/128 Protocol : Direct
NextHop : ::1 Preference: 0
Interface : InLoop0 Cost : 0
Destination: 2012::/64 Protocol : RIPng
NextHop : FE80::200:5EFF:FE01:1C03 Preference: 100
Interface : Vlan20 Cost : 1
Destination: FE80::/10 Protocol : Direct
NextHop : :: Preference: 0
Interface : NULL0 Cost : 0
可以看到,MCE已經通過RIPng學習到了VPN 2內的私網路由,並與VPN 1內的路由信息分別維護在兩個路由表內,有效進行了隔離。
(3) MCE與PE1間路由配置
# MCE使用GigabitEthernet1/0/3端口連接到PE設備的GigabitEthernet1/0/1端口,需要配置這兩個端口為Trunk端口,並允許VLAN 30和VLAN 40的報文攜帶Tag通過。
[MCE] interface gigabitethernet 1/0/3
[MCE-GigabitEthernet1/0/3] port link-type trunk
[MCE-GigabitEthernet1/0/3] port trunk permit vlan 30 40
[MCE-GigabitEthernet1/0/3] quit
# 配置PE1的GigabitEthernet1/0/1端口。
<PE1> system-view
[PE1] interface gigabitethernet 1/0/1
[PE1-GigabitEthernet1/0/1] port link-type trunk
[PE1-GigabitEthernet1/0/1] port trunk permit vlan 30 40
[PE1-GigabitEthernet1/0/1] quit
# 配置PE1的Vlan-interface30和Vlan-interface40的接口IPv6地址分別為2003:1::2和2004:1::2,並將這兩個接口分別與VPN1實例和VPN2實例進行綁定,配置步驟省略。
# 配置MCE啟動IPv6 ISIS進程10,綁定到VPN1實例,並引入VPN 1的靜態路由。
[MCE] isis 10 vpn-instance vpn1
[MCE-isis-10] ipv6 enable
[MCE-isis-10] network-entity 47.0001.0001.0002.00
[MCE-isis-10] import-route static
[MCE-isis-10] quit
# 在Vlan-interface30中使能IPv6 ISIS。
[MCE] interface vlan-interface 30
[MCE-Vlan-interface30] isis ipv6 enable 10
[MCE-Vlan-interface30] quit
# 配置PE1啟動IPv6 ISIS進程10,綁定到VPN1實例。
[PE1] isis 10 vpn-instance vpn1
[PE1-isis-10] ipv6 enable
[PE1-isis-10] network-entity 47.0001.0001.0003.00
[PE1-isis-10] quit
# 在Vlan-interface30中使能IPv6 ISIS。
[PE1] interface vlan-interface 30
[PE1-Vlan-interface30] isis ipv6 enable 10
[PE1-Vlan-interface30] quit
# 顯示PE1上的VPN 1路由信息。
[PE1] display ipv6 routing-table vpn-instance vpn1
Routing Table :
Destinations : 5 Routes : 5
Destination: ::1/128 Protocol : Direct
NextHop : ::1 Preference: 0
Interface : InLoop0 Cost : 0
Destination: 2003:1::/64 Protocol : Direct
NextHop : 2003:1::2 Preference: 0
Interface : Vlan10 Cost : 0
Destination: 2003:1::2/128 Protocol : Direct
NextHop : ::1 Preference: 0
Interface : InLoop0 Cost : 0
Destination: 2012:1::/64 Protocol : ISISv6
NextHop : FE80::200:5EFF:FE01:1C05 Preference: 15
Interface : Vlan10 Cost : 10
Destination: FE80::/10 Protocol : Direct
NextHop : :: Preference: 0
Interface : NULL0 Cost : 0
可以看到,PE1通過IPv6 ISIS學習到了VPN1內的私網路由。
MCE與PE1間配置IPv6 ISIS進程20,引入VPN2實例的路由信息的過程與上麵介紹的配置基本一致,不同的是在MCE的IPv6 ISIS中配置引入的是RIPng路由,這裏不再贅述。通過下麵的顯示信息可以看出,PE通過IPv6 ISIS學習到了VPN2內的私網路由。
[PE] display ipv6 routing-table vpn-instance vpn2
Routing Table :
Destinations : 6 Routes : 6
Destination: ::1/128 Protocol : Direct
NextHop : ::1 Preference: 0
Interface : InLoop0 Cost : 0
Destination: 2004:1::/64 Protocol : Direct
NextHop : 2004:1::2 Preference: 0
Interface : vlan20 Cost : 0
Destination: 2004:1::2/128 Protocol : Direct
NextHop : ::1 Preference: 0
Interface : InLoop0 Cost : 0
Destination: 2012::/64 Protocol : ISISv6
NextHop : FE80::200:5EFF:FE01:1C06 Preference: 15
Interface : Vlan20 Cost : 10
Destination: FE80::/10 Protocol : Direct
NextHop : :: Preference: 0
Interface : NULL0 Cost : 0
至此,通過配置,已經將兩個VPN實例內的路由信息完整地傳播到PE中,配置完成。
不同款型規格的資料略有差異, 詳細信息請向具體銷售和400谘詢。H3C保留在沒有任何通知或提示的情況下對資料內容進行修改的權利!
