一、背景拓撲
二、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鄰居是否建立好了