12-MCE配置
本章節下載: 12-MCE配置 (663.36 KB)
MPLS L3VPN是一種三層VPN技術,它使用BGP在服務提供商骨幹網上發布用戶站點的私網路由,使用MPLS在服務提供商骨幹網上轉發用戶站點之間的私網報文,從而實現通過服務提供商的骨幹網連接屬於同一個VPN、位於不同地理位置的用戶站點。
MPLS L3VPN組網方式靈活,可擴展性好,並能夠方便地支持MPLS TE,因此得到了廣泛的應用。
圖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信息。
Site(站點)的含義可以從下述幾個方麵理解:
· Site是指相互之間具備IP連通性的一組IP係統,並且這組IP係統的IP連通性不需通過服務提供商網絡實現;
· Site的劃分是根據設備的拓撲關係,而不是地理位置,盡管在大多數情況下一個Site中的設備地理位置相鄰;
· 一個Site中的設備可以屬於多個VPN,換言之,一個Site可以屬於多個VPN;
· Site通過CE連接到服務提供商網絡,一個Site可以包含多個CE,但一個CE隻屬於一個Site。
對於多個連接到同一服務提供商網絡的Site,通過製定策略,可以將它們劃分為不同的集合(set),隻有屬於相同集合的Sites之間才能通過服務提供商網絡互訪,這種集合就是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,路由標識符)、VPN Target屬性、路由過濾策略等。
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地址。
MPLS L3VPN使用BGP擴展團體屬性——VPN Target(也稱為Route Target)來控製VPN路由信息的發布。
VPN 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實例的路由表中。
VPN Target屬性定義了一條VPN-IPv4路由可以為哪些Site所接收,PE可以接收哪些Site發送來的路由。
與RD類似,VPN Target也有三種格式:
· 16位自治係統號:32位用戶自定義數字,例如:100:1。
· 32位IPv4地址:16位用戶自定義數字,例如:172.1.1.1:1。
· 32位自治係統號:16位用戶自定義數字,其中的自治係統號最小值為65536,例如:65536:1。
傳統的MPLS L3VPN架構要求每個用戶站點單獨使用一個CE與PE相連,如圖1-1所示。隨著用戶業務的不斷細化和安全需求的提高,一個私有網絡內的用戶可能需要劃分成多個VPN,不同VPN用戶間的業務需要完全隔離。此時,為每個VPN單獨配置一台CE將加大用戶的設備開支和維護成本;而多個VPN共用一台CE,使用同一個路由表項,又無法保證數據的安全性。
MCE(Multi-VPN-Instance Customer Edge,多VPN實例用戶網絡邊界設備)功能通過在CE設備上建立VPN實例,為不同的VPN提供邏輯獨立的路由轉發表和地址空間,使多個VPN可以共享一個CE。該CE設備稱為MCE設備。MCE功能有效地解決了多VPN網絡帶來的用戶數據安全與網絡成本之間的矛盾。
圖1-3 MCE工作原理示意圖
如圖1-3所示,MCE組網的關鍵是在MCE與用戶站點之間、MCE與PE之間交互私網路由,並將其正確學習到相應VPN實例的路由表中。其他處理與傳統的MPLS L3VPN相同,此處不再贅述。
· MCE與用戶站點之間的私網路由交互:在MCE設備上為VPN 1和VPN 2創建VPN實例,並使用Vlan-interface2接口與VPN 1進行綁定、Vlan-interface3接口與VPN 2進行綁定。在接收路由信息時,MCE設備根據路由的接收接口,即可判斷該路由信息的來源,並將其維護到對應VPN實例的路由表中。
· MCE與PE之間的私網路由交互:MCE與PE 1之間通過Trunk鏈路連接,並允許VLAN 2和VLAN 3的報文攜帶VLAN Tag傳輸。在PE 1上為VPN 1和VPN 2創建VPN實例,並將連接MCE的VLAN接口(Vlan-interface2接口和Vlan-interface3接口)與VPN實例綁定,綁定的方式與MCE設備一致。從而,使得MCE與PE之間交互的私網路由可以準確地學習到對應VPN實例的路由表中。
MCE與VPN站點之間、MCE與PE之間可以使用靜態路由、RIP、OSPF、IS-IS、EBGP或IBGP交換路由信息。
MCE設備上可以配置DHCP服務器或DHCP中繼功能,實現為私網內的DHCP客戶端動態分配IP地址。MCE作為DHCP服務器時,不同私網的IP地址空間不能重疊。
配置MCE的關鍵在於管理VPN私網路由在MPLS骨幹網上的發布,包括MCE與站點之間的路由交換以及MCE與PE之間的路由交換。
表1-1 MCE配置任務簡介
配置任務 |
說明 |
詳細配置 |
|
配置VPN實例 |
創建VPN實例 |
必選 |
|
配置VPN實例與接口關聯 |
必選 |
||
配置VPN實例的路由相關屬性 |
可選 |
||
配置MCE的路由交換 |
配置MCE與站點之間的路由交換 |
必選 |
|
配置MCE與PE之間的路由交換 |
必選 |
VPN實例不僅可以將VPN私網路由與公網路由隔離,還可以隔離不同VPN實例的路由,這一特點使得VPN實例的使用不限於MPLS L3VPN。
配置VPN實例的操作是在PE或MCE設備上進行的。
VPN實例在實現中與Site關聯。VPN實例不是直接對應於VPN,一個VPN實例綜合了和它所對應Site的VPN成員關係和路由規則。
表1-2 創建VPN實例
操作 |
命令 |
說明 |
進入係統視圖 |
system-view |
- |
創建VPN實例,並進入VPN實例視圖 |
ip vpn-instance vpn-instance-name |
缺省情況下,不存在VPN實例 |
配置VPN實例的RD |
route-distinguisher route-distinguisher |
缺省情況下,未配置VPN實例的RD |
(可選)配置VPN實例的描述信息 |
description text |
缺省情況下,未配置VPN實例的描述信息 |
(可選)配置VPN實例的ID |
vpn-id vpn-id |
缺省情況下,未配置VPN實例的ID |
執行ip binding vpn-instance命令將刪除接口上已經配置的IP地址,因此需要重新配置接口的IP地址。
VPN實例配置完成後,還需要與連接CE的接口進行關聯。
表1-3 配置VPN實例與接口關聯
操作 |
命令 |
說明 |
進入係統視圖 |
system-view |
- |
進入接口視圖 |
interface interface-type interface-number |
- |
配置接口與指定VPN實例關聯 |
ip binding vpn-instance vpn-instance-name |
缺省情況下,接口未關聯VPN實例,接口屬於公網 |
表1-4 配置VPN實例的路由相關屬性
操作 |
命令 |
說明 |
|
|
進入係統視圖 |
system-view |
- |
|
|
進入VPN實例視圖或VPN實例IPv4 VPN視圖 |
進入VPN實例視圖 |
ip vpn-instance vpn-instance-name |
VPN實例視圖下配置的路由相關屬性既可以用於IPv4 VPN,也可以用於IPv6 VPN 既可以在VPN實例視圖下,也可以在VPN實例IPv4 VPN視圖下,配置IPv4 VPN的路由相關屬性。如果同時在兩個視圖下配置了路由相關屬性,則IPv4 VPN采用VPN實例IPv4 VPN視圖下配置的路由相關屬性 |
|
進入VPN實例IPv4 VPN視圖 |
ip vpn-instance vpn-instance-name |
|||
address-family ipv4 |
||||
配置VPN實例的VPN Target |
vpn-target vpn-target&<1-8> [ both | export-extcommunity | import-extcommunity ] |
缺省情況下,未配置VPN實例的VPN Target |
|
|
配置VPN實例支持的最大激活路由前綴數 |
routing-table limit number { warn-threshold | simply-alert } |
缺省情況下,未限製VPN實例支持的最多激活路由前綴數 配置一個VPN實例可以支持的最大激活路由前綴數,可以防止PE路由器上保存過多的激活路由前綴信息 |
|
|
對當前VPN實例應用入方向路由策略 |
import route-policy route-policy |
缺省情況下,允許所有VPN Target屬性匹配的路由通過 執行本配置時,需要創建路由策略。路由策略的詳細介紹,請參見“三層技術-IP路由配置指導”中的“路由策略” |
|
|
對當前VPN實例應用出方向路由策略 |
export route-policy route-policy |
缺省情況下,不對發布的路由進行過濾 執行本配置時,需要創建路由策略。路由策略的詳細介紹,請參見“三層技術-IP路由配置指導”中的“路由策略” |
|
|
配置VPN實例的隧道策略 |
tnl-policy tunnel-policy-name |
缺省情況下,隧道策略為按照LSP隧道->CR-LSP隧道的優先級順序選擇隧道,負載分擔條數為1 為VPN實例配置隧道策略之前必須先創建隧道策略,否則將采用缺省策略 隧道策略的創建及配置方法,請參見“MPLS配置指導”中的“隧道策略” |
|
MCE可以看作一種通過路由隔離實現業務隔離的組網方案。配置MCE的關鍵為:
· 配置MCE與站點之間的路由交換
· 配置MCE與PE之間的路由交換
在MCE組網方案中,路由計算時需要關閉PE上的路由環路檢測功能,防止路由丟失;同時禁止各路由協議互操作功能,以節省係統資源。
在配置MCE之前,需要先在MCE上創建VPN實例,並將MCE連接站點和PE的接口與VPN實例綁定。
MCE可以通過靜態路由與Site連接。傳統CE配置的靜態路由對全局生效,無法解決多VPN間的地址重疊問題。MCE功能可以將靜態路由與VPN實例相綁定,將各VPN之間的靜態路由進行隔離。
表1-5 配置MCE與站點之間使用靜態路由
操作 |
命令 |
說明 |
進入係統視圖 |
system-view |
- |
為指定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 ] [ track track-entry-number ] | vpn-instance d-vpn-instance-name next-hop-address [ track track-entry-number ] } [ permanent ] [ preference preference ] [ tag tag-value ] [ description text ] |
缺省情況下,未配置靜態路由 該配置在MCE上進行,站點上的配置方法與普通靜態路由相同 |
(可選)配置靜態路由的缺省優先級 |
ip route-static default-preference default-preference |
缺省情況下,靜態路由的缺省優先級為60 |
一個RIP進程隻能屬於一個VPN實例。如果在啟動RIP進程時不綁定到VPN實例,則該進程屬於公網進程。通過在MCE上將RIP進程與VPN實例綁定,可以使不同VPN內的私網路由通過不同的RIP進程在Site和MCE間進行交互,保證了私網路由的隔離和安全。RIP的介紹和詳細配置,請參見“三層技術-IP路由配置指導”中的“RIP”。
表1-6 配置MCE與站點之間使用RIP
操作 |
命令 |
說明 |
進入係統視圖 |
system-view |
- |
創建MCE與站點間的RIP實例,並進入RIP視圖 |
rip [ process-id ] vpn-instance vpn-instance-name |
該配置在MCE上進行,站點上配置普通RIP即可 |
在指定網段接口上使能RIP |
network network-address |
缺省情況下,接口上的RIP功能處於關閉狀態 |
引入由PE發布的遠端站點的路由 |
import-route protocol [ process-id | all-processes | allow-ibgp ] [ allow-direct | cost cost-value | route-policy route-policy-name | tag tag ] * |
缺省情況下,RIP未引入其它路由 |
一個OSPF進程隻能屬於一個VPN實例。如果在啟動OSPF進程時不綁定到VPN實例,則該進程屬於公網進程。
通過在MCE上將OSPF進程與VPN實例綁定,可以使不同VPN內的私網路由通過不同的OSPF進程在Site和MCE間進行交互,保證了私網路由的隔離和安全。
OSPF的介紹和詳細配置,請參見“三層技術-IP路由配置指導”中的“OSPF”。
表1-7 配置MCE與站點之間使用OSPF
操作 |
命令 |
說明 |
進入係統視圖 |
system-view |
- |
創建MCE與站點間的OSPF實例,並進入OSPF視圖 |
ospf [ process-id | router-id router-id | vpn-instance vpn-instance-name ] * |
該配置在MCE上進行,站點上配置普通OSPF即可 VPN實例綁定的OSPF進程中不使用係統視圖下配置的公網Router ID,因此用戶需要在啟動進程時手工配置Router ID 一個OSPF進程隻能屬於一個VPN實例,但一個VPN實例可以使用多個OSPF進程為其傳播私網路由 |
引入由PE發布的遠端站點的路由 |
import-route protocol [ process-id | all-processes | allow-ibgp ] [ allow-direct | cost cost-value | nssa-only | route-policy route-policy-name | tag tag | type type ] * |
缺省情況下,沒有引入其他協議的路由信息 |
配置OSPF區域,進入OSPF區域視圖 |
area area-id |
缺省情況下,未配置OSPF區域 |
配置區域所包含的網段並在指定網段的接口上使能OSPF |
network ip-address wildcard-mask |
缺省情況下,接口不屬於任何區域且OSPF功能處於關閉狀態 |
一個IS-IS進程隻能屬於一個VPN實例。如果在啟動IS-IS進程時不綁定到VPN實例,則該進程屬於公網進程。
通過在MCE上將IS-IS進程與VPN實例綁定,可以使不同VPN內的私網路由通過不同的IS-IS進程在Site和MCE間進行交互,保證了私網路由的隔離和安全。
IS-IS協議的介紹和詳細配置,請參見“三層技術-IP路由配置指導”中的“IS-IS”。
表1-8 配置MCE與站點之間使用IS-IS
操作 |
命令 |
說明 |
進入係統視圖 |
system-view |
- |
創建MCE與站點間的IS-IS實例,並進入IS-IS視圖 |
isis [ process-id ] vpn-instance vpn-instance-name |
該配置在MCE上進行,站點上配置普通IS-IS即可 |
配置網絡實體名稱 |
network-entity net |
缺省情況下,未配置網絡實體名稱 |
創建並進入IS-IS IPv4單播地址族視圖 |
address-family ipv4 [ unicast ] |
缺省情況下,不存在IS-IS IPv4單播地址族視圖 |
引入由PE發布的遠端站點的路由 |
import-route protocol [ process-id | all-processes | allow-ibgp ] [ allow-direct | cost cost-value | cost-type { external | internal } | [ level-1 | level-1-2 | level-2 ] | route-policy route-policy-name | tag tag ] * |
缺省情況下,IS-IS不引入其它協議的路由信息 如果import-route命令中不指定引入的級別,則默認為引入路由到Level-2路由表中 |
退回係統視圖 |
quit |
- |
進入接口視圖 |
interface interface-type interface-number |
- |
使能接口IS-IS並指定要關聯的IS-IS進程號 |
isis enable [ process-id ] |
缺省情況下,接口上沒有使能IS-IS |
MCE與站點間使用EBGP交換路由信息時,需要在MCE上為每個VPN實例配置BGP對等體,並在站點上引入相應VPN內的IGP路由信息。
(1) MCE上的配置
表1-9 配置MCE與站點之間使用EBGP
操作 |
命令 |
說明 |
進入係統視圖 |
system-view |
- |
啟動BGP實例,並進入BGP實例視圖 |
bgp as-number [ instance instance-name ] |
缺省情況下,係統沒有運行BGP |
進入BGP-VPN實例視圖 |
ip vpn-instance vpn-instance-name |
BGP-VPN實例視圖下的配置任務與BGP實例視圖下的相同,有關介紹和詳細配置,請參見“三層技術-IP路由配置指導”中的“BGP” |
配置EBGP對等體或對等體組 |
peer { group-name | ipv4-address [ mask-length ] } as-number as-number |
缺省情況下,不存在BGP對等體和對等體組 |
進入BGP-VPN IPv4單播地址族視圖 |
address-family ipv4 [ unicast ] |
- |
使能本地路由器與指定對等體交換IPv4單播路由信息的能力 |
peer { group-name | ipv4-address [ mask-length ] } enable |
缺省情況下,本地路由器不能與對等體交換IPv4單播路由信息 |
配置對於從對等體/對等體組接收的路由,允許本地AS號在接收路由的AS_PATH屬性中出現,並配置允許出現的次數 |
peer { group-name | ipv4-address [ mask-length ] } allow-as-loop [ number ] |
缺省情況下,不允許本地AS號在接收路由的AS_PATH屬性中出現 |
引入由PE發布的遠端站點的路由 |
import-route protocol [ { process-id | all-processes } [ allow-direct | med med-value | route-policy route-policy-name ] * ] |
缺省情況下,BGP不會引入IGP路由協議的路由信息 |
(2) 站點上的配置
表1-10 站點上的配置
操作 |
命令 |
說明 |
進入係統視圖 |
system-view |
- |
啟動BGP實例,並進入BGP實例視圖 |
bgp as-number [ instance instance-name ] |
缺省情況下,係統沒有運行BGP |
將MCE配置為EBGP對等體 |
peer { group-name | ipv4-address [ mask-length ] } as-number as-number |
缺省情況下,不存在BGP對等體和對等體組 |
進入BGP IPv4單播地址族視圖 |
address-family ipv4 [ unicast ] |
- |
使能本地路由器與指定對等體交換IPv4單播路由信息的能力 |
peer { group-name | ipv4-address [ mask-length ] } enable |
缺省情況下,本地路由器不能與對等體交換IPv4單播路由信息 |
配置引入VPN內的IGP路由 |
import-route protocol [ { process-id | all-processes } [ allow-direct | med med-value | route-policy route-policy-name ] * ] |
缺省情況下,BGP不會引入IGP路由協議的路由信息 站點需要將自己所能到達的VPN網段地址發布給接入的MCE |
MCE與站點間使用IBGP交換路由信息時,需要在MCE上為每個VPN實例配置BGP對等體,並在站點上引入相應VPN內的IGP路由信息。
(1) MCE上的配置
表1-11 配置MCE與站點之間使用IBGP
操作 |
命令 |
說明 |
進入係統視圖 |
system-view |
- |
啟動BGP實例,並進入BGP實例視圖 |
bgp as-number [ instance instance-name ] |
缺省情況下,係統沒有運行BGP |
進入BGP-VPN實例視圖 |
ip vpn-instance vpn-instance-name |
- |
配置IBGP對等體 |
peer { group-name | ipv4-address [ mask-length ] } as-number as-number |
缺省情況下,不存在BGP對等體和對等體組 |
進入BGP-VPN IPv4單播地址族視圖 |
address-family ipv4 [ unicast ] |
- |
使能本地路由器與指定對等體交換IPv4單播路由信息的能力 |
peer { group-name | ipv4-address [ mask-length ] } enable |
缺省情況下,本地路由器不能與對等體交換IPv4單播路由信息 |
(可選)配置本地設備作為路由反射器,對端設備作為路由反射器的客戶端 |
peer { group-name | ipv4-address [ mask-length ] } reflect-client |
缺省情況下,未配置路由反射器及其客戶端 將站點配置為IBGP對等體時,從該站點學習的BGP路由不會向其它IBGP對等體(包括VPNv4對等體)發送。隻有將站點配置為路由反射器的客戶端後,才能向其它IBGP對等體發送從該站點學習的路由 |
引入由PE發布的遠端站點的路由 |
import-route protocol [ { process-id | all-processes } [ allow-direct | med med-value | route-policy route-policy-name ] * ] |
缺省情況下,BGP不引入且不通告其它協議的路由 |
(2) 站點上的配置
表1-12 站點上的配置
操作 |
命令 |
說明 |
進入係統視圖 |
system-view |
- |
啟動BGP實例,並進入BGP實例視圖 |
bgp as-number [ instance instance-name ] |
缺省情況下,係統沒有運行BGP |
將MCE配置為IBGP對等體 |
peer { group-name | ipv4-address [ mask-length ] } as-number as-number |
缺省情況下,不存在BGP對等體和對等體組 |
進入BGP IPv4單播地址族視圖 |
address-family ipv4 [ unicast ] |
- |
使能本地路由器與指定對等體交換IPv4單播路由信息的能力 |
peer { group-name | ipv4-address [ mask-length ] } enable |
缺省情況下,本地路由器不能與對等體交換IPv4單播路由信息 |
配置引入VPN內的IGP路由 |
import-route protocol [ { process-id | all-processes } [ allow-direct | med med-value | route-policy route-policy-name ] * ] |
缺省情況下,BGP不引入且不通告其它協議的路由 站點需要將自己所能到達的VPN網段地址發布給接入的MCE |
由於在MCE設備上已經將站點內的私網路由信息與VPN實例進行了綁定,因此,隻需要在MCE與PE之間將接口與VPN實例進行綁定、進行簡單的路由配置、並將MCE上維護的站點內的VPN路由引入到MCE-PE間的路由協議中,便可以實現私網VPN路由信息的傳播。
本節中的配置均在MCE上進行,PE上的配置與基本MPLS L3VPN組網中PE上的配置相同,詳細介紹請參見“MPLS配置指導”中的“MPLS L3VPN”。
表1-13 配置MCE與PE之間使用靜態路由
操作 |
命令 |
說明 |
進入係統視圖 |
system-view |
- |
為指定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 ] [ track track-entry-number ] | vpn-instance d-vpn-instance-name next-hop-address [ track track-entry-number ] } [ permanent ] [ preference preference ] [ tag tag-value ] [ description text ] |
缺省情況下,不存在靜態路由 |
(可選)配置靜態路由的缺省優先級 |
ip route-static default-preference default-preference |
缺省情況下,靜態路由的缺省優先級為60 |
表1-14 配置MCE與PE之間使用RIP
操作 |
命令 |
說明 |
進入係統視圖 |
system-view |
- |
創建MCE與PE間的RIP實例,並進入RIP視圖 |
rip [ process-id ] vpn-instance vpn-instance-name |
- |
在指定網段接口上使能RIP |
network network-address |
缺省情況下,接口上的RIP功能處於關閉狀態 |
引入站點內的VPN路由 |
import-route protocol [ process-id | all-processes | allow-ibgp ] [ allow-direct | cost cost-value | route-policy route-policy-name | tag tag ] * |
缺省情況下,RIP未引入其它路由 |
表1-15 配置MCE與PE之間使用OSPF
操作 |
命令 |
說明 |
進入係統視圖 |
system-view |
- |
創建MCE與PE間的OSPF實例,並進入OSPF視圖 |
ospf [ process-id | router-id router-id | vpn-instance vpn-instance-name ] * |
- |
關閉OSPF實例的路由環路檢測功能 |
vpn-instance-capability simple |
缺省情況下,OSPF實例的路由環路檢測功能處於開啟狀態 需要在MCE上通過本命令關閉OSPF實例的路由環路檢測功能。否則,MCE不會接收PE發送過來的OSPF路由,導致路由丟失 |
引入站點內的VPN路由 |
import-route protocol [ process-id | all-processes | allow-ibgp ] [ allow-direct | cost cost-value | nssa-only | route-policy route-policy-name | tag tag | type type ] * |
缺省情況下,沒有引入其他協議的路由信息 |
配置OSPF區域,進入OSPF區域視圖 |
area area-id |
缺省情況下,未配置OSPF區域 |
配置區域所包含的網段並在指定網段的接口上使能OSPF |
network ip-address wildcard-mask |
缺省情況下,接口不屬於任何區域且OSPF功能處於關閉狀態 |
表1-16 配置MCE與PE之間使用IS-IS
操作 |
命令 |
說明 |
進入係統視圖 |
system-view |
- |
創建MCE與PE間的IS-IS實例,並進入IS-IS視圖 |
isis [ process-id ] vpn-instance vpn-instance-name |
- |
配置網絡實體名稱 |
network-entity net |
缺省情況下,未配置網絡實體名稱 |
創建並進入IS-IS IPv4單播地址族視圖 |
address-family ipv4 [ unicast ] |
缺省情況下,不存在IS-IS IPv4單播地址族視圖 |
引入站點內的VPN路由 |
import-route protocol [ process-id | all-processes | allow-ibgp ] [ allow-direct | cost cost-value | cost-type { external | internal } | [ level-1 | level-1-2 | level-2 ] | route-policy route-policy-name | tag tag ] * |
缺省情況下,IS-IS不引入其它協議的路由信息 如果import-route命令中不指定引入的級別,則默認為引入路由到Level-2路由表中 |
退回係統視圖 |
quit |
- |
進入接口視圖 |
interface interface-type interface-number |
- |
使能接口IS-IS並指定要關聯的IS-IS進程號 |
isis enable [ process-id ] |
缺省情況下,接口上沒有使能IS-IS |
表1-17 配置MCE與PE之間使用EBGP
操作 |
命令 |
說明 |
進入係統視圖 |
system-view |
- |
啟動BGP實例,並進入BGP實例視圖 |
bgp as-number [ instance instance-name ] |
缺省情況下,係統沒有運行BGP |
進入BGP-VPN實例視圖 |
ip vpn-instance vpn-instance-name |
- |
將PE配置為EBGP對等體 |
peer { group-name | ipv4-address [ mask-length ] } as-number as-number |
缺省情況下,不存在BGP對等體和對等體組 |
進入BGP-VPN IPv4單播地址族視圖 |
address-family ipv4 [ unicast ] |
- |
使能本地路由器與指定對等體交換IPv4單播路由信息的能力 |
peer { group-name | ipv4-address [ mask-length ] } enable |
缺省情況下,本地路由器不能與對等體交換IPv4單播路由信息 |
引入站點內的VPN路由 |
import-route protocol [ { process-id | all-processes } [ allow-direct | med med-value | route-policy route-policy-name ] * ] |
缺省情況下,BGP不引入且不通告其它協議的路由 |
表1-18 配置MCE與PE之間使用IBGP
操作 |
命令 |
說明 |
進入係統視圖 |
system-view |
- |
啟動BGP實例,並進入BGP實例視圖 |
bgp as-number [ instance instance-name ] |
缺省情況下,係統沒有運行BGP |
進入BGP-VPN實例視圖 |
ip vpn-instance vpn-instance-name |
- |
將PE配置為IBGP對等體 |
peer { group-name | ipv4-address [ mask-length ] } as-number as-number |
缺省情況下,不存在BGP對等體和對等體組 |
進入BGP-VPN IPv4單播地址族視圖 |
address-family ipv4 [ unicast ] |
- |
使能本地路由器與指定對等體交換IPv4單播路由信息的能力 |
peer { group-name | ipv4-address [ mask-length ] } enable |
缺省情況下,本地路由器不能與對等體交換IPv4單播路由信息 |
引入站點內的VPN路由 |
import-route protocol [ { process-id | all-processes } [ allow-direct | med med-value | route-policy route-policy-name ] * ] |
缺省情況下,BGP不引入且不通告其它協議的路由 |
在完成上述配置後,在任意視圖下執行display命令可以顯示配置後MCE的運行情況,通過查看顯示信息驗證配置的效果。
表1-19 MCE顯示和維護
操作 |
命令 |
顯示指定VPN實例信息 |
display ip vpn-instance [ instance-name vpn-instance-name ] |
VPN實例中路由表的命令請參見“三層技術-IP路由命令參考”中的“IP路由基礎命令”。
MCE設備連接兩個VPN:VPN 1和VPN 2。其中,VPN 2內運行OSPF路由協議。MCE設備將兩個VPN之間的路由隔離,並通過OSPF將各VPN的路由發布到PE 1。
圖1-4 配置MCE示例一組網圖
為區分設備,假設MCE係統名為“MCE”,VPN 1和VPN 2的邊緣路由器分別名為“VR1”和“VR2”,PE 1係統名為“PE1”。
(1) 在MCE和PE 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
# 在MCE上配置Vlan-interface10接口與VPN實例vpn1綁定,並配置接口的IP地址。
[MCE] interface vlan-interface 10
[MCE-Vlan-interface10] ip binding vpn-instance vpn1
[MCE-Vlan-interface10] ip address 10.214.10.3 24
[MCE-Vlan-interface10] quit
# 在MCE上配置Vlan-interface20接口與VPN實例vpn2綁定,並配置接口的IP地址。
[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
# 在PE 1上配置VPN實例,名稱分別為VPN1和VPN2,RD分別取值為10:1和20:1,VPN Target取值與RD相同,Export和Import均取此值。
<PE1> system-view
[PE1] ip vpn-instance vpn1
[PE1-vpn-instance-vpn1] route-distinguisher 10:1
[PE1-vpn-instance-vpn1] vpn-target 10:1
[PE1-vpn-instance-vpn1] quit
[PE1] ip vpn-instance vpn2
[PE1-vpn-instance-vpn2] route-distinguisher 20:1
[PE1-vpn-instance-vpn2] vpn-target 20:1
[PE1-vpn-instance-vpn2] quit
(2) MCE與Site間路由配置
MCE與VPN 1直接相連,且VPN 1內未使用路由協議,因此可以使用靜態路由進行配置。
# 配置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/24網段的報文,下一跳地址為10.214.10.2,並將此路由與VPN實例vpn1綁定。
[MCE] ip route-static vpn-instance vpn1 192.168.0.0 24 10.214.10.2
# 顯示MCE上為VPN實例vpn1維護的路由信息。
[MCE] display ip routing-table vpn-instance vpn1
Destinations : 13 Routes : 13
Destination/Mask Proto Pre Cost NextHop Interface
0.0.0.0/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.0/32 Direct 0 0 10.214.10.3 Vlan10
10.214.10.3/32 Direct 0 0 127.0.0.1 InLoop0
10.214.10.255/32 Direct 0 0 10.214.10.3 Vlan10
127.0.0.0/8 Direct 0 0 127.0.0.1 InLoop0
127.0.0.0/32 Direct 0 0 127.0.0.1 InLoop0
127.0.0.1/32 Direct 0 0 127.0.0.1 InLoop0
127.255.255.255/32 Direct 0 0 127.0.0.1 InLoop0
192.168.0.0/24 Static 60 0 10.214.10.2 Vlan10
224.0.0.0/4 Direct 0 0 0.0.0.0 NULL0
224.0.0.0/24 Direct 0 0 0.0.0.0 NULL0
255.255.255.255/32 Direct 0 0 127.0.0.1 InLoop0
可以看到,已經在MCE上為VPN 1指定了靜態路由。
# VPN 2內運行OSPF,在MCE上配置OSPF進程2,並與VPN實例vpn2綁定,以便將VPN 2內的路由學習到VPN實例vpn2的路由表中。
[MCE] ospf 2 vpn-instance vpn2
# 發布網段10.214.20.0/24的路由。
[MCE-ospf-2] area 0
[MCE-ospf-2-area-0.0.0.0] network 10.214.20.0 0.0.0.255
[MCE-ospf-2-area-0.0.0.0] quit
[MCE-ospf-2] quit
# 在VR2上,配置與MCE連接的接口地址為10.214.20.2/24,連接VPN 2接口的地址為192.168.10.1/24。(配置過程略)
# 配置OSPF進程2,發布網段192.168.10.0/24和10.214.20.0/24的路由。
<VR2> system-view
[VR2] ospf 2
[VR2-ospf-2] area 0
[VR2-ospf-2-area-0.0.0.0] network 192.168.10.0 0.0.0.255
[VR2-ospf-2-area-0.0.0.0] network 10.214.20.0 0.0.0.255
[VR2-ospf-2-area-0.0.0.0] quit
[VR2-ospf-2] quit
# 在MCE上查看VPN實例vpn2的路由信息。
[MCE] display ip routing-table vpn-instance vpn2
Destinations : 13 Routes : 13
Destination/Mask Proto Pre Cost NextHop Interface
0.0.0.0/32 Direct 0 0 127.0.0.1 InLoop0
10.214.20.0/24 Direct 0 0 10.214.20.3 Vlan20
10.214.20.0/32 Direct 0 0 10.214.20.3 Vlan20
10.214.20.3/32 Direct 0 0 127.0.0.1 InLoop0
10.214.20.255/32 Direct 0 0 10.214.20.3 Vlan20
127.0.0.0/8 Direct 0 0 127.0.0.1 InLoop0
127.0.0.0/32 Direct 0 0 127.0.0.1 InLoop0
127.0.0.1/32 Direct 0 0 127.0.0.1 InLoop0
127.255.255.255/32 Direct 0 0 127.0.0.1 InLoop0
192.168.10.0/24 O_INTRA 10 2 10.214.20.2 Vlan20
224.0.0.0/4 Direct 0 0 0.0.0.0 NULL0
224.0.0.0/24 Direct 0 0 0.0.0.0 NULL0
255.255.255.255/32 Direct 0 0 127.0.0.1 InLoop0
可以看到,MCE已經通過OSPF學習到了VPN 2內的私網路由,並與VPN 1內的192.168.0.0路由信息分別維護在兩個路由表內,有效進行了隔離。
(3) MCE與PE間路由配置
# 在MCE上配置接口Vlan-interface30與VPN實例vpn1綁定,並配置接口的IP地址。
[MCE] interface vlan-interface 30
[MCE-Vlan-interface30] ip binding vpn-instance vpn1
[MCE-Vlan-interface30] ip address 30.1.1.1 24
[MCE-Vlan-interface30] quit
# 在MCE上配置接口Vlan-interface40與VPN實例vpn2綁定,並配置接口的IP地址。
[MCE] interface vlan-interface 40
[MCE-Vlan-interface40] ip binding vpn-instance vpn2
[MCE-Vlan-interface40] ip address 40.1.1.1 24
[MCE-Vlan-interface40] quit
# 在PE 1上配置接口Vlan-interface30與VPN實例vpn1綁定,並配置接口的IP地址。
[PE1] interface vlan-interface 30
[PE1-Vlan-interface30] ip binding vpn-instance vpn1
[PE1-Vlan-interface30] ip address 30.1.1.2 24
[PE1-Vlan-interface30] quit
# 在PE 1上配置接口Vlan-interface40與VPN實例vpn2綁定,並配置接口的IP地址。
[PE1] interface vlan-interface 40
[PE1-Vlan-interface40] ip binding vpn-instance vpn2
[PE1-Vlan-interface40] ip address 40.1.1.2 24
[PE1-Vlan-interface40] quit
# 配置MCE和PE 1的Loopback0接口,用於指定MCE和PE 1的Router ID,地址分別為101.101.10.1和100.100.10.1。配置步驟這裏省略。
# 配置MCE啟動OSPF進程10,該進程綁定到VPN實例vpn1,關閉OSPF實例的路由環路檢測功能,並配置域ID為10。
[MCE] ospf 10 router-id 101.101.10.1 vpn-instance vpn1
[MCE-ospf-10] vpn-instance-capability simple
[MCE-ospf-10] domain-id 10
# 在Area0區域發布30.1.1.0網段,並引入VPN 1的靜態路由。
[MCE-ospf-10] area 0
[MCE-ospf-10-area-0.0.0.0] network 30.1.1.0 0.0.0.255
[MCE-ospf-10-area-0.0.0.0] quit
[MCE-ospf-10] import-route static
# 配置PE 1啟動OSPF進程10,綁定到VPN實例vpn1,域ID為10,在Area0區域發布30.1.1.0網段。
[PE1] ospf 10 router-id 100.100.10.1 vpn-instance vpn1
[PE1-ospf-10] domain-id 10
[PE1-ospf-10] area 0
[PE1-ospf-10-area-0.0.0.0] network 30.1.1.0 0.0.0.255
[PE1-ospf-10-area-0.0.0.0] quit
[PE1-ospf-10] quit
# MCE與PE 1間配置OSPF進程20,導入VPN實例vpn2的路由信息的過程與上麵介紹的配置基本一致,不同的是在MCE的OSPF中配置導入的是OSPF進程2的路由,這裏不再贅述。
# 顯示PE 1上的VPN 1路由信息。可以看到,VPN 1內的靜態路由已經引入到MCE與PE 1間的OSPF路由表中。
[PE1] display ip routing-table vpn-instance vpn1
Destinations : 13 Routes : 13
Destination/Mask Proto Pre Cost NextHop Interface
0.0.0.0/32 Direct 0 0 127.0.0.1 InLoop0
30.1.1.0/24 Direct 0 0 30.1.1.2 Vlan30
30.1.1.0/32 Direct 0 0 30.1.1.2 Vlan30
30.1.1.2/32 Direct 0 0 127.0.0.1 InLoop0
30.1.1.255/32 Direct 0 0 30.1.1.2 Vlan30
127.0.0.0/8 Direct 0 0 127.0.0.1 InLoop0
127.0.0.0/32 Direct 0 0 127.0.0.1 InLoop0
127.0.0.1/32 Direct 0 0 127.0.0.1 InLoop0
127.255.255.255/32 Direct 0 0 127.0.0.1 InLoop0
192.168.0.0/24 O_ASE2 150 1 30.1.1.1 Vlan30
224.0.0.0/4 Direct 0 0 0.0.0.0 NULL0
224.0.0.0/24 Direct 0 0 0.0.0.0 NULL0
255.255.255.255/32 Direct 0 0 127.0.0.1 InLoop0
# 顯示PE 1上的VPN 2路由信息。可以看到,VPN 2內OSPF進程20的路由已經引入到MCE與PE 1間的OSPF路由表中。
[PE1] display ip routing-table vpn-instance vpn2
Destinations : 13 Routes : 13
Destination/Mask Proto Pre Cost NextHop Interface
0.0.0.0/32 Direct 0 0 127.0.0.1 InLoop0
40.1.1.0/24 Direct 0 0 40.1.1.2 Vlan40
40.1.1.0/32 Direct 0 0 40.1.1.2 Vlan40
40.1.1.2/32 Direct 0 0 127.0.0.1 InLoop0
40.1.1.255/32 Direct 0 0 40.1.1.2 Vlan40
127.0.0.0/8 Direct 0 0 127.0.0.1 InLoop0
127.0.0.0/32 Direct 0 0 127.0.0.1 InLoop0
127.0.0.1/32 Direct 0 0 127.0.0.1 InLoop0
127.255.255.255/32 Direct 0 0 127.0.0.1 InLoop0
192.168.10.0/24 O_ASE2 150 1 40.1.1.1 Vlan40
224.0.0.0/4 Direct 0 0 0.0.0.0 NULL0
224.0.0.0/24 Direct 0 0 0.0.0.0 NULL0
255.255.255.255/32 Direct 0 0 127.0.0.1 InLoop0
至此,通過配置,已經將兩個VPN實例內的路由信息完整地傳播到PE 1中,配置完成。
· 使用以太網交換機作為MCE設備,將VPN 1和VPN 2內的私網路由發布到PE 1,使MPLS骨幹網絡兩端的VPN能夠正常通信。
· VPN 1和 VPN 2內部均使用OSPF協議,MCE與PE 1間使用EBGP協議。
圖1-5 配置MCE示例二組網圖
(1) VPN實例配置
# 在MCE和PE 1上創建VPN實例,並與接口綁定的配置與“1.7.1 配置MCE通過OSPF向PE發布VPN路由示例”中的配置類似,這裏不再贅述。
(2) MCE與Site間路由配置
# 配置兩個VPN實例內的設備啟動OSPF進程,發布各網段的路由,操作與普通OSPF配置相同,這裏不再贅述。
# 配置MCE的OSPF協議,進程10與VPN實例vpn1綁定,學習VPN 1內的路由。
<MCE> system-view
[MCE] ospf 10 router-id 10.10.10.1 vpn-instance vpn1
[MCE-ospf-10] area 0
[MCE-ospf-10-area-0.0.0.0] network 10.214.10.0 0.0.0.255
[MCE-ospf-10-area-0.0.0.0] quit
[MCE-ospf-10] quit
# 顯示VPN 1的路由信息。
[MCE] display ip routing-table vpn-instance vpn1
Destinations : 13 Routes : 13
Destination/Mask Proto Pre Cost NextHop Interface
0.0.0.0/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.0/32 Direct 0 0 10.214.10.3 Vlan10
10.214.10.3/32 Direct 0 0 127.0.0.1 InLoop0
10.214.10.255/32 Direct 0 0 10.214.10.3 Vlan10
127.0.0.0/8 Direct 0 0 127.0.0.1 InLoop0
127.0.0.0/32 Direct 0 0 127.0.0.1 InLoop0
127.0.0.1/32 Direct 0 0 127.0.0.1 InLoop0
127.255.255.255/32 Direct 0 0 127.0.0.1 InLoop0
192.168.0.0/24 O_INTRA 10 2 10.214.10.2 Vlan10
224.0.0.0/4 Direct 0 0 0.0.0.0 NULL0
224.0.0.0/24 Direct 0 0 0.0.0.0 NULL0
255.255.255.255/32 Direct 0 0 127.0.0.1 InLoop0
可以看到,MCE已經通過OSPF進程10學習到了VPN 1內的路由。
# 配置MCE的OSPF進程20與VPN實例vpn2綁定,學習VPN 2內的路由,配置與上麵配置OSPF進程10類似。這裏直接顯示配置結果。
[MCE] display ip routing-table vpn-instance vpn2
Destinations : 13 Routes : 13
Destination/Mask Proto Pre Cost NextHop Interface
0.0.0.0/32 Direct 0 0 127.0.0.1 InLoop0
10.214.20.0/24 Direct 0 0 10.214.20.3 Vlan20
10.214.20.0/32 Direct 0 0 10.214.20.3 Vlan20
10.214.20.3/32 Direct 0 0 127.0.0.1 InLoop0
10.214.20.255/32 Direct 0 0 10.214.20.3 Vlan20
127.0.0.0/8 Direct 0 0 127.0.0.1 InLoop0
127.0.0.0/32 Direct 0 0 127.0.0.1 InLoop0
127.0.0.1/32 Direct 0 0 127.0.0.1 InLoop0
127.255.255.255/32 Direct 0 0 127.0.0.1 InLoop0
192.168.10.0/24 O_INTRA 10 2 10.214.20.2 Vlan20
224.0.0.0/4 Direct 0 0 0.0.0.0 NULL0
224.0.0.0/24 Direct 0 0 0.0.0.0 NULL0
255.255.255.255/32 Direct 0 0 127.0.0.1 InLoop0
(3) MCE與PE間路由配置
# 配置MCE與PE 1間通過Trunk端口進行連接,配置與“1.7.1 配置MCE通過OSPF向PE發布VPN路由示例”中的配置類似,這裏不再贅述。
# 配置MCE啟動BGP進程,指定本地設備所在的AS號為100。進入VPN實例vpn1的BGP-VPN實例視圖,並在該視圖下指定PE 1(PE 1與實例vpn1綁定的接口地址為30.1.1.2/24,BGP進程為200)為EBGP對等體。
[MCE] bgp 100
[MCE-bgp-default] ip vpn-instance vpn1
[MCE-bgp-default-vpn1] peer 30.1.1.2 as-number 200
# 在BGP-VPN IPv4單播地址族視圖下,激活EBGP對等體30.1.1.2,並引入OSPF進程10的路由信息。
[MCE-bgp-default-vpn1] address-family ipv4
[MCE-bgp-default-ipv4-vpn1] peer 30.1.1.2 enable
[MCE-bgp-default-ipv4-vpn1] import-route ospf 10
# 在PE 1上啟動BGP進程,指定本地設備所在的AS號為200,並指定MCE為EBGP對等體。
[PE1] bgp 200
[PE1-bgp-default] ip vpn-instance vpn1
[PE1-bgp-default-vpn1] peer 30.1.1.1 as-number 100
[PE1-bgp-default-vpn1] address-family ipv4
[PE1-bgp-default-ipv4-vpn1] peer 30.1.1.1 enable
[PE1-bgp-default-ipv4-vpn1] quit
[PE1-bgp-default-vpn1] quit
[PE1-bgp-default] quit
# 對於VPN 2,在MCE和PE 1上進行類似的配置,將VPN實例vpn2的OSPF路由信息引入到EBGP路由中。這裏不再敘述配置過程。
# 顯示PE 1上VPN實例vpn1的路由信息。
[PE1] display ip routing-table vpn-instance vpn1
Destinations : 13 Routes : 13
Destination/Mask Proto Pre Cost NextHop Interface
0.0.0.0/32 Direct 0 0 127.0.0.1 InLoop0
30.1.1.0/24 Direct 0 0 30.1.1.2 Vlan30
30.1.1.0/32 Direct 0 0 30.1.1.2 Vlan30
30.1.1.2/32 Direct 0 0 127.0.0.1 InLoop0
30.1.1.255/32 Direct 0 0 30.1.1.2 Vlan30
127.0.0.0/8 Direct 0 0 127.0.0.1 InLoop0
127.0.0.0/32 Direct 0 0 127.0.0.1 InLoop0
127.0.0.1/32 Direct 0 0 127.0.0.1 InLoop0
127.255.255.255/32 Direct 0 0 127.0.0.1 InLoop0
192.168.0.0/24 BGP 255 3 30.1.1.1 Vlan30
224.0.0.0/4 Direct 0 0 0.0.0.0 NULL0
224.0.0.0/24 Direct 0 0 0.0.0.0 NULL0
255.255.255.255/32 Direct 0 0 127.0.0.1 InLoop0
# 顯示PE 1上VPN實例vpn2的路由信息。
[PE1] display ip routing-table vpn-instance vpn2
Destinations : 13 Routes : 13
Destination/Mask Proto Pre Cost NextHop Interface
0.0.0.0/32 Direct 0 0 127.0.0.1 InLoop0
40.1.1.0/24 Direct 0 0 40.1.1.2 Vlan40
40.1.1.0/32 Direct 0 0 40.1.1.2 Vlan40
40.1.1.2/32 Direct 0 0 127.0.0.1 InLoop0
40.1.1.255/32 Direct 0 0 40.1.1.2 Vlan40
127.0.0.0/8 Direct 0 0 127.0.0.1 InLoop0
127.0.0.0/32 Direct 0 0 127.0.0.1 InLoop0
127.0.0.1/32 Direct 0 0 127.0.0.1 InLoop0
127.255.255.255/32 Direct 0 0 127.0.0.1 InLoop0
192.168.10.0/24 BGP 255 3 40.1.1.1 Vlan40
224.0.0.0/4 Direct 0 0 0.0.0.0 NULL0
224.0.0.0/24 Direct 0 0 0.0.0.0 NULL0
255.255.255.255/32 Direct 0 0 127.0.0.1 InLoop0
MPLS L3VPN應用於IPv4組網環境,利用BGP在服務提供商骨幹網上發布VPN的IPv4路由,利用MPLS在服務提供商骨幹網上轉發VPN的IPv4報文。
IPv6 MPLS L3VPN的原理與MPLS L3VPN相同,所不同的是IPv6 MPLS L3VPN利用BGP在服務提供商骨幹網上發布VPN的IPv6路由,利用MPLS在服務提供商骨幹網上轉發VPN的IPv6報文。
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應用組網圖
在IPv6 MPLS L3VPN組網環境中,IPv6 MCE在內網和PE之間發布IPv6路由,並交互IPv6報文。IPv6 MCE的工作原理與MCE相同,詳細內容請參見1.2 MCE簡介。
配置IPv6 MCE的關鍵在於管理VPN私網路由在MPLS骨幹網上的發布,包括MCE與站點之間的路由交換以及MCE與PE之間的路由交換。
表2-1 IPv6 MCE配置任務簡介
配置任務 |
說明 |
詳細配置 |
|
配置VPN實例 |
創建VPN實例 |
必選 |
|
配置VPN實例與接口關聯 |
必選 |
||
配置VPN實例的路由相關屬性 |
可選 |
||
配置MCE的路由交換 |
配置MCE與站點之間的路由交換 |
必選 |
|
配置MCE與PE之間的路由交換 |
必選 |
VPN實例不僅可以隔離VPN私網路由與公網路由,還可以隔離不同VPN實例的路由,這一特點使得VPN實例的使用不限於MPLS L3VPN。
配置VPN實例的操作是在PE或MCE設備上進行的。
VPN實例在實現中與Site關聯。VPN實例不是直接對應於VPN,一個VPN實例綜合了和它所對應Site的VPN成員關係和路由規則。
表2-2 創建VPN實例
操作 |
命令 |
說明 |
|
進入係統視圖 |
system-view |
- |
|
創建VPN實例,並進入VPN實例視圖 |
ip vpn-instance vpn-instance-name |
缺省情況下,不存在VPN實例 |
|
配置VPN實例的RD |
route-distinguisher route-distinguisher |
缺省情況下,未配置VPN實例的RD |
|
(可選)配置VPN實例的描述信息 |
description text |
缺省情況下,未配置VPN實例的描述信息 描述信息用於描述VPN實例,可以用來記錄VPN實例與某個VPN的關係等信息 |
|
(可選)配置VPN實例的ID |
vpn-id vpn-id |
缺省情況下,未配置VPN實例的ID |
|
執行ip binding vpn-instance命令將刪除接口上已經配置的IPv6地址,因此需要重新配置接口的IPv6地址。
VPN實例配置完成後,還需要與連接CE的接口進行關聯。
表2-3 配置VPN實例與接口關聯
操作 |
命令 |
說明 |
進入係統視圖 |
system-view |
- |
進入接口視圖 |
interface interface-type interface-number |
- |
配置接口與指定VPN實例關聯 |
ip binding vpn-instance vpn-instance-name |
缺省情況下,接口未關聯VPN實例,接口屬於公網 |
表2-4 配置VPN實例的路由相關屬性
操作 |
命令 |
說明 |
||
進入係統視圖 |
system-view |
- |
||
進入VPN實例視圖或VPN實例IPv6 VPN視圖 |
進入VPN實例視圖 |
ip vpn-instance vpn-instance-name |
VPN實例視圖下配置的路由相關屬性既可以用於IPv4 VPN,也可以用於IPv6 VPN 既可以在VPN實例視圖下,也可以在VPN實例IPv6 VPN視圖下,配置IPv6 VPN的路由相關屬性。如果同時在兩個視圖下配置了路由相關屬性,則IPv6 VPN采用VPN實例IPv6 VPN視圖下配置的路由相關屬性 |
|
進入VPN實例IPv6 VPN視圖 |
ip vpn-instance vpn-instance-name |
|||
address-family ipv6 |
||||
配置VPN Target |
vpn-target vpn-target&<1-8> [ both | export-extcommunity | import-extcommunity ] |
缺省情況下,未配置VPN實例的VPN Target |
||
配置支持的最大激活路由前綴數 |
routing-table limit number { warn-threshold | simply-alert } |
缺省情況下,未限製VPN實例支持的最多激活路由前綴數 配置一個VPN實例可以支持的最大激活路由前綴數,可以防止PE路由器上保存過多的激活路由前綴信息 |
||
應用入方向路由策略 |
import route-policy route-policy |
缺省情況下,接收所有VPN Target屬性匹配的路由 執行本配置時,需要創建路由策略。路由策略的詳細介紹,請參見“三層技術-IP路由配置指導”中的“路由策略” |
||
應用出方向路由策略 |
export route-policy route-policy |
缺省情況下,不對發布的路由進行過濾 執行本配置時,需要創建路由策略。路由策略的詳細介紹,請參見“三層技術-IP路由配置指導”中的“路由策略” |
||
配置VPN實例的隧道策略 |
tnl-policy tunnel-policy-name |
缺省情況下,隧道策略為按照LSP隧道->CR-LSP隧道的優先級順序選擇隧道,負載分擔條數為1 為VPN實例配置隧道策略之前必須先創建隧道策略,否則將采用缺省策略 隧道策略的創建及配置方法,請參見“MPLS配置指導”中的“隧道策略” |
|
MCE可以看作一種通過路由隔離實現業務隔離的組網方案。配置MCE的關鍵為:
· 配置MCE與站點之間的路由交換
· 配置MCE與PE之間的路由交換
在MCE組網方案中,路由計算時需要關閉PE上的路由環路檢測功能,防止路由丟失;同時禁止各路由協議互操作功能,以節省係統資源。
在配置MCE之前,需要先在MCE上創建VPN實例,並將MCE連接站點和PE的接口與VPN實例綁定。
MCE可以通過IPv6靜態路由與Site連接。傳統CE配置的IPv6靜態路由對全局生效,無法解決多VPN間的地址重疊問題。以太網交換機提供的MCE功能可以將IPv6靜態路由與VPN實例相綁定,將各IPv6 VPN之間的IPv6靜態路由進行隔離。
表2-5 配置MCE與站點之間使用IPv6靜態路由
操作 |
命令 |
說明 |
進入係統視圖 |
system-view |
- |
為指定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 } [ permanent ] [ preference preference ] [ tag tag-value ] [ description text ] |
缺省情況下,未配置IPv6靜態路由 該配置在MCE上進行,站點上的配置方法與普通IPv6靜態路由相同 |
(可選)配置IPv6靜態路由的缺省優先級 |
ipv6 route-static default-preference default-preference |
缺省情況下,IPv6靜態路由的缺省優先級為60 |
一個RIPng進程隻能屬於一個IPv6 VPN實例。如果在啟動RIPng進程時不綁定到IPv6 VPN實例,則該進程屬於公網進程。通過在MCE上將RIPng進程與IPv6 VPN實例綁定,可以使不同IPv6 VPN內的私網路由通過不同的RIPng進程在Site和MCE間進行交互,保證了私網路由的隔離和安全。有關RIPng的介紹和詳細配置,請參見“三層技術-IP路由配置指導”中的“RIPng”。
表2-6 配置MCE與站點之間使用RIPng
操作 |
命令 |
說明 |
進入係統視圖 |
system-view |
- |
創建MCE與站點間的RIPng實例,並進入RIPng視圖 |
ripng [ process-id ] vpn-instance vpn-instance-name |
該配置在MCE上進行,站點上配置普通RIPng即可 |
引入由PE發布的遠端站點的路由 |
import-route protocol [ process-id ] [ allow-ibgp ] [ allow-direct | cost cost-value | route-policy route-policy-name ] * |
缺省情況下,RIPng未引入其它路由 |
退回係統視圖 |
quit |
- |
進入接口視圖 |
interface interface-type interface-number |
- |
在接口上使能RIPng路由協議 |
ripng process-id enable |
缺省情況下,接口禁用RIPng路由協議 |
一個OSPFv3進程隻能屬於一個IPv6 VPN實例。如果在啟動OSPFv3進程時不綁定到IPv6 VPN實例,則該進程屬於公網進程。
通過在MCE上將OSPFv3進程與IPv6 VPN實例綁定,可以使不同IPv6 VPN內的私網路由通過不同的OSPFv3進程在Site和MCE間進行交互,保證了私網路由的隔離和安全。
有關OSPFv3的介紹和詳細配置,請參見“三層技術-IP路由配置指導”中的“OSPFv3”。
表2-7 配置MCE與站點之間使用OSPFv3
操作 |
命令 |
說明 |
進入係統視圖 |
system-view |
- |
創建MCE與站點間的OSPFv3實例,並進入OSPFv3視圖 |
ospfv3 [ process-id | vpn-instance vpn-instance-name ] * |
該配置在MCE上進行,站點上配置普通OSPFv3即可 刪除VPN實例後,相關的所有OSPFv3進程也將全部被刪除 |
配置Router ID |
router-id router-id |
- |
引入由PE發布的遠端站點的路由 |
import-route protocol [ process-id | all-processes | allow-ibgp ] [ allow-direct | cost cost-value | nssa-only | route-policy route-policy-name | tag tag | type type ] * |
缺省情況下,沒有引入其他協議的路由信息 |
退回係統視圖 |
quit |
- |
進入接口視圖 |
interface interface-type interface-number |
- |
在接口上使能OSPFv3 |
ospfv3 process-id area area-id [ instance instance-id ] |
缺省情況下,接口上沒有使能OSPFv3 |
一個IPv6 IS-IS進程隻能屬於一個IPv6 VPN實例。如果在啟動IPv6 IS-IS進程時不綁定到IPv6 VPN實例,則該進程屬於公網進程。
通過在MCE上將IPv6 IS-IS進程與IPv6 VPN實例綁定,可以使不同IPv6 VPN內的私網路由通過不同的IPv6 IS-IS進程在Site和MCE間進行交互,保證了私網路由的隔離和安全。
有關IPv6 IS-IS的介紹和詳細配置,請參見“三層技術-IP路由配置指導”中的“IPv6 IS-IS”。
表2-8 配置MCE與站點之間使用IPv6 IS-IS
操作 |
命令 |
說明 |
進入係統視圖 |
system-view |
- |
創建MCE與站點間的IPv6 IS-IS實例,並進入IS-IS視圖 |
isis [ process-id ] vpn-instance vpn-instance-name |
該配置在MCE上進行,站點上配置普通IPv6 IS-IS即可 |
配置網絡實體名稱 |
network-entity net |
缺省情況下,未配置網絡實體名稱 |
創建並進入IS-IS IPv6單播地址族視圖 |
address-family ipv6 [ unicast ] |
缺省情況下,不存在IS-IS IPv6單播地址族視圖 |
(可選)引入由PE發布的遠端站點的路由 |
import-route protocol [ process-id ] [ allow-ibgp ] [ allow-direct | cost cost-value | [ level-1 | level-1-2 | level-2 ] | route-policy route-policy-name | tag tag ] * |
缺省情況下,IPv6 IS-IS不引入其它協議的路由信息 如果import-route命令中不指定引入的級別,則默認為引入路由到Level-2路由表中 |
退回係統視圖 |
quit |
- |
進入接口視圖 |
interface interface-type interface-number |
- |
使能接口IS-IS路由進程的IPv6能力,並指定要關聯的IS-IS進程號 |
isis ipv6 enable [ process-id ] |
缺省情況下,接口上沒有使能IS-IS路由進程的IPv6能力 |
MCE與站點間使用EBGP交換路由信息時,需要在MCE上為每個IPv6 VPN實例配置IPv6 BGP對等體,並在站點上引入相應IPv6 VPN內的IGP路由信息。
有關IPv6 BGP協議的配置,請參見“三層技術-IP路由配置指導”中的“BGP”。
(1) MCE上的配置
表2-9 配置MCE與站點之間使用EBGP
操作 |
命令 |
說明 |
|
進入係統視圖 |
system-view |
- |
|
進入BGP實例視圖 |
bgp as-number [ instance instance-name ] |
- |
|
進入BGP-VPN實例視圖 |
ip vpn-instance vpn-instance-name |
- |
|
配置IPv6 BGP對等體的AS號 |
peer { group-name | ipv6-address [ prefix-length ] } as-number as-number |
缺省情況下,不存在BGP對等體 |
|
進入BGP-VPN IPv6單播地址族視圖 |
address-family ipv6 [ unicast ] |
- |
|
使能本地路由器與指定對等體交換IPv6單播路由信息的能力 |
peer { group-name | ipv6-address [ prefix-length ] } enable |
缺省情況下,本地路由器不能與對等體交換IPv6單播路由信息 |
|
引入由PE發布的遠端站點的路由 |
import-route protocol [ { process-id | all-processes } [ allow-direct | med med-value | route-policy route-policy-name ] * ] |
缺省情況下,BGP不引入且不通告其它協議的路由 |
(2) 站點上的配置
表2-10 站點上的配置
操作 |
命令 |
說明 |
進入係統視圖 |
system-view |
- |
進入BGP實例視圖 |
bgp as-number [ instance instance-name ] |
- |
將MCE配置為EBGP對等體 |
peer { group-name | ipv6-address [ prefix-length ] } as-number as-number |
缺省情況下,不存在BGP對等體 |
進入BGP IPv6單播地址族視圖 |
address-family ipv6 [ unicast ] |
- |
使能本地路由器與指定對等體交換IPv6單播路由信息的能力 |
peer { group-name | ipv6-address [ prefix-length ] } enable |
缺省情況下,本地路由器不能與對等體交換IPv6單播路由信息 |
引入VPN內的IGP路由 |
import-route protocol [ { process-id | all-processes } [ allow-direct | med med-value | route-policy route-policy-name ] * ] |
缺省情況下,BGP不引入且不通告其它協議的路由 站點需要將自己所能到達的IPv6 VPN網段地址發布給接入的MCE |
MCE與站點間使用IBGP交換路由信息時,需要在MCE上為每個VPN實例配置BGP對等體,並在站點上引入相應VPN內的IGP路由信息。
(1) MCE上的配置
表2-11 配置MCE與站點之間使用IBGP
操作 |
命令 |
說明 |
進入係統視圖 |
system-view |
- |
啟動BGP實例,並進入BGP實例視圖 |
bgp as-number [ instance instance-name ] |
缺省情況下,係統沒有運行BGP |
進入BGP-VPN實例視圖 |
ip vpn-instance vpn-instance-name |
- |
配置IBGP對等體 |
peer { group-name | ipv6-address [ prefix-length ] } as-number as-number |
缺省情況下,不存在BGP對等體和對等體組 |
進入BGP-VPN IPv6單播地址族視圖 |
address-family ipv6 [ unicast ] |
- |
使能本地路由器與指定對等體交換IPv6單播路由信息的能力 |
peer { group-name | ipv6-address [ prefix-length ] } enable |
缺省情況下,本地路由器不能與對等體交換IPv6單播路由信息 |
(可選)配置本地設備作為路由反射器,對端設備作為路由反射器的客戶端 |
peer { group-name | ipv6-address [ prefix-length ] } reflect-client |
缺省情況下,未配置路由反射器及其客戶端 將站點配置為IBGP對等體時,從該站點學習的BGP路由不會向其它IBGP對等體(包括VPNv6對等體)發送。隻有將站點配置為路由反射器的客戶端後,才能向其它IBGP對等體發送從該站點學習的路由 |
引入由PE發布的遠端站點的路由 |
import-route protocol [ { process-id | all-processes } [ allow-direct | med med-value | route-policy route-policy-name ] * ] |
缺省情況下,BGP不引入且不通告其它協議的路由 |
(2) 站點上的配置
表2-12 站點上的配置
操作 |
命令 |
說明 |
進入係統視圖 |
system-view |
- |
啟動BGP實例,並進入BGP實例視圖 |
bgp as-number [ instance instance-name ] |
缺省情況下,係統沒有運行BGP |
將MCE配置為IBGP對等體 |
peer { group-name | ipv6-address [ prefix-length ] } as-number as-number |
缺省情況下,不存在BGP對等體和對等體組 |
進入BGP IPv6單播地址族視圖 |
address-family ipv6 [ unicast ] |
- |
使能本地路由器與指定對等體交換IPv6單播路由信息的能力 |
peer { group-name | ipv6-address [ prefix-length ] } enable |
缺省情況下,本地路由器不能與對等體交換IPv6單播路由信息 |
配置引入VPN內的IGP路由 |
import-route protocol [ { process-id | all-processes } [ allow-direct | med med-value | route-policy route-policy-name ] * ] |
缺省情況下,BGP不引入且不通告其它協議的路由 站點需要將自己所能到達的VPN網段地址發布給接入的MCE |
由於在MCE設備上已經將站點內的私網路由信息與IPv6 VPN實例進行了綁定,因此,隻需要在MCE與PE之間將接口與IPv6 VPN實例進行綁定、進行簡單的路由配置、並將MCE上維護的站點內的IPv6 VPN路由引入到MCE-PE間的路由協議中,便可以實現私網VPN路由信息的傳播。
本節中的配置均在MCE上進行,PE上的配置與基本IPv6 MPLS L3VPN組網中PE上的配置相同,詳細介紹請參見“MPLS配置指導”中的“MPLS L3VPN”。
表2-13 配置MCE與PE之間使用IPv6靜態路由
操作 |
命令 |
說明 |
進入係統視圖 |
system-view |
- |
為指定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 } [ permanent ] [ preference preference ] [ tag tag-value ] [ description text ] |
缺省情況下,未配置IPv6靜態路由 |
(可選)配置IPv6靜態路由的缺省優先級 |
ipv6 route-static default-preference default-preference |
缺省情況下,IPv6靜態路由的缺省優先級為60 |
表2-14 配置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 ] [ allow-direct | cost cost-value | route-policy route-policy-name ] * |
缺省情況下,RIPng未引入其它路由 |
退回係統視圖 |
quit |
- |
進入接口視圖 |
interface interface-type interface-number |
- |
在指定的網絡接口上使能RIPng |
ripng process-id enable |
缺省情況下,接口禁用RIPng |
表2-15 配置MCE與PE之間使用OSPFv3
操作 |
命令 |
說明 |
進入係統視圖 |
system-view |
- |
創建MCE與PE間的OSPFv3實例,並進入OSPFv3視圖 |
ospfv3 [ process-id | vpn-instance vpn-instance-name ] * |
- |
配置Router ID |
router-id router-id |
- |
關閉OSPFv3實例的路由環路檢測功能 |
vpn-instance-capability simple |
缺省情況下,OSPFv3實例的路由環路檢測功能處於開啟狀態 需要在MCE上通過本命令關閉OSPFv3實例的路由環路檢測功能。否則,MCE不會接收PE發送過來的OSPFv3路由,導致路由丟失 |
引入站點內的VPN路由 |
import-route protocol [ process-id | all-processes | allow-ibgp ] [ allow-direct | cost cost-value | nssa-only | route-policy route-policy-name | tag tag | type type ] * |
缺省情況下,沒有引入其他協議的路由信息 |
退回係統視圖 |
quit |
- |
進入接口視圖 |
interface interface-type interface-number |
- |
在接口上使能OSPFv3 |
ospfv3 process-id area area-id [ instance instance-id ] |
缺省情況下,接口上沒有使能OSPFv3 |
表2-16 配置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單播地址族視圖 |
address-family ipv6 [ unicast ] |
缺省情況下,不存在IS-IS IPv6單播地址族視圖 |
引入站點內的VPN路由 |
import-route protocol [ process-id ] [ allow-ibgp ] [ allow-direct | cost cost-value | [ level-1 | level-1-2 | level-2 ] | route-policy route-policy-name | tag tag ] * |
缺省情況下,IPv6 IS-IS不引入其它協議的路由信息 如果import-route命令中不指定引入的級別,則默認為引入路由到Level-2路由表中 |
退回係統視圖 |
quit |
- |
進入接口視圖 |
interface interface-type interface-number |
- |
使能接口IS-IS路由進程的IPv6能力,並指定要關聯的IS-IS進程號 |
isis ipv6 enable [ process-id ] |
缺省情況下,接口上沒有使能IS-IS路由進程的IPv6能力 |
表2-17 配置MCE與PE之間使用EBGP
操作 |
命令 |
說明 |
進入係統視圖 |
system-view |
- |
進入BGP實例視圖 |
bgp as-number [ instance instance-name ] |
- |
進入BGP-VPN實例視圖 |
ip vpn-instance vpn-instance-name |
- |
將PE配置為EBGP對等體 |
peer { group-name | ipv6-address [ prefix-length ] } as-number as-number |
缺省情況下,不存在BGP對等體 |
進入BGP-VPN IPv6單播地址族視圖 |
address-family ipv6 [ unicast ] |
- |
使能本地路由器與指定對等體交換IPv6單播路由信息的能力 |
peer { group-name | ipv6-address [ prefix-length ] } enable |
缺省情況下,本地路由器不能與對等體交換IPv6單播路由信息 |
引入站點內的VPN路由 |
import-route protocol [ { process-id | all-processes } [ allow-direct | med med-value | route-policy route-policy-name ] * ] |
缺省情況下,BGP不引入且不通告其它協議的路由 |
表2-18 配置MCE與PE之間使用IBGP
操作 |
命令 |
說明 |
進入係統視圖 |
system-view |
- |
啟動BGP實例,並進入BGP實例視圖 |
bgp as-number [ instance instance-name ] |
缺省情況下,係統沒有運行BGP |
進入BGP-VPN實例視圖 |
ip vpn-instance vpn-instance-name |
- |
將PE配置為IBGP對等體 |
peer { group-name | ipv6-address [ prefix-length ] } as-number as-number |
缺省情況下,不存在BGP對等體和對等體組 |
進入BGP-VPN IPv6單播地址族視圖 |
address-family ipv6 [ unicast ] |
- |
使能本地路由器與指定對等體交換IPv6單播路由信息的能力 |
peer { group-name | ipv6-address [ prefix-length ] } enable |
缺省情況下,本地路由器不能與對等體交換IPv6單播路由信息 |
引入站點內的VPN路由 |
import-route protocol [ { process-id | all-processes } [ allow-direct | med med-value | route-policy route-policy-name ] * ] |
缺省情況下,BGP不引入且不通告其它協議的路由 |
在完成上述配置後,在任意視圖下執行display命令可以顯示配置後IPv6 MCE的運行情況,通過查看顯示信息驗證配置的效果。
表2-19 IPv6 MCE顯示和維護
操作 |
命令 |
顯示指定VPN實例信息 |
display ip vpn-instance [ instance-name vpn-instance-name ] |
VPN實例中路由表的命令請參見“三層技術-IP路由命令參考”中的“IP路由基礎命令”。
MCE設備連接兩個VPN:VPN 1和VPN 2,VPN 2內運行RIPng路由協議。MCE設備將兩個VPN之間的路由隔離,並通過OSPFv3將各VPN的路由發布到PE 1。
圖2-2 配置IPv6 MCE組網圖
為區分設備,假設MCE係統名為“MCE”,VPN 1和VPN 2的邊緣設備分別名為“VR1”和“VR2”,PE 1係統名為“PE1”。
(1) 在MCE和PE 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
# 在MCE上配置Vlan-interface10接口與VPN實例vpn1綁定,並配置接口的IPv6地址。
[MCE] interface vlan-interface 10
[MCE-Vlan-interface10] ip binding vpn-instance vpn1
[MCE-Vlan-interface10] ipv6 address 2001:1::1 64
[MCE-Vlan-interface10] quit
# 在MCE上配置Vlan-interface20接口與VPN實例vpn2綁定,並配置接口的IPv6地址。
[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
# 在PE 1上配置VPN實例,名稱分別為VPN1和VPN2,RD分別取值為10:1和20:1,VPN Target取值與RD相同,Export和Import均取此值。
<PE1> system-view
[PE1] ip vpn-instance vpn1
[PE1-vpn-instance-vpn1] route-distinguisher 10:1
[PE1-vpn-instance-vpn1] vpn-target 10:1
[PE1-vpn-instance-vpn1] quit
[PE1] ip vpn-instance vpn2
[PE1-vpn-instance-vpn2] route-distinguisher 20:1
[PE1-vpn-instance-vpn2] vpn-target 20:1
[PE1-vpn-instance-vpn2] quit
(2) MCE與Site間路由配置
MCE與VPN 1直接相連,且VPN 1內未使用路由協議,因此可以使用IPv6靜態路由進行配置。
# 配置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 2001:1::2
# VPN 2內運行RIPng,在MCE上配置RIPng進程20,並與VPN實例vpn2綁定,以便將VPN 2內的路由學習到VPN實例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,連接VPN 2接口的地址為2012::2/64(配置過程略)。
# 在VR 2上配置RIPng發布2012::/64和2002:1::/64網段路由。
<VR2> system-view
[VR2] ripng 20
[VR2-ripng-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實例vpn1和vpn2的路由信息。
[MCE] display ipv6 routing-table vpn-instance vpn1
Destinations : 6 Routes : 6
Destination: ::1/128 Protocol : Direct
NextHop : ::1 Preference: 0
Interface : InLoop0 Cost : 0
Destination: 2001:1::/64 Protocol : Direct
NextHop : :: 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
Destination: FF00::/8 Protocol : Direct
NextHop : :: Preference: 0
Interface : NULL0 Cost : 0
[MCE] display ipv6 routing-table vpn-instance vpn2
Destinations : 6 Routes : 6
Destination: ::1/128 Protocol : Direct
NextHop : ::1 Preference: 0
Interface : InLoop0 Cost : 0
Destination: 2002:1::/64 Protocol : Direct
NextHop : :: Preference: 0
Interface : Vlan20 Cost : 0
Destination: 2002:1::1/128 Protocol : Direct
NextHop : ::1 Preference: 0
Interface : InLoop0 Cost : 0
Destination: 2012::/64 Protocol : RIPng
NextHop : FE80::20C:29FF:FE40:701 Preference: 100
Interface : Vlan20 Cost : 1
Destination: FE80::/10 Protocol : Direct
NextHop : :: Preference: 0
Interface : NULL0 Cost : 0
Destination: FF00::/8 Protocol : Direct
NextHop : :: Preference: 0
Interface : NULL0 Cost : 0
可以看到,MCE已經通過RIPng學習到了VPN 2內的私網路由,並與VPN 1內的路由信息分別維護在兩個路由表內,有效進行了隔離。
(3) MCE與PE間路由配置
# 在MCE上配置接口Vlan-interface30與VPN實例vpn1綁定,並配置接口的IPv6地址。
[MCE] vlan 30
[MCE-vlan30] quit
[MCE] interface vlan-interface 30
[MCE-Vlan-interface30] ip binding vpn-instance vpn1
[MCE-Vlan-interface30] ipv6 address 30::1 64
[MCE-Vlan-interface30] quit
# 在MCE上配置接口Vlan-interface40與VPN實例vpn2綁定,並配置接口的IPv6地址。
[MCE] interface vlan-interface 40
[MCE-Vlan-interface40] ip binding vpn-instance vpn2
[MCE-Vlan-interface40] ipv6 address 40::1 64
[MCE-Vlan-interface40] quit
# 在PE 1上配置接口Vlan-interface30與VPN實例vpn1綁定,並配置接口的IPv6地址。
[PE1] interface vlan-interface 30
[PE1-Vlan-interface30] ip binding vpn-instance vpn1
[PE1-Vlan-interface30] ipv6 address 30::2 64
[PE1-Vlan-interface30] quit
# 在PE 1上配置接口Vlan-interface40與VPN實例vpn2綁定,並配置接口的IPv6地址。
[PE1] interface vlan-interface 40
[PE1-Vlan-interface40] ip binding vpn-instance vpn2
[PE1-Vlan-interface40] ipv6 address 40::2 64
[PE1-Vlan-interface40] quit
# 配置MCE和PE 1的Loopback0接口,用於指定MCE和PE 1的Router ID,地址分別為101.101.10.1和100.100.10.1。配置步驟這裏省略。
# 配置MCE啟動OSPFv3進程10,綁定到VPN實例vpn1,並引入VPN 1的IPv6靜態路由。
[MCE] ospfv3 10 vpn-instance vpn1
[MCE-ospf-10] router-id 101.101.10.1
[MCE-ospf-10] import-route static
[MCE-ospf-10] quit
# 在Vlan-interface30中使能OSPFv3。
[MCE] interface vlan-interface 30
[MCE-Vlan-interface30] ospfv3 10 area 0.0.0.0
[MCE-Vlan-interface30] quit
# 配置PE 1啟動OSPFv3進程10,綁定到VPN實例vpn1。
[PE1] ospfv3 10 vpn-instance vpn1
[PE1-ospf-10] router-id 100.100.10.1
[PE1-ospf-10] quit
# 在Vlan-interface30中使能OSPFv3。
[PE1] interface vlan-interface 30
[PE1-Vlan-interface30] ospfv3 10 area 0.0.0.0
[PE1-Vlan-interface30] quit
# MCE與PE 1間配置OSPFv3進程20,引入VPN實例vpn2的路由信息的過程與上麵介紹的配置基本一致,不同的是在MCE的OSPFv3中配置引入的是RIPng進程20的路由,這裏不再贅述。
# 顯示PE 1上的VPN 1路由信息。可以看到,PE 1通過OSPFv3學習到了VPN 1內的私網路由。
[PE1] display ipv6 routing-table vpn-instance vpn1
Destinations : 6 Routes : 6
Destination: ::1/128 Protocol : Direct
NextHop : ::1 Preference: 0
Interface : InLoop0 Cost : 0
Destination: 30::/64 Protocol : Direct
NextHop : :: Preference: 0
Interface : Vlan30 Cost : 0
Destination: 30::2/128 Protocol : Direct
NextHop : ::1 Preference: 0
Interface : InLoop0 Cost : 0
Destination: 2012:1::/64 Protocol : O_ASE2
NextHop : FE80::202:FF:FE02:2 Preference: 150
Interface : Vlan30 Cost : 1
Destination: FE80::/10 Protocol : Direct
NextHop : :: Preference: 0
Interface : NULL0 Cost : 0
Destination: FF00::/8 Protocol : Direct
NextHop : :: Preference: 0
Interface : NULL0 Cost : 0
# 通過下麵的顯示信息可以看出,PE 1通過OSPFv3學習到了VPN 2內的私網路由。
[PE1] display ipv6 routing-table vpn-instance vpn2
Destinations : 6 Routes : 6
Destination: ::1/128 Protocol : Direct
NextHop : ::1 Preference: 0
Interface : InLoop0 Cost : 0
Destination: 40::/64 Protocol : Direct
NextHop : :: Preference: 0
Interface : Vlan40 Cost : 0
Destination: 40::2/128 Protocol : Direct
NextHop : ::1 Preference: 0
Interface : InLoop0 Cost : 0
Destination: 2012::/64 Protocol : O_ASE2
NextHop : FE80::200:FF:FE0F:5 Preference: 150
Interface : Vlan40 Cost : 1
Destination: FE80::/10 Protocol : Direct
NextHop : :: Preference: 0
Interface : NULL0 Cost : 0
Destination: FF00::/8 Protocol : Direct
NextHop : :: Preference: 0
Interface : NULL0 Cost : 0
至此,通過配置,已經將兩個VPN實例內的路由信息完整地傳播到PE 1中,配置完成。
不同款型規格的資料略有差異, 詳細信息請向具體銷售和400谘詢。H3C保留在沒有任何通知或提示的情況下對資料內容進行修改的權利!