13-MCE配置
本章節下載: 13-MCE配置 (673.52 KB)
目 錄
MCE(Multi-VPN-Instance Customer Edge,多VPN實例用戶網絡邊界設備)特性用於MPLS L3VPN網絡。它通過路由隔離實現業務隔離的組網方案,在允許多個VPN共享CE的同時,提供用戶數據的安全性。
MPLS L3VPN是一種三層VPN技術,它使用BGP在服務提供商骨幹網上發布用戶站點的私網路由,使用MPLS在服務提供商骨幹網上轉發用戶站點之間的私網報文,從而實現通過服務提供商的骨幹網連接屬於同一個VPN、位於不同地理位置的用戶站點。MPLS L3VPN組網方式靈活,可擴展性好,並能夠方便地支持MPLS QoS和MPLS TE,因此得到了廣泛的應用。
傳統的MPLS L3VPN架構要求每個用戶站點單獨使用一個CE與PE相連。隨著用戶業務的不斷細化和安全需求的提高,一個私有網絡內的用戶可能需要劃分成多個VPN,不同VPN用戶間的業務需要完全隔離。此時,為每個VPN單獨配置一台CE將加大用戶的設備開支和維護成本;而多個VPN共用一台CE,使用同一個路由表項,又無法保證數據的安全性。
MCE功能通過在CE設備上建立VPN實例,為不同的VPN提供邏輯獨立的路由轉發表和地址空間,使多個VPN可以共享一個CE。該CE設備稱為MCE設備。MCE功能有效地解決了多VPN網絡帶來的用戶數據安全與網絡成本之間的矛盾。
MPLS L3VPN的基本網絡架構如圖1-1所示。MPLS L3VPN網絡中設備的角色分為以下幾種:
· CE(Customer Edge,用戶網絡邊緣)設備:直接與服務提供商網絡相連的用戶網絡側設備。CE“感知”不到VPN的存在,也不需要支持MPLS。
· PE(Provider Edge,服務提供商網絡邊緣)設備:與CE相連的服務提供商網絡側設備。在MPLS L3VPN網絡中,對VPN的所有處理都發生在PE上。
· P(Provider,服務提供商網絡)設備:服務提供商網絡中的骨幹設備,不與CE直接相連。P隻需要在骨幹網中將用戶網絡報文轉發給正確的遠端PE,不需要維護和處理VPN信息。
圖1-1 MPLS L3VPN基本網絡架構
Site(站點)的含義可以從下述幾個方麵理解:
· 站點是指相互之間具備IP連通性的一組IP係統,並且這組IP係統的IP連通性不需通過服務提供商網絡實現;
· 站點的劃分是根據設備的拓撲關係,而不是地理位置,盡管在大多數情況下一個站點中的設備地理位置相鄰;
· 一個站點中的設備可以屬於多個VPN,換言之,一個站點可以屬於多個VPN;
· 站點通過CE連接到服務提供商網絡,一個站點可以包含多個CE,但一個CE隻屬於一個站點。
對於多個連接到同一服務提供商網絡的站點,通過製定策略,可以將它們劃分為不同的集合(set),隻有屬於相同集合的站點之間才能通過服務提供商網絡互訪,這種集合就是VPN。
在MPLS L3VPN中,不同VPN之間的路由隔離通過VPN實例(VPN-instance)實現,VPN實例又稱為VRF(Virtual Routing and Forwarding,虛擬路由和轉發)實例。PE上每個VPN實例都有相對獨立的路由表和LFIB(Label Forwarding Information Base,標簽轉發信息庫),確保VPN數據的獨立性和安全性。
PE通過將與站點連接的接口與VPN實例關聯,實現該站點與VPN實例的關聯。一個站點隻能與一個VPN實例關聯;不同的站點可以關聯同一個VPN實例。VPN實例中包含了與其關聯的站點所屬的所有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)。
MPLS L3VPN使用VPN-IPv4地址(又稱為VPNv4地址)來解決上述問題。
圖1-2 VPN-IPv4地址結構
如圖1-2所示,VPN-IPv4地址共有12個字節,包括8字節的RD和4字節的IPv4地址前綴。其中,RD的作用是將其添加到一個IPv4地址前綴前,使之成為全局唯一的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從與自己直接相連的站點學習到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路由可以為哪些站點所接收,PE可以接收哪些站點發送來的路由。
與RD類似,VPN Target也有三種格式:
· 16位自治係統號:32位用戶自定義數字,例如:100:1。
· 32位IPv4地址:16位用戶自定義數字,例如:172.1.1.1:1。
· 32位自治係統號:16位用戶自定義數字,其中的自治係統號最小值為65536,例如:65536:1。
如圖1-3所示,MCE組網的關鍵是在MCE與用戶站點之間、MCE與PE之間交互私網路由,並將其正確學習到相應VPN實例的路由表中。其他處理與傳統的MPLS L3VPN相同,此處不再贅述。
· MCE與用戶站點之間的私網路由交互:在MCE設備上為VPN 1和VPN 2創建VPN實例,並使用接口Interface C與VPN 1進行綁定、接口Interface B與VPN 2進行綁定。在接收路由信息時,MCE設備根據路由的接收接口,即可判斷該路由信息的來源,並將其維護到對應VPN實例的路由表中。
· MCE與PE之間的私網路由交互:MCE和PE 1之間通過以太網子接口連接。在MCE上將接口Interface A.1與VPN 1綁定;將Interface A.2與VPN 2綁定。在PE 1上為VPN 1和VPN 2創建VPN實例,並將連接MCE的接口Interface A.1和Interface A.2與VPN實例綁定,綁定的方式與MCE設備一致。從而,使得MCE與PE之間交互的私網路由可以準確地學習到對應VPN實例的路由表中。
MCE與VPN站點之間、MCE與PE之間可以使用靜態路由、RIP、OSPF、IS-IS、EBGP或IBGP交換路由信息。
圖1-3 MCE工作原理示意圖
MCE設備上可以配置DHCP服務器或DHCP中繼功能,實現為私網內的DHCP客戶端動態分配IP地址。MCE作為DHCP服務器時,不同私網的IP地址空間不能重疊。
在MCE組網方案中,路由計算時需要關閉MCE上的路由環路檢測功能,防止路由丟失;同時禁止各路由協議互操作功能,以節省係統資源。
MCE配置任務如下:
(1) 配置VPN實例
配置VPN實例的操作是在PE和MCE設備上進行的。
a. 創建VPN實例
c. (可選)配置VPN實例的路由相關屬性
(2) 配置MCE與站點之間的路由交換
(3) 配置MCE與PE之間的路由交換
VPN實例在實現中與站點關聯。VPN實例不是直接對應於VPN,一個VPN實例綜合了和它所對應站點的VPN成員關係和路由規則。
(1) 進入係統視圖。
system-view
(2) 創建VPN實例,並進入VPN實例視圖。
ip vpn-instance vpn-instance-name
(3) 配置VPN實例的RD。
route-distinguisher route-distinguisher
缺省情況下,未配置VPN實例的RD。
(4) (可選)配置VPN實例的描述信息。
description text
缺省情況下,未配置VPN實例的描述信息。
(5) (可選)配置VPN實例的ID。
vpn-id vpn-id
缺省情況下,未配置VPN實例的ID。
(1) 進入係統視圖。
system-view
(2) 進入接口視圖。
interface interface-type interface-number
本接口為連接CE的接口。
(3) 配置接口與指定VPN實例關聯。
ip binding vpn-instance vpn-instance-name
缺省情況下,接口未關聯VPN實例,接口屬於公網。
配置或取消接口與VPN實例關聯後,該接口上的IP地址、路由協議等配置將被刪除。
執行本命令將刪除接口上已經配置的IP地址,因此需要重新配置接口的IP地址。
IPv4 VPN的路由相關屬性既可以在VPN實例視圖下,也可以在VPN實例IPv4地址族視圖下配置。如果同時在兩個視圖下配置了路由相關屬性,則IPv4 VPN采用VPN實例IPv4地址族視圖下配置的路由相關屬性。
配置VPN實例路由策略屬性時,需要創建路由策略。路由策略的詳細介紹,請參見“三層技術-IP路由配置指導”中的“路由策略”。
(1) 進入係統視圖。
system-view
(2) 進入VPN實例視圖或VPN實例IPv4地址族視圖。
¡ 進入VPN實例視圖。
ip vpn-instance vpn-instance-name
¡ 請依次執行以下命令進入VPN實例IPv4地址族視圖。
ip vpn-instance vpn-instance-name
address-family ipv4
(3) 配置VPN實例的VPN Target。
vpn-target vpn-target&<1-8> [ both | export-extcommunity | import-extcommunity ]
缺省情況下,未配置VPN實例的VPN Target。
(4) 配置VPN實例支持的最大激活路由前綴數。
routing-table limit number { warn-threshold | simply-alert }
缺省情況下,未限製VPN實例支持的最多激活路由前綴數。
配置一個VPN實例可以支持的最大激活路由前綴數,可以防止設備上保存過多的激活路由前綴信息。
(5) 對當前VPN實例應用入方向路由策略。
import route-policy route-policy
缺省情況下,允許所有VPN Target屬性匹配的路由通過。
(6) 對當前VPN實例應用出方向路由策略。
export route-policy route-policy
缺省情況下,不對發布的路由進行過濾。
MCE可以通過靜態路由與站點連接。傳統CE配置的靜態路由對全局生效,無法解決多VPN間的地址重疊問題。MCE功能可以將靜態路由與VPN實例相綁定,將各VPN之間的靜態路由進行隔離。
該配置在MCE上進行,站點上的配置方法與普通靜態路由相同。
(1) 進入係統視圖。
system-view
(2) 為指定VPN實例配置靜態路由。
ip route-static vpn-instance s-vpn-instance-name dest-address { mask-length | mask } { interface-type interface-number [ next-hop-address ] | next-hop-address [ public ] [ 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 ]
(3) (可選)配置靜態路由的缺省優先級。
ip route-static default-preference default-preference
缺省情況下,靜態路由的缺省優先級為60。
通過在MCE上將RIP進程與VPN實例綁定,可以使不同VPN內的私網路由通過不同的RIP進程在站點和MCE間進行交互,保證了私網路由的隔離和安全。RIP的介紹和詳細配置,請參見“三層技術-IP路由配置指導”中的“RIP”。
本配置在MCE上進行,站點上配置普通RIP即可。
(1) 進入係統視圖。
system-view
(2) 創建MCE與站點間的RIP實例,並進入RIP視圖。
rip [ process-id ] vpn-instance vpn-instance-name
一個RIP進程隻能屬於一個VPN實例。
(3) 在指定網段接口上使能RIP。
network network-address [ wildcard-mask ]
缺省情況下,接口上的RIP功能處於關閉狀態。
(4) 引入由PE發布的遠端站點的路由。
import-route protocol [ as-number ] [ process-id | all-processes | allow-ibgp ] [ allow-direct | cost cost-value | route-policy route-policy-name | tag tag ] *
缺省情況下,RIP未引入其它路由。
通過在MCE上將OSPF進程與VPN實例綁定,可以使不同VPN內的私網路由通過不同的OSPF進程在站點和MCE間進行交互,保證了私網路由的隔離和安全。OSPF的介紹和詳細配置,請參見“三層技術-IP路由配置指導”中的“OSPF”。
本配置在MCE上進行,站點上配置普通OSPF即可。
(1) 進入係統視圖。
system-view
(2) 創建MCE與站點間的OSPF實例,並進入OSPF視圖。
ospf [ process-id ] router-id router-id vpn-instance vpn-instance-name
參數 |
使用說明 |
router-id router-id |
VPN實例綁定的OSPF進程不使用係統視圖下配置的公網Router ID,因此在啟動進程時需要手工配置Router ID,或者所要綁定的VPN實例中至少有一個接口配置了IP地址 |
vpn-instance vpn-instance-name |
· 一個OSPF進程隻能屬於一個VPN實例 · 刪除VPN實例後,相關的所有OSPF進程也將全部被刪除 |
(3) 引入由PE發布的遠端站點的路由。
import-route protocol [ as-number ] [ process-id | all-processes | allow-ibgp ] [ allow-direct | cost cost-value | nssa-only | route-policy route-policy-name | tag tag | type type ] *
缺省情況下,沒有引入其他協議的路由信息。
(4) 配置OSPF區域,進入OSPF區域視圖。
area area-id
(5) 配置區域所包含的網段並在指定網段的接口上使能OSPF。
network ip-address wildcard-mask
缺省情況下,接口不屬於任何區域且OSPF功能處於關閉狀態。
通過在MCE上將IS-IS進程與VPN實例綁定,可以使不同VPN內的私網路由通過不同的IS-IS進程在站點和MCE間進行交互,保證了私網路由的隔離和安全。IS-IS協議的介紹和詳細配置,請參見“三層技術-IP路由配置指導”中的“IS-IS”。
該配置在MCE上進行,站點上配置普通IS-IS即可。
(1) 進入係統視圖。
system-view
(2) 創建MCE與站點間的IS-IS實例,並進入IS-IS視圖。
isis [ process-id ] vpn-instance vpn-instance-name
一個IS-IS進程隻能屬於一個VPN實例。
(3) 配置網絡實體名稱。
network-entity net
缺省情況下,未配置網絡實體名稱。
(4) 創建並進入IS-IS IPv4單播地址族視圖。
address-family ipv4 [ unicast ]
(5) 引入由PE發布的遠端站點的路由。
import-route protocol [ as-number ] [ 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路由表中。
(6) 退回係統視圖。
quit
(7) 進入接口視圖。
interface interface-type interface-number
(8) 使能接口IS-IS並指定要關聯的IS-IS進程號。
isis enable [ process-id ]
缺省情況下,接口上沒有使能IS-IS。
MCE與站點間使用EBGP交換路由信息時,需要在MCE上為每個VPN實例配置BGP對等體,並在站點上引入相應VPN內的IGP路由信息。
配置MCE的同時需要配置站點將自己所能到達的VPN網段地址發布給接入的MCE。
(1) 進入係統視圖。
system-view
(2) 啟動BGP實例,並進入BGP實例視圖。
bgp as-number [ instance instance-name ]
缺省情況下,係統沒有運行BGP。
(3) 進入BGP-VPN實例視圖。
ip vpn-instance vpn-instance-name
BGP-VPN實例視圖下的配置任務與BGP實例視圖下的相同,有關介紹和詳細配置,請參見“三層技術-IP路由配置指導”中的“BGP基礎”。
(4) 配置站點為EBGP對等體。
peer { group-name | ipv4-address [ mask-length ] } as-number as-number
(5) 進入BGP-VPN IPv4單播地址族視圖。
address-family ipv4 [ unicast ]
(6) 使能本地路由器與指定對等體交換IPv4單播路由信息的能力。
peer { group-name | ipv4-address [ mask-length ] } enable
缺省情況下,本地路由器不能與對等體交換IPv4單播路由信息。
(7) (可選)配置對於從對等體接收的路由,允許本地AS號在接收路由的AS_PATH屬性中出現,並配置允許出現的次數。
peer { group-name | ipv4-address [ mask-length ] } allow-as-loop [ number ]
缺省情況下,不允許本地AS號在接收路由的AS_PATH屬性中出現。
(8) 引入由PE發布的遠端站點的路由。
import-route protocol [ { process-id | all-processes } [ allow-direct | med med-value | route-policy route-policy-name ] * ]
缺省情況下,BGP不會引入IGP路由協議的路由信息。
(1) 進入係統視圖。
system-view
(2) 啟動BGP實例,並進入BGP實例視圖。
bgp as-number [ instance instance-name ]
缺省情況下,係統沒有運行BGP。
(3) 將MCE配置為EBGP對等體。
peer { group-name | ipv4-address [ mask-length ] } as-number as-number
(4) 進入BGP IPv4單播地址族視圖。
address-family ipv4 [ unicast ]
(5) 使能本地路由器與指定對等體交換IPv4單播路由信息的能力。
peer { group-name | ipv4-address [ mask-length ] } enable
缺省情況下,本地路由器不能與對等體交換IPv4單播路由信息。
(6) 配置引入VPN內的IGP路由。
import-route protocol [ { process-id | all-processes } [ allow-direct | med med-value | route-policy route-policy-name ] * ]
缺省情況下,BGP不會引入IGP路由協議的路由信息。
MCE與站點間使用IBGP交換路由信息時,需要在MCE上為每個VPN實例配置BGP對等體,並在站點上引入相應VPN內的IGP路由信息。
配置MCE的同時需要配置站點將自己所能到達的VPN網段地址發布給接入的MCE。
(1) 進入係統視圖。
system-view
(2) 啟動BGP實例,並進入BGP實例視圖。
bgp as-number [ instance instance-name ]
缺省情況下,係統沒有運行BGP。
(3) 進入BGP-VPN實例視圖。
ip vpn-instance vpn-instance-name
(4) 配置IBGP對等體。
peer { group-name | ipv4-address [ mask-length ] } as-number as-number
(5) 進入BGP-VPN IPv4單播地址族視圖。
address-family ipv4 [ unicast ]
(6) 使能本地路由器與指定對等體交換IPv4單播路由信息的能力。
peer { group-name | ipv4-address [ mask-length ] } enable
缺省情況下,本地路由器不能與對等體交換IPv4單播路由信息。
(7) (可選)配置本地設備作為路由反射器,對端設備作為路由反射器的客戶端。
peer { group-name | ipv4-address [ mask-length ] } reflect-client
缺省情況下,未配置路由反射器及其客戶端。
站點為IBGP對等體,MCE不會向其它IBGP對等體(包括VPNv4對等體)發送從該站點學習的BGP路由。隻有執行本配置後,MCE才能向其它IBGP對等體發送從該站點學習的路由。
(8) 引入由PE發布的遠端站點的路由。
import-route protocol [ { process-id | all-processes } [ allow-direct | med med-value | route-policy route-policy-name ] * ]
缺省情況下,BGP不引入且不通告其它協議的路由。
(1) 進入係統視圖。
system-view
(2) 啟動BGP實例,並進入BGP實例視圖。
bgp as-number [ instance instance-name ]
缺省情況下,係統沒有運行BGP。
(3) 將MCE配置為IBGP對等體。
peer { group-name | ipv4-address [ mask-length ] } as-number as-number
(4) 進入BGP IPv4單播地址族視圖。
address-family ipv4 [ unicast ]
(5) 使能本地路由器與指定對等體交換IPv4單播路由信息的能力。
peer { group-name | ipv4-address [ mask-length ] } enable
缺省情況下,本地路由器不能與對等體交換IPv4單播路由信息。
(6) 配置引入VPN內的IGP路由。
import-route protocol [ { process-id | all-processes } [ allow-direct | med med-value | route-policy route-policy-name ] * ]
缺省情況下,BGP不引入且不通告其它協議的路由。
由於在MCE設備上已經將站點內的私網路由信息與VPN實例進行了綁定,因此,隻需要在MCE與PE之間將接口與VPN實例進行綁定、進行簡單的路由配置、並將MCE上維護的站點內的VPN路由引入到MCE-PE間的路由協議中,便可以實現私網VPN路由信息的傳播。
本節中的配置均在MCE上進行,PE上的配置與基本MPLS L3VPN組網中PE上的配置相同,詳細介紹請參見“MPLS配置指導”中的“MPLS L3VPN”。
(1) 進入係統視圖。
system-view
(2) 為指定VPN實例配置靜態路由。
ip route-static vpn-instance s-vpn-instance-name dest-address { mask-length | mask } { interface-type interface-number [ next-hop-address ] | next-hop-address [ public ] [ 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 ]
(3) (可選)配置靜態路由的缺省優先級。
ip route-static default-preference default-preference
缺省情況下,靜態路由的缺省優先級為60。
(1) 進入係統視圖。
system-view
(2) 創建MCE與PE間的RIP實例,並進入RIP視圖。
rip [ process-id ] vpn-instance vpn-instance-name
(3) 在指定網段接口上使能RIP。
network network-address [ wildcard-mask ]
缺省情況下,接口上的RIP功能處於關閉狀態。
(4) 引入站點內的VPN路由。
import-route protocol [ as-number ] [ process-id | all-processes | allow-ibgp ] [ allow-direct | cost cost-value | route-policy route-policy-name | tag tag ] *
缺省情況下,RIP未引入其它路由。
(1) 進入係統視圖。
system-view
(2) 創建MCE與PE間的OSPF實例,並進入OSPF視圖。
ospf [ process-id | router-id router-id | vpn-instance vpn-instance-name ] *
(3) 關閉OSPF實例的路由環路檢測功能。
vpn-instance-capability simple
缺省情況下,OSPF實例的路由環路檢測功能處於開啟狀態。此時MCE不會接收PE發送過來的OSPF路由,導致路由丟失。
(4) 引入站點內的VPN路由。
import-route protocol [ as-number ] [ process-id | all-processes | allow-ibgp ] [ allow-direct | cost cost-value | nssa-only | route-policy route-policy-name | tag tag | type type ] *
缺省情況下,沒有引入其他協議的路由信息。
(5) 配置OSPF區域,進入OSPF區域視圖。
area area-id
(6) 配置區域所包含的網段並在指定網段的接口上使能OSPF。
network ip-address wildcard-mask
缺省情況下,接口不屬於任何區域且OSPF功能處於關閉狀態。
(1) 進入係統視圖。
system-view
(2) 創建MCE與PE間的IS-IS實例,並進入IS-IS視圖。
isis [ process-id ] vpn-instance vpn-instance-name
(3) 配置網絡實體名稱。
network-entity net
缺省情況下,未配置網絡實體名稱。
(4) 創建並進入IS-IS IPv4單播地址族視圖。
address-family ipv4 [ unicast ]
(5) 引入站點內的VPN路由。
import-route protocol [ as-number ] [ 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路由表中。
(6) 退回係統視圖。
quit
(7) 進入接口視圖。
interface interface-type interface-number
(8) 使能接口IS-IS並指定要關聯的IS-IS進程號。
isis enable [ process-id ]
缺省情況下,接口上沒有使能IS-IS。
(1) 進入係統視圖。
system-view
(2) 啟動BGP實例,並進入BGP實例視圖。
bgp as-number [ instance instance-name ]
缺省情況下,係統沒有運行BGP。
(3) 進入BGP-VPN實例視圖。
ip vpn-instance vpn-instance-name
(4) 將PE配置為EBGP對等體。
peer { group-name | ipv4-address [ mask-length ] } as-number as-number
(5) 進入BGP-VPN IPv4單播地址族視圖。
address-family ipv4 [ unicast ]
(6) 使能本地路由器與指定對等體交換IPv4單播路由信息的能力。
peer { group-name | ipv4-address [ mask-length ] } enable
缺省情況下,本地路由器不能與對等體交換IPv4單播路由信息。
(7) 引入站點內的VPN路由。
import-route protocol [ { process-id | all-processes } [ allow-direct | med med-value | route-policy route-policy-name ] * ]
缺省情況下,BGP不引入且不通告其它協議的路由。
(1) 進入係統視圖。
system-view
(2) 啟動BGP實例,並進入BGP實例視圖。
bgp as-number [ instance instance-name ]
缺省情況下,係統沒有運行BGP。
(3) 進入BGP-VPN實例視圖。
ip vpn-instance vpn-instance-name
(4) 將PE配置為IBGP對等體。
peer { group-name | ipv4-address [ mask-length ] } as-number as-number
(5) 進入BGP-VPN IPv4單播地址族視圖。
address-family ipv4 [ unicast ]
(6) 使能本地路由器與指定對等體交換IPv4單播路由信息的能力。
peer { group-name | ipv4-address [ mask-length ] } enable
缺省情況下,本地路由器不能與對等體交換IPv4單播路由信息。
(7) 引入站點內的VPN路由。
import-route protocol [ { process-id | all-processes } [ allow-direct | med med-value | route-policy route-policy-name ] * ]
缺省情況下,BGP不引入且不通告其它協議的路由。
可在任意視圖下執行以下命令,顯示指定VPN實例信息。
display ip vpn-instance [ instance-name vpn-instance-name ]
MCE設備連接兩個VPN:VPN 1和VPN 2。VPN 1和VPN 2的邊緣設備分別為VR1和VR2。其中,VPN 2內運行RIP路由協議。MCE設備將兩個VPN之間的路由隔離,並通過OSPF將各VPN的路由發布到PE 1。
圖1-4 配置MCE組網圖
(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
# 配置接口GigabitEthernet0/0/1與VPN實例vpn1綁定,並配置該接口的地址。
[MCE] interface gigabitethernet 0/0/1
[MCE-GigabitEthernet0/0/1] ip binding vpn-instance vpn1
[MCE-GigabitEthernet0/0/1] ip address 10.214.10.3 24
[MCE-GigabitEthernet0/0/1] quit
# 配置接口GigabitEthernet0/0/2與VPN實例vpn2綁定,並配置該接口的地址。
[MCE] interface gigabitethernet 0/0/2
[MCE-GigabitEthernet0/0/2] ip binding vpn-instance vpn2
[MCE-GigabitEthernet0/0/2] ip address 10.214.20.3 24
[MCE-GigabitEthernet0/0/2] 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與站點間路由配置
MCE與VPN 1直接相連,且VPN 1內未使用路由協議,因此可以使用靜態路由進行配置。
# 配置VR1與MCE連接的接口地址為10.214.10.2/24,連接VPN 1接口的地址為192.168.0.1/24。(具體配置過程略)
# 在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
# VPN 2內運行RIP,在MCE上配置RIP進程20,並與VPN實例vpn2綁定,以便將VPN 2內的路由學習到VPN實例vpn2的路由表中。
[MCE] rip 20 vpn-instance vpn2
# 發布網段10.214.20.0的路由。
[MCE-rip-20] network 10.214.20.0
[MCE-rip-20] quit
# 在VR2上,配置與MCE連接的接口地址為10.214.20.2/24,連接VPN 2接口的地址為192.168.10.1/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.214.20.0
# 在MCE上查看VPN實例vpn1和vpn2的路由信息。
[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 GE0/0/1
10.214.10.0/32 Direct 0 0 10.214.10.3 GE0/0/1
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 GE0/0/1
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 GE0/0/1
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] 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 GE0/0/2
10.214.20.0/32 Direct 0 0 10.214.20.3 GE0/0/2
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 GE0/0/2
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 RIP 100 1 10.214.20.2 GE0/0/2
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已經通過RIP學習到了VPN 2內的私網路由,並與VPN 1內的路由信息分別維護在兩個路由表內,有效地進行了隔離。
(3) MCE與PE間路由配置
# MCE通過子接口與PE 1相連。在MCE上配置子接口GigabitEthernet0/0/3.1與VPN實例vpn1綁定,配置該子接口終結VLAN 10,並配置該接口的地址。
[MCE] interface gigabitethernet 0/0/3.1
[MCE-GigabitEthernet0/0/3.1] ip binding vpn-instance vpn1
[MCE-GigabitEthernet0/0/3.1] vlan-type dot1q vid 10
[MCE-GigabitEthernet0/0/3.1] ip address 20.1.1.1 24
[MCE-GigabitEthernet0/0/3.1] quit
# 在MCE上配置子接口GigabitEthernet0/0/3.2與VPN實例vpn2綁定,配置該子接口終結VLAN 20,並配置該接口的地址。
[MCE] interface gigabitethernet 0/0/3.2
[MCE-GigabitEthernet0/0/3.2] ip binding vpn-instance vpn2
[MCE-GigabitEthernet0/0/3.2] vlan-type dot1q vid 20
[MCE-GigabitEthernet0/0/3.2] ip address 30.1.1.1 24
[MCE-GigabitEthernet0/0/3.2] quit
# 在PE 1配置子接口GigabitEthernet0/0/1.1與VPN實例vpn1綁定,配置該子接口終結VLAN 10,並配置該接口的地址。
[PE1] interface gigabitethernet 0/0/1.1
[PE1-GigabitEthernet0/0/1.1] ip binding vpn-instance vpn1
[PE1-GigabitEthernet0/0/1.1] vlan-type dot1q vid 10
[PE1-GigabitEthernet0/0/1.1] ip address 20.1.1.2 24
[PE1-GigabitEthernet0/0/1.1] quit
# 在PE 1上配置子接口GigabitEthernet0/0/1.2與VPN實例vpn2綁定,配置該子接口終結VLAN 20,並配置該接口的地址。
[PE1] interface gigabitethernet 0/0/1.2
[PE1-GigabitEthernet0/0/1.2] ip binding vpn-instance vpn2
[PE1-GigabitEthernet0/0/1.2] vlan-type dot1q vid 20
[PE1-GigabitEthernet0/0/1.2] ip address 30.1.1.2 24
[PE1-GigabitEthernet0/0/1.2] 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區域發布20.1.1.0/24網段路由,並引入VPN 1的靜態路由。
[MCE-ospf-10] area 0
[MCE-ospf-10-area-0.0.0.0] network 20.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區域發布20.1.1.0/24網段路由。
[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 20.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中配置導入的是RIP進程20的路由,這裏不再贅述。
# 顯示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
20.1.1.0/24 Direct 0 0 20.1.1.2 GE0/0/1.1
20.1.1.0/32 Direct 0 0 20.1.1.2 GE0/0/1.1
20.1.1.2/32 Direct 0 0 127.0.0.1 InLoop0
20.1.1.255/32 Direct 0 0 20.1.1.2 GE0/0/1.1
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 20.1.1.1 GE0/0/1.1
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內的RIP路由已經引入到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
30.1.1.0/24 Direct 0 0 30.1.1.2 GE0/0/1.2
30.1.1.0/32 Direct 0 0 30.1.1.2 GE0/0/1.2
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 GE0/0/1.2
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 30.1.1.1 GE0/0/1.2
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中,配置完成。
IPv6 MCE應用於IPv6 MPLS L3VPN,它通過路由隔離實現業務隔離的組網方案,在允許多個VPN共享CE的同時,提供用戶數據的安全性。
IPv6 MPLS L3VPN利用BGP在服務提供商骨幹網上發布VPN的IPv6路由,利用MPLS在服務提供商骨幹網上轉發VPN的IPv6報文。
IPv6 MCE的原理與MCE相同,IPv6 MCE在內網和PE之間發布IPv6路由,並交互IPv6報文。
在IPv6 MCE組網方案中,路由計算時需要關閉MCE上的路由環路檢測功能,防止路由丟失;同時禁止各路由協議互操作功能,以節省係統資源。
IPv6 MCE配置任務如下:
(1) 配置VPN實例
配置VPN實例的操作是在PE和MCE設備上進行的。
a. 創建VPN實例
c. (可選)配置VPN實例的路由相關屬性
(2) 配置MCE與站點之間的路由交換
(3) 配置MCE與PE之間的路由交換
VPN實例在實現中與站點關聯。VPN實例不是直接對應於VPN,一個VPN實例綜合了和它所對應站點的VPN成員關係和路由規則。
(1) 進入係統視圖。
system-view
(2) 創建VPN實例,並進入VPN實例視圖。
ip vpn-instance vpn-instance-name
(3) 配置VPN實例的RD。
route-distinguisher route-distinguisher
缺省情況下,未配置VPN實例的RD。
(4) (可選)配置VPN實例的描述信息。
description text
缺省情況下,未配置VPN實例的描述信息。
描述信息用於描述VPN實例,可以用來記錄VPN實例與某個VPN的關係等信息。
(5) (可選)配置VPN實例的ID。
vpn-id vpn-id
缺省情況下,未配置VPN實例的ID。
(1) 進入係統視圖。
system-view
(2) 進入接口視圖。
interface interface-type interface-number
本接口為連接CE的接口。
(3) 配置接口與指定VPN實例關聯。
ip binding vpn-instance vpn-instance-name
缺省情況下,接口未關聯VPN實例,接口屬於公網。
配置或取消接口與VPN實例關聯後,該接口上的IP地址、路由協議等配置將被刪除。
執行本命令將刪除接口上已經配置的IPv6地址,因此需要重新配置接口的IPv6地址。
IPv6 VPN的路由相關屬性既可以在VPN實例視圖下,也可以在VPN實例IPv6地址族視圖下配置。如果同時在兩個視圖下配置了路由相關屬性,則IPv6 VPN采用VPN實例IPv6地址族視圖下配置的路由相關屬性。
配置VPN實例路由策略屬性時,需要創建路由策略。路由策略的詳細介紹,請參見“三層技術-IP路由配置指導”中的“路由策略”。
(1) 進入係統視圖。
system-view
(2) 進入VPN實例視圖或VPN實例IPv6地址族視圖。
¡ 進入VPN實例視圖
ip vpn-instance vpn-instance-name
¡ 請依次執行以下命令進入VPN實例IPv6地址族視圖
ip vpn-instance vpn-instance-name
address-family ipv6
(3) 配置VPN Target。
vpn-target vpn-target&<1-8> [ both | export-extcommunity | import-extcommunity ]
缺省情況下,未配置VPN實例的VPN Target。
(4) 配置支持的最大激活路由前綴數。
routing-table limit number { warn-threshold | simply-alert }
缺省情況下,未限製VPN實例支持的最多激活路由前綴數。
配置一個VPN實例可以支持的最大激活路由前綴數,可以防止設備上保存過多的激活路由前綴信息。
(5) 應用入方向路由策略。
import route-policy route-policy
缺省情況下,接收所有VPN Target屬性匹配的路由。
(6) 應用出方向路由策略。
export route-policy route-policy
缺省情況下,不對發布的路由進行過濾。
MCE可以通過IPv6靜態路由與站點連接。傳統CE配置的IPv6靜態路由對全局生效,無法解決多VPN間的地址重疊問題。以太網交換機提供的MCE功能可以將IPv6靜態路由與VPN實例相綁定,將各IPv6 VPN之間的IPv6靜態路由進行隔離。
該配置在MCE上進行,站點上的配置方法與普通IPv6靜態路由相同。
(1) 進入係統視圖。
system-view
(2) 為指定VPN實例配置IPv6靜態路由。
ipv6 route-static vpn-instance s-vpn-instance-name ipv6-address prefix-length { interface-type interface-number [ next-hop-address ] | nexthop-address [ public ] | vpn-instance d-vpn-instance-name nexthop-address } [ permanent ] [ preference preference ] [ tag tag-value ] [ description text ]
(3) (可選)配置IPv6靜態路由的缺省優先級。
ipv6 route-static default-preference default-preference
缺省情況下,IPv6靜態路由的缺省優先級為60。
通過在MCE上將RIPng進程與IPv6 VPN實例綁定,可以使不同IPv6 VPN內的私網路由通過不同的RIPng進程在站點和MCE間進行交互,保證了私網路由的隔離和安全。有關RIPng的介紹和詳細配置,請參見“三層技術-IP路由配置指導”中的“RIPng”。
該配置在MCE上進行,站點上配置普通RIPng即可。
(1) 進入係統視圖。
system-view
(2) 創建MCE與站點間的RIPng實例,並進入RIPng視圖。
ripng [ process-id ] vpn-instance vpn-instance-name
一個RIPng進程隻能屬於一個VPN實例。
(3) 引入由PE發布的遠端站點的路由。
import-route protocol [ as-number | process-id ] [ allow-ibgp ] [ allow-direct | cost cost-value | route-policy route-policy-name ] *
缺省情況下,RIPng未引入其它路由。
(4) 退回係統視圖。
quit
(5) 進入接口視圖。
interface interface-type interface-number
(6) 在接口上使能RIPng路由協議。
ripng process-id enable
缺省情況下,接口禁用RIPng路由協議。
通過在MCE上將OSPFv3進程與IPv6 VPN實例綁定,可以使不同IPv6 VPN內的私網路由通過不同的OSPFv3進程在站點和MCE間進行交互,保證了私網路由的隔離和安全。有關OSPFv3的介紹和詳細配置,請參見“三層技術-IP路由配置指導”中的“OSPFv3”。
該配置在MCE上進行,站點上配置普通OSPFv3即可。
(1) 進入係統視圖。
system-view
(2) 創建MCE與站點間的OSPFv3實例,並進入OSPFv3視圖。
ospfv3 [ process-id | vpn-instance vpn-instance-name ] *
一個OSPFv3進程隻能屬於一個VPN實例。
刪除VPN實例後,相關的所有OSPFv3進程也將全部被刪除。
(3) 配置Router ID。
router-id router-id
(4) 引入由PE發布的遠端站點的路由。
import-route protocol [ as-number ] [ process-id | all-processes | allow-ibgp ] [ allow-direct | cost cost-value | nssa-only | route-policy route-policy-name | tag tag | type type ] *
缺省情況下,沒有引入其他協議的路由信息。
(5) 退回係統視圖。
quit
(6) 進入接口視圖。
interface interface-type interface-number
(7) 在接口上使能OSPFv3。
ospfv3 process-id area area-id [ instance instance-id ]
缺省情況下,接口上沒有使能OSPFv3。
通過在MCE上將IPv6 IS-IS進程與IPv6 VPN實例綁定,可以使不同IPv6 VPN內的私網路由通過不同的IPv6 IS-IS進程在站點和MCE間進行交互,保證了私網路由的隔離和安全。有關IPv6 IS-IS的介紹和詳細配置,請參見“三層技術-IP路由配置指導”中的“IPv6 IS-IS”。
該配置在MCE上進行,站點上配置普通IPv6 IS-IS即可。
(1) 進入係統視圖。
system-view
(2) 創建MCE與站點間的IPv6 IS-IS實例,並進入IS-IS視圖。
isis [ process-id ] vpn-instance vpn-instance-name
一個IPv6 IS-IS進程隻能屬於一個VPN實例。
(3) 配置網絡實體名稱。
network-entity net
缺省情況下,未配置網絡實體名稱。
(4) 創建並進入IS-IS IPv6單播地址族視圖。
address-family ipv6 [ unicast ]
(5) (可選)引入由PE發布的遠端站點的路由。
import-route protocol [ as-number | 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路由表中。
(6) 退回係統視圖。
quit
(7) 進入接口視圖。
interface interface-type interface-number
(8) 使能接口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基礎”。
配置MCE的同時也需要配置站點將自己所能到達的IPv6 VPN網段地址發布給接入的MCE。
(1) 進入係統視圖。
system-view
(2) 進入BGP實例視圖。
bgp as-number [ instance instance-name ]
(3) 進入BGP-VPN實例視圖。
ip vpn-instance vpn-instance-name
(4) 配置IPv6 BGP對等體的AS號。
peer { group-name | ipv6-address [ prefix-length ] } as-number as-number
(5) 進入BGP-VPN IPv6單播地址族視圖。
address-family ipv6 [ unicast ]
(6) 使能本地路由器與指定對等體交換IPv6單播路由信息的能力。
peer { group-name | ipv6-address [ prefix-length ] } enable
缺省情況下,本地路由器不能與對等體交換IPv6單播路由信息。
(7) 引入由PE發布的遠端站點的路由。
import-route protocol [ { process-id | all-processes } [ allow-direct | med med-value | route-policy route-policy-name ] * ]
缺省情況下,BGP不引入且不通告其它協議的路由。
(1) 進入係統視圖。
system-view
(2) 進入BGP實例視圖。
bgp as-number [ instance instance-name ]
(3) 將MCE配置為EBGP對等體。
peer { group-name | ipv6-address [ prefix-length ] } as-number as-number
(4) 進入BGP IPv6單播地址族視圖。
address-family ipv6 [ unicast ]
(5) 使能本地路由器與指定對等體交換IPv6單播路由信息的能力。
peer { group-name | ipv6-address [ prefix-length ] } enable
缺省情況下,本地路由器不能與對等體交換IPv6單播路由信息。
(6) 引入VPN內的IGP路由。
import-route protocol [ { process-id | all-processes } [ allow-direct | med med-value | route-policy route-policy-name ] * ]
缺省情況下,BGP不引入且不通告其它協議的路由。
MCE與站點間使用IBGP交換路由信息時,需要在MCE上為每個VPN實例配置BGP對等體,並在站點上引入相應VPN內的IGP路由信息。
配置MCE的同時也需要配置站點將自己所能到達的VPN網段地址發布給接入的MCE。
(1) 進入係統視圖。
system-view
(2) 啟動BGP實例,並進入BGP實例視圖。
bgp as-number [ instance instance-name ]
缺省情況下,係統沒有運行BGP。
(3) 進入BGP-VPN實例視圖。
ip vpn-instance vpn-instance-name
(4) 配置IBGP對等體。
peer { group-name | ipv6-address [ prefix-length ] } as-number as-number
(5) 進入BGP-VPN IPv6單播地址族視圖。
address-family ipv6 [ unicast ]
(6) 使能本地路由器與指定對等體交換IPv6單播路由信息的能力。
peer { group-name | ipv6-address [ prefix-length ] } enable
缺省情況下,本地路由器不能與對等體交換IPv6單播路由信息。
(7) (可選)配置本地設備作為路由反射器,對端設備作為路由反射器的客戶端。
peer { group-name | ipv6-address [ prefix-length ] } reflect-client
缺省情況下,未配置路由反射器及其客戶端。
站點為IBGP對等體時,MCE不會向其它IBGP對等體(包括VPNv6對等體)發送從該站點學習的BGP路由。隻有執行本配置後,才能向其它IBGP對等體發送從該站點學習的路由。
(8) 引入由PE發布的遠端站點的路由。
import-route protocol [ { process-id | all-processes } [ allow-direct | med med-value | route-policy route-policy-name ] * ]
缺省情況下,BGP不引入且不通告其它協議的路由。
(1) 進入係統視圖。
system-view
(2) 啟動BGP實例,並進入BGP實例視圖。
bgp as-number [ instance instance-name ]
缺省情況下,係統沒有運行BGP。
(3) 將MCE配置為IBGP對等體。
peer { group-name | ipv6-address [ prefix-length ] } as-number as-number
(4) 進入BGP IPv6單播地址族視圖。
address-family ipv6 [ unicast ]
(5) 使能本地路由器與指定對等體交換IPv6單播路由信息的能力。
peer { group-name | ipv6-address [ prefix-length ] } enable
缺省情況下,本地路由器不能與對等體交換IPv6單播路由信息。
(6) 配置引入VPN內的IGP路由。
import-route protocol [ { process-id | all-processes } [ allow-direct | med med-value | route-policy route-policy-name ] * ]
缺省情況下,BGP不引入且不通告其它協議的路由。
由於在MCE設備上已經將站點內的私網路由信息與IPv6 VPN實例進行了綁定,因此,隻需要在MCE與PE之間將接口與IPv6 VPN實例進行綁定、進行簡單的路由配置、並將MCE上維護的站點內的IPv6 VPN路由引入到MCE-PE間的路由協議中,便可以實現私網VPN路由信息的傳播。
本節中的配置均在MCE上進行,PE上的配置與基本IPv6 MPLS L3VPN組網中PE上的配置相同,詳細介紹請參見“MPLS配置指導”中的“MPLS L3VPN”。
(1) 進入係統視圖。
system-view
(2) 為指定VPN實例配置IPv6靜態路由。
ipv6 route-static vpn-instance s-vpn-instance-name ipv6-address prefix-length { interface-type interface-number [ next-hop-address ] | nexthop-address [ public ] | vpn-instance d-vpn-instance-name nexthop-address } [ permanent ] [ preference preference ] [ tag tag-value ] [ description text ]
(3) (可選)配置IPv6靜態路由的缺省優先級。
ipv6 route-static default-preference default-preference
缺省情況下,IPv6靜態路由的缺省優先級為60。
(1) 進入係統視圖。
system-view
(2) 創建MCE與PE間的RIPng實例,並進入RIPng視圖。
ripng [ process-id ] vpn-instance vpn-instance-name
(3) 引入站點內的VPN路由。
import-route protocol [ as-number | process-id ] [ allow-ibgp ] [ allow-direct | cost cost-value | route-policy route-policy-name ] *
缺省情況下,RIPng未引入其它路由。
(4) 退回係統視圖。
quit
(5) 進入接口視圖。
interface interface-type interface-number
(6) 在指定的網絡接口上使能RIPng。
ripng process-id enable
缺省情況下,接口禁用RIPng。
(1) 進入係統視圖。
system-view
(2) 創建MCE與PE間的OSPFv3實例,並進入OSPFv3視圖。
ospfv3 [ process-id | vpn-instance vpn-instance-name ] *
(3) 配置Router ID。
router-id router-id
(4) 關閉OSPFv3實例的路由環路檢測功能。
vpn-instance-capability simple
缺省情況下,OSPFv3實例的路由環路檢測功能處於開啟狀態。此時MCE不會接收PE發送過來的OSPFv3路由,會導致路由丟失。
(5) 引入站點內的VPN路由。
import-route protocol [ as-number ] [ process-id | all-processes | allow-ibgp ] [ allow-direct | cost cost-value | nssa-only | route-policy route-policy-name | tag tag | type type ] *
缺省情況下,沒有引入其他協議的路由信息。
(6) 退回係統視圖。
quit
(7) 進入接口視圖。
interface interface-type interface-number
(8) 在接口上使能OSPFv3。
ospfv3 process-id area area-id [ instance instance-id ]
缺省情況下,接口上沒有使能OSPFv3。
(1) 進入係統視圖。
system-view
(2) 創建MCE與PE間的IPv6 IS-IS實例,並進入IS-IS視圖。
isis [ process-id ] vpn-instance vpn-instance-name
(3) 配置網絡實體名稱。
network-entity net
缺省情況下,未配置網絡實體名稱。
(4) 創建並進入IS-IS IPv6單播地址族視圖。
address-family ipv6 [ unicast ]
(5) 引入站點內的VPN路由。
import-route protocol [ as-number | 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路由表中。
(6) 退回係統視圖。
quit
(7) 進入接口視圖。
interface interface-type interface-number
(8) 使能接口IS-IS路由進程的IPv6能力,並指定要關聯的IS-IS進程號。
isis ipv6 enable [ process-id ]
缺省情況下,接口上沒有使能IS-IS路由進程的IPv6能力。
(1) 進入係統視圖。
system-view
(2) 進入BGP實例視圖。
bgp as-number [ instance instance-name ]
(3) 進入BGP-VPN實例視圖。
ip vpn-instance vpn-instance-name
(4) 將PE配置為EBGP對等體。
peer { group-name | ipv6-address [ prefix-length ] } as-number as-number
(5) 進入BGP-VPN IPv6單播地址族視圖。
address-family ipv6 [ unicast ]
(6) 使能本地路由器與指定對等體交換IPv6單播路由信息的能力。
peer { group-name | ipv6-address [ prefix-length ] } enable
缺省情況下,本地路由器不能與對等體交換IPv6單播路由信息。
(7) 引入站點內的VPN路由。
import-route protocol [ { process-id | all-processes } [ allow-direct | med med-value | route-policy route-policy-name ] * ]
缺省情況下,BGP不引入且不通告其它協議的路由。
(1) 進入係統視圖。
system-view
(2) 啟動BGP實例,並進入BGP實例視圖。
bgp as-number [ instance instance-name ]
缺省情況下,係統沒有運行BGP。
(3) 進入BGP-VPN實例視圖。
ip vpn-instance vpn-instance-name
(4) 將PE配置為IBGP對等體。
peer { group-name | ipv6-address [ prefix-length ] } as-number as-number
(5) 進入BGP-VPN IPv6單播地址族視圖。
address-family ipv6 [ unicast ]
(6) 使能本地路由器與指定對等體交換IPv6單播路由信息的能力。
peer { group-name | ipv6-address [ prefix-length ] } enable
缺省情況下,本地路由器不能與對等體交換IPv6單播路由信息。
(7) 引入站點內的VPN路由。
import-route protocol [ { process-id | all-processes } [ allow-direct | med med-value | route-policy route-policy-name ] * ]
缺省情況下,BGP不引入且不通告其它協議的路由。
可在任意視圖下執行以下命令,顯示指定VPN實例信息。
display ip vpn-instance [ instance-name vpn-instance-name ]
MCE設備連接兩個VPN:VPN 1和VPN 2,VPN 1和VPN 2的邊緣設備分別名為VR1和VR2。VPN 2內運行RIPng路由協議。MCE設備將兩個VPN之間的路由隔離,並通過OSPFv3將各VPN的路由發布到PE 1。
圖2-1 配置IPv6 MCE組網圖
(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
# 配置接口GigabitEthernet0/0/1與VPN實例vpn1綁定,並配置該接口的IPv6地址。
[MCE] interface gigabitethernet 0/0/1
[MCE-GigabitEthernet0/0/1] ip binding vpn-instance vpn1
[MCE-GigabitEthernet0/0/1] ipv6 address 2001:1::1 64
[MCE-GigabitEthernet0/0/1] quit
# 配置接口GigabitEthernet0/0/2與VPN實例vpn2綁定,並配置該接口的IPv6地址。
[MCE] interface gigabitethernet 0/0/2
[MCE-GigabitEthernet0/0/2] ip binding vpn-instance vpn2
[MCE-GigabitEthernet0/0/2] ipv6 address 2002:1::1 64
[MCE-GigabitEthernet0/0/2] 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與站點間路由配置
MCE與VPN 1直接相連,且VPN 1內未使用路由協議,因此可以使用IPv6靜態路由進行配置。
# 配置VR1與MCE連接的接口地址為2001:1::2/64,連接VPN 1接口的地址為2012:1::2/64。(具體配置過程略)
# 在VR1上配置缺省路由,指定出方向報文的下一跳地址為2001:1::1。
<VR1> system-view
[VR1] ipv6 route-static :: 0 2001:1::1
# 在MCE上指定IPv6靜態路由,去往2012:1::/64網段的報文,下一跳地址為2001:1::2,並將此路由與VPN實例vpn1綁定。
[MCE] ipv6 route-static vpn-instance vpn1 2012:1:: 64 2001:1::2
# VPN 2內運行RIPng,在MCE上配置RIPng進程20,並與VPN實例vpn2綁定,以便將VPN 2內的路由學習到vpn2實例的路由表中。
[MCE] ripng 20 vpn-instance vpn2
# 配置RIPng發布2002:1::/64網段路由。
[MCE] interface gigabitethernet 0/0/2
[MCE-GigabitEthernet0/0/2] ripng 20 enable
[MCE-GigabitEthernet0/0/2] quit
# 在VR 2上,配置與MCE連接的接口地址為2002:1::2/64。(具體配置過程略)
# 在VR 2上配置RIPng發布2012::/64和2002:1::/64網段路由。
<VR2> system-view
[VR2] ripng 20
[VR2-ripng-20] quit
[VR2] interface gigabitethernet 0/0/1
[VR2-GigabitEthernet0/0/1] ripng 20 enable
[VR2-GigabitEthernet0/0/1] quit
[VR2] interface gigabitethernet 0/0/2
[VR2-GigabitEthernet0/0/2] ripng 20 enable
[VR2-GigabitEthernet0/0/2] 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 : GE1/0/1 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 : GE1/0/1 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 : GE1/0/2 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 : GE1/0/2 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通過子接口與PE 1相連。在MCE上配置子接口GigabitEthernet0/0/3.1與VPN實例vpn1綁定,配置該子接口終結VLAN 10,並配置該接口的IPv6地址。
[MCE] interface gigabitethernet 0/0/3.1
[MCE-GigabitEthernet0/0/3.1] ip binding vpn-instance vpn1
[MCE-GigabitEthernet0/0/3.1] vlan-type dot1q vid 10
[MCE-GigabitEthernet0/0/3.1] ipv6 address 2001:2::3 64
[MCE-GigabitEthernet0/0/3.1] quit
# 在MCE上配置子接口GigabitEthernet0/0/3.2與VPN實例vpn2綁定,配置該子接口終結VLAN 20,並配置該接口的IPv6地址。
[MCE] interface gigabitethernet 0/0/3.2
[MCE-GigabitEthernet0/0/3.2] ip binding vpn-instance vpn2
[MCE-GigabitEthernet0/0/3.2] vlan-type dot1q vid 20
[MCE-GigabitEthernet0/0/3.2] ipv6 address 2002:2::3 64
[MCE-GigabitEthernet0/0/3.2] quit
# 在PE 1配置子接口GigabitEthernet0/0/1.1與VPN實例vpn1綁定,配置該子接口終結VLAN 10,並配置該接口的IPv6地址。
[PE1] interface gigabitethernet 0/0/1.1
[PE1-GigabitEthernet0/0/1.1] ip binding vpn-instance vpn1
[PE1-GigabitEthernet0/0/1.1] vlan-type dot1q vid 10
[PE1-GigabitEthernet0/0/1.1] ipv6 address 2001:2::4 64
[PE1-GigabitEthernet0/0/1.1] quit
# 在PE 1上配置子接口GigabitEthernet0/0/1.2與VPN實例vpn2綁定,配置該子接口終結VLAN 20,並配置該接口的IPv6地址。
[PE1] interface gigabitethernet 0/0/1.2
[PE1-GigabitEthernet0/0/1.2] ip binding vpn-instance vpn2
[PE1-GigabitEthernet0/0/1.2] vlan-type dot1q vid 20
[PE1-GigabitEthernet0/0/1.2] ipv6 address 2002:2::4 64
[PE1-GigabitEthernet0/0/1.2] 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
# 在子接口GigabitEthernet0/0/3.1上使能OSPFv3。
[MCE] interface gigabitethernet 0/0/3.1
[MCE-GigabitEthernet0/0/3.1] ospfv3 10 area 0.0.0.0
[MCE-GigabitEthernet0/0/3.1] 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
# 在子接口GigabitEthernet0/0/1.1上使能OSPFv3。
[PE1] interface gigabitethernet 0/0/1.1
[PE1-GigabitEthernet0/0/1.1] ospfv3 10 area 0.0.0.0
[PE1-GigabitEthernet0/0/1.1] quit
# MCE與PE 1間配置OSPFv3進程20,引入VPN實例vpn2的路由信息的過程與上麵介紹的配置基本一致,不同的是在MCE的OSPFv3中配置引入的是RIPng進程20的路由,這裏不再贅述。
# 顯示PE 1上VPN實例vpn1的路由信息。可以看到,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: 2001:2::/64 Protocol : Direct
NextHop : :: Preference: 0
Interface : GE1/0/1.1 Cost : 0
Destination: 2001:2::4/128 Protocol : Direct
NextHop : ::1 Preference: 0
Interface : InLoop0 Cost : 0
Destination: 2012:1::/64 Protocol : O_ASE2
NextHop : FE80::200:5EFF:FE01:1C05 Preference: 15
Interface : GE1/0/1.1 Cost : 10
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: 2002:2::/64 Protocol : Direct
NextHop : :: Preference: 0
Interface : GE1/0/1.2 Cost : 0
Destination: 2002:2::4/128 Protocol : Direct
NextHop : ::1 Preference: 0
Interface : InLoop0 Cost : 0
Destination: 2012::/64 Protocol : O_ASE2
NextHop : FE80::200:5EFF:FE01:1C06 Preference: 15
Interface : GE1/0/1.2 Cost : 10
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保留在沒有任何通知或提示的情況下對資料內容進行修改的權利!