一、背景拓撲
二、PE-CE之間走靜态路由
2.1 關鍵配置之CE側
2.2 關鍵配置之PE側
三、PE-CE之前走BGP
3.1 關鍵配置之CE側
3.2 關鍵配置之PE側
3.3 分支與總部若使用相同AS号之解決方案
3.4 破壞了BGP本身的防環機制,如何避免出現環路
四、PE-CE之間OSPF
4.0 拓撲表述
4.1 關鍵配置之CE側
4.2 關鍵配置之PE側
4.3 vrf-lite與virtual-link的使用
4.4 sham-link的使用
一、背景拓撲
IP位址規劃
各個裝置環回口位址
R1 loopback 0 10.1.1.1/32
R2 loopback 0 10.1.1.2/32
R3 loopback 0 10.1.1.3/32
R4 loopback 0 10.1.1.4/32
R5 loopback 0 10.1.1.5/32
R6 loopback 0 66.1.1.1/32
R7 loopback 0 77.1.1.1/32
R8 loopback 0 88.1.1.1/32
裝置間互聯位址
R6--R1 16.1.1.0/24網段 R6.eth1:16.1.1.6/24 R1.eth1:16.1.1.1/24
以此類推...
需求
分支R6環回口66.1.1.1要通路總部R7環回口77.1.1.1
二、PE-CE之間走靜态路由
2.1關鍵配置之CE側
[R6]
ip route 77.1.1.1 255.255.255.255 eth0/1 16.1.1.1
2.2 關鍵配置之PE側
【R1】
ip route vrf A 66.1.1.1 255.255.255.255 eth0/1 16.1.1.6
!
router bgp 100
address-family ipv4 vrf A #進入PE的vrf A
redistribute static #将靜态路由重分布進BGP
三、PE-CE之前走BGP
3.1 關鍵配置之CE側
【R6】
router bgp 200
neighbor 16.1.1.1 remote-as 100
network 66.1.1.1 mask 255.255.255.255
3.2關鍵配置之PE側
【R1】
router bgp 100
address-familiy ipv4 vrf A
neighbor 16.1.1.6 remote-as 200
3.3 分支與總部若使用相同AS号之解決方案
1 使用BGP指令之AS-Override解決
作用:打破as-path的防環機制,允許相同跨AS時可以進入相同AS号
原理:改寫AS-PATH,對共有和私有AS号都生效
場景:總部與分支使用BGP 相同AS号
配置位置:PE位置
指令:
【R1,R4】(在vrf下配置)
router bgp 100
address-family ipv4 vrf A
neighbor 47.1.1.7 allowas-in
2 使用BGP指令之allowas-in解決
場景1:分支A要通過總部去通路分支B,路由會經過兩次同一個ISP網絡,預設情況第二次經過ISP時,ISP檢視aspath有自己的bgp AS号,會丢棄路由
場景2:分支A與總部使用相同的AS号
原理:忽略as-path防環機制檢查
配置位置:PE或者CE皆可,在丢棄裝置上設定,如果是上面場景1,則配置在PE側;如果是場景2,則配置在CE側
指令:
【R7】
router bgp 200
neighbor 47.1.1.4 allowas-in
【R4】(在vrf下配置)
router bgp 100
address-family ipv4 vrf A
neighbor 47.1.1.7 allowas-in
3.4 破壞了BGP本身的防環機制,如何避免出現環路
1 增加BGP擴充屬性之SOO (Site of Origin),可解決路由環路問題
作用:防環
原理:将從CE側收到的bgp路由添加上擴充屬性soo值,傳遞給其他MP-BGP鄰居,在鄰居的PE側要前往CE側時,比對出接口soo值是否與傳過來的SOO值相同,相同則不傳遞此路由給CE側鄰居
場景:多宿主環境下,如R7的環回口路由,R8不應該通過ISP線路收集到;R8反之亦然
配置位置:PE位置:通常在入方向(雙PE側接要配置)
指令:
【R7,R8】
route-map SOO permit 10
set extcommunity soo 78:78
router bgp 100
address-familiy ipv4 vrf A
neighbor 47.1.1.7 route-map SOO in
clear bgp vrf A ipv4 unicast 47.1.1.7 soft #配置完,如果沒有生效,清理下vrf A下的bgp鄰居
show bgp vpnv4 unicast all 77.1.1.1 #檢視bgp路由是否攜帶soo值
四、PE-CE之間OSPF
4.0 拓撲表述
1. CE1-PE1之間運作ospf,歸屬area0
CE1的環回口歸屬area0
2. CE2a-PE4之間運作ospf,歸屬area0
CE12a環回口歸屬area0
3.ISP網絡:MP-BGP+MPLS
4.1 關鍵配置之CE側
interface Ethernet0/0 ip ospf 110 area 0 ! interface Loopback0 ip ospf 110 area 0
4.2 關鍵配置之PE側
interface Ethernet0/1
ip vrf forwarding A #在vrf接口下開啟ospf
ip ospf 11 area 0
!
router bgp 100
address-family ipv4 vrf A
redistribute ospf 11 #将ospf 重分發進MP-BGP,為了傳遞到分支站點
!
router ospf 11 vrf A
redistribute bgp 100 subnets #bgp重分發到ospf,為了将總部路由傳遞給CE側
4.3 vrf-lite與virtual-link的使用
1)拓撲變更
拓撲走線圖不變
區域變化如下:
1. CE1-PE1之間運作ospf,歸屬area1
CE1的環回口歸屬area0
2. CE2a-PE4之間運作ospf,歸屬area0
CE12a環回口歸屬area0
3.ISP網絡:MP-BGP+MPLS
2)問題描述
因為CE1-PE1之間運作ospf,歸屬area1,導緻PE1的vrf無法學習到CE1的環回口路由
3a)解決方案一:忽略vrf ospf的環路檢測
【PE1】
router ospf 11 vrf A
capability vrf-lite
3b)解決方案二:建立virtual-link虛鍊路
【PE1側】
router ospf 11 vrf A
area 1 virtual-link 10.6.6.6 #建立虛鍊路,位址為CE側ospf route-id
【CE1側】
router ospf 110
area 1 virtual-link 16.1.1.1 #建立虛鍊路,位址為PE側ospf route-id
4.4 sham-link的使用
1)使用場景
兩個vpn站點屬于同一區域(比如都屬于area0),并且存在一條低速後門鍊路(預設R6-R8為低速備份鍊路)(為了避免優先選擇低速鍊路,可以使用建立sham-link)
2)sharm-link原理
通過單點傳播泛洪1類LSA和2類LSA
3)部署位置
PE裝置-PE裝置
4)部署步驟
1.PE裝置上建立/32的環回口
2.該環回口劃入vrf
3.在BGP的位址族下宣告該環回口
4.在PE裝置的ospf程序裡,設定sham-link,格式如下
area 區域 sham-link 本端PE環回口 對端PE環回口
5.在PE裝置上執行ospf單向重分布MP-BGP中,為了配置設定内層标簽
6.驗證:在PE端 show ip ospf neighbor
7.【可選】如果低速鍊路cost值更小,更優先,可以更改cost值大于sham-link鍊路的cost值
接口#ip ospf cost 100 #将從此接口進來的ospf路由條目,cost加上100
5)關鍵配置
interface Loopback1
ip vrf forwarding A
ip address 14.1.1.1 255.255.255.255
!
router bgp 100
address-family ipv4 vrf A
network 14.1.1.1 mask 255.255.255.255
redistribute ospf 11
!
router ospf 11 vrf A
area 0 sham-link 14.1.1.1 14.1.1.4
!
show ip ospf neighbor #檢視sham-link鄰居是否建立好了