3、【實(shí)戰(zhàn)中提升自己】華為 華三中小型企業(yè)網(wǎng)絡(luò)架構(gòu)搭建 【MSTP、鏈路聚合、VRRP部署】
說(shuō)明 前提
首發(fā)就從實(shí)戰(zhàn)開(kāi)始吧,這個(gè)系列是之前在給某個(gè)機(jī)構(gòu)做內(nèi)部培訓(xùn)講解的時(shí)候?qū)懙囊粋€(gè)實(shí)戰(zhàn)內(nèi)容,從拓?fù)湓O(shè)計(jì)到地址規(guī)劃、以及網(wǎng)絡(luò)需求、為什么需要用到這些技術(shù)做了全面的分析,大部分都可以用ENSP來(lái)模擬,想深入學(xué)習(xí)的朋友一定不要錯(cuò)過(guò)。(后面有提問(wèn),有興趣的朋友可以參加哦,一方面可以增加自己思考能力,為什么要這樣做,也可以把不懂的詢問(wèn)博主)
1 拓?fù)渑c說(shuō)明
某公司的網(wǎng)絡(luò)架構(gòu),這樣的架構(gòu)在目前的網(wǎng)絡(luò)中是在常見(jiàn)的,假設(shè)您接收一個(gè)這樣的網(wǎng)絡(luò),應(yīng)該如何部署,該實(shí)戰(zhàn)系列,就是一步一步講解,如何規(guī)劃、設(shè)計(jì)、部署這樣一個(gè)環(huán)境,這里會(huì)針對(duì)不同的情況給出不同的講解,比如拓?fù)渲杏?個(gè)ISP,假設(shè)客戶需求是,想實(shí)現(xiàn)主備的效果,又或者是想負(fù)載分擔(dān)。DHCP部署在防火墻上面或者是單獨(dú)的服務(wù)器上面又該如何配置部署。
2 分析說(shuō)明
5.1分析說(shuō)明
5.1.1 MSTP技術(shù)實(shí)現(xiàn)的效果
STP可以有三種,一種為最先的STP、后續(xù)增強(qiáng)的RSTP,以及目前主流的MSTP,不使用STP與RSTP的原因其實(shí)很簡(jiǎn)單,因?yàn)樗荒茏龅絾我绘溌穫鬏?,而不能?shí)現(xiàn)跟MSTP以實(shí)例的方式實(shí)現(xiàn)負(fù)載負(fù)擔(dān)。
以訪客廳為例,該交換機(jī)下面有VLAN 1與VLAN 19的流量,如果我們部署的是STP或者RSTP的話,則我們VLAN 1與VLAN 19的流量,要么從左邊的鏈路傳遞給核心交換機(jī)轉(zhuǎn)發(fā),要么從右邊的網(wǎng)絡(luò)傳遞給核心交換機(jī)轉(zhuǎn)發(fā),這樣的話,白白的浪費(fèi)了一條鏈路帶寬,如果VLAN流量比較多的話,則造成的情況是,一條鏈路擁塞,另外一條鏈路則沒(méi)有任何流量經(jīng)過(guò)。而MSTP實(shí)現(xiàn)的是,以多個(gè)VLAN為一個(gè)實(shí)例,不同的實(shí)例可以實(shí)現(xiàn)不同的鏈路轉(zhuǎn)發(fā),假設(shè)訪客廳有20個(gè)VLAN,則可以實(shí)現(xiàn)10個(gè)VLAN走左邊鏈路,而另外10個(gè)VLAN走右邊鏈路,這樣充分的利用了鏈路的帶寬,也減少出現(xiàn)擁塞的幾率。
5.1.2 鏈路聚合實(shí)現(xiàn)的效果
在這個(gè)案例中,部署了鏈路聚合的鏈路就是在兩臺(tái)核心交換機(jī)之間部署了,核心交換機(jī)之間加入這條線路的作用是,后續(xù)的VRRP流量都通過(guò)這條線路傳遞,也有人也喜歡把這條線路叫心跳線,有鏈路聚合的存在,除了提高帶寬以外,還增加了冗余性,這樣不會(huì)出現(xiàn)當(dāng)這條鏈路故障后,所有的VRRP流量都需要經(jīng)過(guò)下面的接入層交換機(jī)來(lái)轉(zhuǎn)發(fā)。另外就是下面VLAN流量訪問(wèn)服務(wù)器或者 不同VLAN間互訪流量通過(guò)。
(PS:想深入學(xué)習(xí)華為與考試的朋友,HCNP官方學(xué)習(xí)指南必須擁有,更能讀懂該系列實(shí)戰(zhàn)哦)
5.1.3 VRRP部署
VRRP的作用是充當(dāng)網(wǎng)關(guān)的默認(rèn)網(wǎng)關(guān)的,可以說(shuō)PC定義的默認(rèn)網(wǎng)關(guān)不生效的話,則整個(gè)網(wǎng)絡(luò)都訪問(wèn)不了了,只能訪問(wèn)同一個(gè)VLAN內(nèi)的,如果在沒(méi)有部署VRRP之前,兩臺(tái)設(shè)備有2個(gè)IP地址,都可以充當(dāng)PC的網(wǎng)關(guān),而PC又沒(méi)有任何的檢測(cè)機(jī)制,來(lái)判斷該網(wǎng)關(guān)是否出現(xiàn)了故障,而進(jìn)行切換,所以如果沒(méi)有VRRP之前,則只能通過(guò)人為修改,這個(gè)工作量肯定是巨大的,特別是中大型網(wǎng)絡(luò),而且非常不實(shí)際,不可能指望一個(gè)不懂技術(shù)的人去設(shè)置網(wǎng)關(guān)地址。VRRP解決的問(wèn)題就是,通過(guò)VRRP技術(shù)協(xié)商,虛擬一個(gè)IP地址出來(lái)(VRRP可以直接使用接口定義了的地址的),這樣的好處是,下面PC只需要定義VRRP定義的那個(gè)地址作為網(wǎng)關(guān)即可,當(dāng)主設(shè)備出現(xiàn)故障后,會(huì)自動(dòng)切換到備用上面,從而對(duì)客戶來(lái)說(shuō)是透明的。
為什么需要負(fù)載分擔(dān):因?yàn)槟J(rèn)情況下,所有的數(shù)據(jù)包都是交給主處理的,只有當(dāng)主出現(xiàn)故障的時(shí)候,備用才會(huì)處理數(shù)據(jù)報(bào)文,如果所有的主都定義在一臺(tái)設(shè)備上面的話,就意味著所有的數(shù)據(jù)包默認(rèn)情況下都是由該設(shè)備處理,而備用則被閑置了,浪費(fèi)了資源不說(shuō),很可能導(dǎo)致主設(shè)備處理能力跟不上,導(dǎo)致網(wǎng)絡(luò)延遲很大,所以我們需要規(guī)劃的是,把下面網(wǎng)段的網(wǎng)關(guān)平均分配到兩臺(tái)設(shè)備上面,比如192.168.1.0/24網(wǎng)段定義A為主,B為備用,而192.168.2.0/24網(wǎng)段定義B為主,A為備用,這樣實(shí)現(xiàn)負(fù)載分擔(dān),達(dá)到資源利用。
VRRP與MSTP配合:我們之前分析過(guò)MSTP是保證鏈路的有效分擔(dān)利用的,可以把VLAN的流量分?jǐn)偟讲煌溌飞先ィ缓笤谏闲性O(shè)備上面定義不同實(shí)例的根,定義根的作用是,對(duì)應(yīng)的實(shí)例內(nèi)的VLAN會(huì)把流量引向根的方向,而根也分為主根與備份根,這個(gè)跟VRRP的主備相似,所以我們?cè)诙xVRRP與MSTP的時(shí)候,要保持主備統(tǒng)一,比如VLAN 10、20、30的根在A設(shè)備上面,那么對(duì)應(yīng)的網(wǎng)關(guān) VRRP,則A為主,B為備用,而VLAN 40 、50 、60的根在B設(shè)備上面,那么對(duì)應(yīng)的網(wǎng)關(guān)VRRP,則B為主,A為備用。這樣的話到達(dá)路徑最優(yōu),資源利用最大化,如果MSTP與VRRP的定義相反,那么就會(huì)造成,路徑次優(yōu)了,比如VLAN 10,20.30定義根是B設(shè)備,而對(duì)應(yīng)的網(wǎng)關(guān)VRRP則為A,那么它們首先會(huì)把流量引向B設(shè)備,然后再由B設(shè)備交給A,這樣中間轉(zhuǎn)發(fā)又延遲了,也增加了設(shè)備的處理負(fù)擔(dān)。
3 具體配置
5.2.1 鏈路聚合配置
說(shuō)明:這里必須先配置鏈路聚合,因?yàn)橹虚g那條鏈路傳遞VRRP的流量,并且也傳遞STP的BPDU,所以先配置鏈路聚合是有必要的。
Core-A
[Core-A]interface Eth-Trunk 1
[Core-A-Eth-Trunk1]trunkport g0/0/18
[Core-A-Eth-Trunk1]trunkport g0/0/19
[Core-A-Eth-Trunk1]port link-type trunk
[Core-A-Eth-Trunk1]port trunk allow-pass vlan 19 to 23 88 100
[Core-A-Eth-Trunk1]load-balance src-dst-ip
說(shuō)明:創(chuàng)建了一個(gè)鏈路聚合口,然后關(guān)聯(lián)了G0/0/18與19,這2個(gè)口就是連接Core-B的,另外定義該類型為Trunk,允許了現(xiàn)在存有的VLAN流量通過(guò),其余的則不允許。并且配置了負(fù)載均衡的方式為源目IP的,因?yàn)榱髁康竭_(dá)Core后,上面的都是走三層了,基于源目IP分擔(dān)會(huì)更加有效率。
Core-B
[Core-B]interface Eth-Trunk 1
[Core-B-Eth-Trunk1]trunkport g0/0/18
[Core-B-Eth-Trunk1]trunkport g0/0/19
[Core-B-Eth-Trunk1]port link-type trunk
[Core-B-Eth-Trunk1]port trunk allow-pass vlan 19 to 23 88 100
[Core-B-Eth-Trunk1]load-balance src-dst-ip
說(shuō)明:創(chuàng)建了一個(gè)鏈路聚合口,然后關(guān)聯(lián)了G0/0/18與19,這2個(gè)口就是連接Core-A的,另外定義該類型為Trunk,允許了現(xiàn)在存有的VLAN流量通過(guò),其余的則不允許。并且配置了負(fù)載均衡的方式為源目IP的,因?yàn)榱髁康竭_(dá)Core后,上面的都是走三層了,基于源目IP分擔(dān)會(huì)更加有效率。
4 MSTP配置
分析:之前已經(jīng)分析過(guò)MSTP與VRRP配合的時(shí)候要主備統(tǒng)一,而在規(guī)劃的時(shí)候已經(jīng)規(guī)劃好了對(duì)應(yīng)的VLAN IP誰(shuí)為主,誰(shuí)為備用,所以我們這里根據(jù)VRRP的定義來(lái)定義MSTP即可。
254的定義則為PC網(wǎng)關(guān),這是Core-A上面定義的,為254的VLAN 有 VLAN 1、19、21,則VLAN 1 、19、21 A為主根,對(duì)應(yīng)的B為這些VLAN的備用根, 那么為253的地址則是充當(dāng)備用的,也就是說(shuō) 20、88、100這些VLAN,Core-A充當(dāng)?shù)氖莻溆酶鳦ore-B是主根。
Core-A的MSTP配置
[Core-A]stp region-configuration
[Core-A-mst-region]region-name ccieh3c.taobao.com
[Core-A-mst-region]instance 1 vlan 1 19 21
[Core-A-mst-region]instance 2 vlan 20 88 100
[Core-A-mst-region]active region-configuration
[Core-A]stp instance 1 root primary
[Core-A]stp instance 2 root secondary
說(shuō)明:這里進(jìn)入了MSTP的配置域,定義了一個(gè)名字為ccieh3c.taobao.com(這個(gè)同一個(gè)MSTP域必須保持一致),然后定義了2個(gè)實(shí)例,就是剛剛分析的那2個(gè),最終激活配置。
紅色部門定義的是,Core-A為1的主根,為實(shí)例2的備份根。
Core-B MSTP配置
[Core-B]stp region-configuration
[Core-B-mst-region]region-name ccieh3c.taobao.com
[Core-B-mst-region]instance 1 vlan 1 19 21
[Core-B-mst-region]instance 2 vlan 20 88 100
[Core-B-mst-region]active region-configuration
[Core-B]stp instance 1 root secondary
[Core-B]stp instance 2 root primary
說(shuō)明:這里進(jìn)入了MSTP的配置域,定義了一個(gè)名字為ccieh3c.taobao.com(這個(gè)同一個(gè)MSTP域必須保持一致),然后定義了2個(gè)實(shí)例,就是剛剛分析的那2個(gè),最終激活配置。
紅色部門定義的是,Core-B為2的主根,為實(shí)例1的備份根。與A相反。
5 訪客廳、高層人員、財(cái)務(wù) 服務(wù)器集群、AC的MSTP配置
[FKT]stp region-configuration
[FKT-mst-region]region-name ccieh3c.taobao.com
[FKT-mst-region]instance 1 vlan 1 19 21
[FKT-mst-region]instance 2 vlan 20 88 100
[FKT-mst-region]active region-configuration
說(shuō)明:訪客廳、高層人員、財(cái)務(wù)MSTP的配置是一樣的,所以這里就給出一個(gè)訪客廳的配置,其余的一樣配置即可,這里需要說(shuō)明的是,雖然訪客廳只有 VLAN 1與19的流量,但是一樣要定義對(duì)應(yīng)的實(shí)例,因?yàn)橥粋€(gè)MSTP域檢查的是一個(gè)hash值,只有配置定義一樣,hash值才會(huì)相同,這樣才會(huì)認(rèn)為是同一個(gè)域的,否則不能進(jìn)行協(xié)商,這樣導(dǎo)致MSTP計(jì)算出錯(cuò)。
6 結(jié)果驗(yàn)證【以高層人員、Core-A為例】
高層人員上面可以看到實(shí)例1與2,0可以不用管,是默認(rèn)其余沒(méi)有定義的VLAN規(guī)劃存在的,我們這里主要看1與2。
1、實(shí)例1:G0/0/2上聯(lián)接口為Root,而G0/0/1為阻塞,因?yàn)閷?shí)例1的根為Core-A,而G0/0/2上聯(lián)的接口就是Core-1,而G0/0/1則是Core-2.
2、實(shí)例2:實(shí)例2與實(shí)例1相反,因?yàn)閷?shí)例2的根在Core-B上面,所以這里G0/0/1為Root,G0/0/2阻塞。
實(shí)現(xiàn)的效果:實(shí)例1的流量走G0/0/2這條鏈路,而實(shí)例2的流量則走G0/0/1這條鏈路,實(shí)現(xiàn)復(fù)雜分擔(dān)。
Core-A上面接口比較多,但是不會(huì)出現(xiàn)阻塞的效果,因?yàn)樗趯?shí)例1與實(shí)例2中,不是主就是備,所以不會(huì)出現(xiàn)阻塞的接口,阻塞接口只會(huì)出現(xiàn)在接入層,比如高層人員的設(shè)備上面,看到的上聯(lián)接口有一個(gè)是阻塞的。
7 VRRP配置
Core-A VRRP配置
[Core-A]int vlan 1
[Core-A-Vlanif1]vrrp vrid 1 virtual-ip 192.168.1.254
[Core-A-Vlanif1]vrrp vrid 1 priority 105
[Core-A]int vlan 19
[Core-A-Vlanif19]vrrp vrid 19 virtual-ip 192.168.19.254
[Core-A-Vlanif19]vrrp vrid 19 priority 105
[Core-A]int vlan 20
[Core-A-Vlanif20]vrrp vrid 20 virtual-ip 192.168.20.254
[Core-A]int vlan 21
[Core-A-Vlanif21]vrrp vrid 21 virtual-ip 192.168.21.254
[Core-A-Vlanif21]vrrp vrid 21 priority 105
[Core-A]int vlan 88
[Core-A-Vlanif88]vrrp vrid 88 virtual-ip 192.168.88.254
[Core-A]interface vlan 100
[Core-A-Vlanif100]vrrp vrid 100 virtual-ip 192.168.100.254
說(shuō)明:之前分析了VLAN 1,19,21的VRRP 主為Core-A,所以這里除了定義一個(gè)地址外,還定義了一個(gè)優(yōu)先級(jí),這里建議定義為105,因?yàn)槿绻麢z測(cè)到鏈路出現(xiàn)故障,默認(rèn)減低優(yōu)先級(jí)為10,如果高了的話,就算減低優(yōu)先級(jí),還是為主用。另外為備用的地方只需要配置IP地址即可。
Core-B VRRP配置
[Core-B]int vlan 1
[Core-B-Vlanif1]vrrp vrid 1 virtual-ip 192.168.1.254
[Core-B]int vlan 19
[Core-B-Vlanif19]vrrp vrid 19 virtual-ip 192.168.19.254
[Core-B]int vlan 20
[Core-B-Vlanif20]vrrp vrid 20 virtual-ip 192.168.20.254
[Core-B-Vlanif20]vrrp vrid 20 priority 105
[Core-B]int vlan 21
[Core-B-Vlanif21]vrrp vrid 21 virtual-ip 192.168.21.254
[Core-B]int vlan 88
[Core-B-Vlanif88]vrrp vrid 88 virtual-ip 192.168.88.254
[Core-B-Vlanif88]vrrp vrid 88 priority 105
[Core-B]interface vlan 100
[Core-B-Vlanif100]vrrp vrid 100 virtual-ip 192.168.100.254
[Core-B-Vlanif100]vrrp vrid 100 priority 105
說(shuō)明:之前分析了VLAN20、88、100 的VRRP 主為Core-B,所以這里除了定義一個(gè)地址外,還定義了一個(gè)優(yōu)先級(jí),這里建議定義為105,因?yàn)槿绻麢z測(cè)到鏈路出現(xiàn)故障,默認(rèn)減低優(yōu)先級(jí)為10,如果高了的話,就算減低優(yōu)先級(jí),還是為主用。另外為備用的地方只需要配置IP地址即可。
8 結(jié)果驗(yàn)證
可以看到所有的狀態(tài)都是正常的,跟PC測(cè)試,在后續(xù)的DHCP分配后,可以測(cè)試使用。
9 存在一個(gè)大問(wèn)題(容易被忽略)
分析:這里VRRP配置了,正常情況下是沒(méi)任何問(wèn)題的,就算中間和下面的鏈路斷了,是不會(huì)出現(xiàn)什么問(wèn)題的,VRRP不會(huì)有影響,但是如果上面的鏈路端了,也就是連接防火墻的,那么則會(huì)出現(xiàn)一個(gè)問(wèn)題,就是次優(yōu)路徑。
上面配置可以得到 VLAN1的默認(rèn)網(wǎng)關(guān)在A上面,而B(niǎo)則是備用,當(dāng)A的上行鏈路出現(xiàn)故障后,VRRP是不會(huì)感知到的,所以還是會(huì)正常轉(zhuǎn)發(fā)數(shù)據(jù),但是上聯(lián)鏈路已經(jīng)失效了,這時(shí)候當(dāng)一個(gè)數(shù)據(jù)包過(guò)來(lái)需要A進(jìn)行轉(zhuǎn)發(fā)給出口防火墻的時(shí)候,由于上行鏈路出現(xiàn)故障,那么這時(shí)候則只能通過(guò)A與B之間的鏈路傳遞給B,B這時(shí)候只做一個(gè)透?jìng)鞯淖饔?,然后傳給防火墻,防火墻在轉(zhuǎn)發(fā)給外網(wǎng),外網(wǎng)回包后,防火墻這時(shí)候需要回應(yīng)數(shù)據(jù)包了,它回應(yīng)給的是網(wǎng)關(guān)地址,也就是VLAN 100做的VRRP網(wǎng)關(guān),正常情況下是直接轉(zhuǎn)發(fā)給A的,但是這時(shí)候與A的鏈路斷了,只能通過(guò)轉(zhuǎn)發(fā)給B,然后由B在轉(zhuǎn)發(fā)給A進(jìn)行處理,所以這時(shí)候,數(shù)據(jù)包的路徑并不是最優(yōu)的,這樣造成的后果就是,加重B設(shè)備的處理能力,與B與A之間的鏈路帶寬【這里有鏈路聚合,帶寬還不會(huì)被阻塞】。
(PS:后續(xù)會(huì)涉及到防火墻的知識(shí)點(diǎn),這邊屬于華為防火墻學(xué)習(xí)最好的,不管是理論點(diǎn)、實(shí)驗(yàn)、還是排錯(cuò)都分析的很好)
10 解決辦法
在VRRP中有一個(gè)track功能,默認(rèn)情況下 VRRP是不監(jiān)控上行鏈路的,但是通過(guò)track功能后,是可以直接監(jiān)控上行鏈路,這樣可以避免上面的情況出現(xiàn)。
前提:但是track技術(shù)部署的前提就是不能使用接口地址作為VRRP的地址,也就是VRRP的虛擬地址與接口地址不能是同一個(gè),所以這個(gè)環(huán)境如果要部署track的話,則需要改變下IP地址。這里只是特備作為提醒存在,因?yàn)樵趯?shí)際部署中非常容易忽略這個(gè)細(xì)節(jié)。,所以這里并沒(méi)有在一開(kāi)始就這樣規(guī)劃,而是用一個(gè)分析進(jìn)行講解。
這里以VLAN 1舉例說(shuō)明下,track的作用,實(shí)際工作中根據(jù)需求是否需要部署 來(lái)決定,另外還可以關(guān)聯(lián)BFD,NQA等技術(shù)關(guān)聯(lián)。
作用的命令是,當(dāng)G0/0/22(上聯(lián)接口)出現(xiàn)故障后,自動(dòng)減低優(yōu)先級(jí)10,也就是變?yōu)?5,這樣的話 B自然搶占為主了。
可以看到現(xiàn)在還是為Master
當(dāng)我手動(dòng)把22號(hào)接口關(guān)閉后,可以看到VLAN1由 Master變?yōu)锽ackup了,也就是變成了備用。
這時(shí)候,B成為了Master。
說(shuō)明:track技術(shù)只需要在VLAN部署VRRP為主的情況下調(diào)用,備用則不需要。因?yàn)橹鞅O(jiān)控上行鏈路失效后,自然會(huì)減低優(yōu)先級(jí),備用就成為主用了,當(dāng)主用的鏈路恢復(fù)后,又恢復(fù)優(yōu)先級(jí),則又成為主用。
建議,在工作中可以使用track技術(shù)的話,就使用,可以減少很多情況發(fā)生,案例也已經(jīng)改為部署了track方案的,之前沒(méi)部署,主要是想說(shuō)明下為什么需要部署track。
修改后的配置
說(shuō)明:可以看到之前的Core-A與B的主地址為254的,現(xiàn)在都改為252了,主要是不與VRRP地址是同一個(gè),這樣就可以調(diào)用track技術(shù)了。
說(shuō)明:上面的為Core-A的,下面的為Core-B的,可以看到調(diào)用了track的都是為Master的,備用不需要調(diào)用。
轉(zhuǎn)載自微信公眾號(hào):網(wǎng)絡(luò)之路博客公眾號(hào)