■ 河南 李虎 夏曉斌
編者按: 筆者單位在經(jīng)過網(wǎng)絡(luò)升級(jí)后,出現(xiàn)業(yè)務(wù)系統(tǒng)登錄不暢的問題,筆者經(jīng)過一系列排查發(fā)現(xiàn),是因?yàn)锳CL訪問列表的加入導(dǎo)致VRRP協(xié)議工作出現(xiàn)異常。
S集團(tuán)下屬某分公司使用兩臺(tái)H3C6604路由器部署在內(nèi)網(wǎng)邊界,直連內(nèi)網(wǎng)核心交換機(jī),同時(shí)通過兩條運(yùn)營商專線(800M移動(dòng)和50M電信),上聯(lián)集團(tuán)總部。
兩臺(tái)路由器使用VRRP協(xié)議做雙機(jī)熱備部署,電信專線路由器內(nèi)網(wǎng)互聯(lián)IP為10.*.*.222(以下簡稱“222”),移動(dòng)專線路由器內(nèi)網(wǎng)互聯(lián)IP為10.*.*.223(以下簡稱“223”),建立了VRID分別是100和200的兩個(gè)VRRP熱備組,熱備組100的master是移動(dòng)專線路由器,虛擬IP是10.*.*.210,內(nèi)網(wǎng)核心上把去往集團(tuán)的大部分流量指向了該IP;熱備組200的master是電信專線路由器,虛擬IP是10.*.*.211,內(nèi)網(wǎng)核心上把去往集團(tuán)總部的少量重要業(yè)務(wù)指向該IP。
因?yàn)閮蓷l專線存在較大差異,通過上述部署,可以實(shí)現(xiàn)電信專線故障后,該鏈路上的所有流量可以由移動(dòng)專線承載,而移動(dòng)專線故障后,僅有少量業(yè)務(wù)流量轉(zhuǎn)移至電信專線傳輸。VRRP熱備組拓?fù)浣Y(jié)構(gòu)如圖1所示。
圖1 VRRP熱備組拓?fù)鋱D
近日,集團(tuán)公司要求加強(qiáng)網(wǎng)絡(luò)安全管控,該分公司網(wǎng)管在核心交換機(jī)上設(shè)置了ACL訪問列表,把去往集團(tuán)總部的流量實(shí)行白名單準(zhǔn)入策略。
隨后兩天陸續(xù)有很多用戶反映訪問集團(tuán)總部應(yīng)用系統(tǒng)時(shí)快時(shí)慢,無法進(jìn)行耗時(shí)較長的在線業(yè)務(wù),分給兩條專線的業(yè)務(wù)都存在這樣的問題。
網(wǎng)管人員通過ping總部服務(wù)器發(fā)現(xiàn)有時(shí)很流暢不丟包,響應(yīng)時(shí)間很短;有時(shí)丟包嚴(yán)重,響應(yīng)時(shí)間也較長。
針對(duì)這一現(xiàn)象,網(wǎng)管員首先逐一檢查了核心交換機(jī)上的ACL策略條目,白名單策略都是嚴(yán)格按照分公司到集團(tuán)的業(yè)務(wù)訪問需求做的,該通的都放通,且ACL不結(jié)合QoS策略,不會(huì)對(duì)流量快慢造成影響。接著聯(lián)系移動(dòng)和電信檢查了專線鏈路,也排除了鏈路質(zhì)量問題。難道是網(wǎng)絡(luò)攻擊造成的?網(wǎng)管員檢查了在內(nèi)網(wǎng)核心和路由器之間做透明部署的防火墻,檢查了各類日志,也未發(fā)現(xiàn)異常。
在排除了ACL策略、鏈路質(zhì)量和網(wǎng)絡(luò)攻擊等故障原因之后,網(wǎng)管員把思路重新調(diào)整到路由方面,這一調(diào)整確實(shí)有重大發(fā)現(xiàn)。之前,網(wǎng)管員登錄網(wǎng)管平臺(tái)曾發(fā)現(xiàn)50M電信專線流量明顯有異于平常,這幾天里有大量的突發(fā)流量超出了專線帶寬。另外,使用tracert追蹤路由,發(fā)現(xiàn)本該走移動(dòng)專線路由器223的流量走的卻是電信專線222(如圖2),過一會(huì)兒再tracert,發(fā)現(xiàn)又正常了,如此頻繁反復(fù),造成了50M電信專線上時(shí)常承載了超出自身帶寬能力的流量,最終導(dǎo)致用戶訪問集團(tuán)業(yè)務(wù)出現(xiàn)問題也不奇怪了,如圖3。
圖2 使用tracert追蹤路由結(jié)果
圖3 頻繁反復(fù)走tracert致流量過載
圖4 兩臺(tái)路由器都宣告自己是master
圖5 增加一條策略后再次登錄路由器觀察
總結(jié)上述發(fā)現(xiàn),即內(nèi)網(wǎng)核心上去往總部的下一跳地址在兩個(gè)專線路由器之間來回變化,最終導(dǎo)致訪問總部業(yè)務(wù)的異常。接下來就是尋找下一跳地址來回變化的原因了。內(nèi)網(wǎng)核心交換機(jī)把去往總部的路由分別指向了兩個(gè)專線路由器VRRP熱備組的虛擬IP,這一點(diǎn)不會(huì)變化,而虛擬IP代表的路由器是可能發(fā)生變化的,一般情況下,熱備組中的優(yōu)先級(jí)高的那臺(tái)路由器會(huì)被選為master,這時(shí),master才是虛擬IP的真身。網(wǎng)管員分別登錄兩臺(tái)路由器,發(fā)現(xiàn)兩臺(tái)路由器都宣告自己是master,如圖 4。
兩臺(tái)路由器都認(rèn)為自己是master,都會(huì)給內(nèi)網(wǎng)核心交換機(jī)廣播IP(熱備組虛擬IP)相同但MAC不同的ARP信息,導(dǎo)致核心交換機(jī)上去往總部的路由下一跳不斷地變化,由此引發(fā)故障。
雙Master的出現(xiàn)一定是兩個(gè)路由器通信出現(xiàn)了問題,要么是互相不通,要么是VRRP工作異常。在兩臺(tái)路由器上互ping對(duì)方內(nèi)網(wǎng)接口地址(222和223),并沒有問題。那么剩下的就只有VRRP機(jī)制工作異常這一個(gè)可能了。
仔細(xì)回顧了一下VRRP工作原理,結(jié)合此故障現(xiàn)象發(fā)生的開始時(shí)間與開啟白名單準(zhǔn)入進(jìn)行訪問控制的時(shí)間相同,所以故障原因應(yīng)為做白名單準(zhǔn)入的ACL阻斷了兩個(gè)路由器之間的VRRP協(xié)商,而VRRP主備協(xié)商要用到的組播地址224.0.0.18并沒有在這個(gè)ACL的放行策略里。
此時(shí),故障的前因后果完全清晰起來,最后一擊就變得很簡單了,在核心交換機(jī)的ACL訪問控制列表中增加一條訪問策略,如下:
rule 99 permit ip source any destination 224.0.0.18 0
增加這條策略之后,再次登錄路由器進(jìn)行觀察,持續(xù)雙master的問題得到解決,業(yè)務(wù)恢復(fù)正常,如圖5。