■ 湖南工業(yè)大學(xué)現(xiàn)代教育技術(shù)中心 郭兆宏
編者按:某一天筆者遇到用戶(hù)反映說(shuō)其映射的HTTP服務(wù)在外網(wǎng)不能打開(kāi)了,因此筆者針對(duì)此進(jìn)行了一系列排查工作。
圖1 加入NAT地址池前后路由跟蹤對(duì)比
某用戶(hù)反映他們的映射的
HTTP服務(wù)不能打開(kāi)了,檢查出口設(shè)備的配置是正常的,此端口映射的內(nèi)網(wǎng)地址可以正常打開(kāi),公網(wǎng)地址+端口號(hào)在單位內(nèi)網(wǎng)也可以打開(kāi),說(shuō)明服務(wù)器、內(nèi)網(wǎng)是正常的,但用www.17CE.com測(cè)試不能打開(kāi),于是開(kāi)始了網(wǎng)絡(luò)、安全方面的排查。
首先查到此映射在內(nèi)網(wǎng)地址,在自己電腦上可以正常打開(kāi)此映射的內(nèi)網(wǎng)IP:172.x.x.11 + 8080端口號(hào),再次打開(kāi)映射的公網(wǎng)IP地址:218.x.x.121 + 8080端口號(hào)也正常,這說(shuō)明此映射的服務(wù)器、服務(wù)、內(nèi)網(wǎng)是正常運(yùn)行的。但用www.17CE.com測(cè)試不能打開(kāi),用www.17CE.com測(cè)試單位網(wǎng)站用公網(wǎng) IP:218.x.x.116 方式的打開(kāi)正常,而用www.17CE.com的路由跟蹤是無(wú)法跟蹤218.x.x.116的,只能跟蹤到網(wǎng)關(guān)。再測(cè)試打開(kāi)2個(gè)常用的映射也用公網(wǎng)IP地址+端口號(hào)的方式也是正常的,說(shuō)明網(wǎng)絡(luò)正常、出口設(shè)備運(yùn)行是正常的。感覺(jué)哪里有卡此映射的服務(wù),于是開(kāi)始檢查安全設(shè)備。
因有多臺(tái)安全設(shè)備是串聯(lián)在核心網(wǎng)絡(luò)線(xiàn)路上的,且每分鐘都有多條數(shù)據(jù)被攔截,于是一個(gè)個(gè)檢查日志,未查到此映射內(nèi)網(wǎng)IP及公網(wǎng)IP的記錄,基本確認(rèn)安全設(shè)備正常沒(méi)有卡此映射,但準(zhǔn)備實(shí)在不行把線(xiàn)路跳過(guò)安全設(shè)備,因有多臺(tái)安全設(shè)備且不在同一個(gè)機(jī)柜中,跳線(xiàn)有點(diǎn)麻煩,不到最后不搞這步。
再次檢查出口設(shè)備的映射配置及流過(guò)濾的ACL,此映射的公網(wǎng)IP+端口全部放通的,映射配置正確。出口的帶寬正常,會(huì)話(huà)數(shù)正常,內(nèi)網(wǎng)IP:172.x.x.11的流量基本沒(méi)有。
出口設(shè)備配置中有一項(xiàng)免費(fèi)ARP請(qǐng)求:網(wǎng)關(guān)會(huì)定期向局域網(wǎng)PC通告自己的IPMAC地址,避免內(nèi)網(wǎng)PC被ARP欺騙,同時(shí)在被欺騙后仍能及時(shí)的學(xué)習(xí)到正確的網(wǎng)關(guān)地址,這個(gè)選項(xiàng)只能對(duì)內(nèi)網(wǎng)不能對(duì)外網(wǎng)。因安全設(shè)備沒(méi)有查出問(wèn)題,只可能是出口設(shè)備有問(wèn)題了就把出口設(shè)備重啟了,故障依舊。出口設(shè)備前還有2臺(tái)安全設(shè)備也給重啟了,故障依舊。出口設(shè)備前有臺(tái)交換機(jī)接運(yùn)營(yíng)商的線(xiàn)路,配置有空端口可以接筆記本用公網(wǎng)IP地址的,但因當(dāng)時(shí)筆記本被借走了,暫時(shí)沒(méi)用公網(wǎng)IP測(cè)試。
因?yàn)榇擞成涑鋈サ氖?080端口,怕被運(yùn)營(yíng)商禁止端口了,就增加一個(gè)映射換了一個(gè)不常見(jiàn)的端口號(hào),還是不行,再換另一個(gè)公網(wǎng)IP+另一個(gè)端口號(hào),新公網(wǎng)IP:218.x.x.116是單位網(wǎng)站的,用www.17CE.com測(cè)試可以正常打開(kāi),感覺(jué)是IP:218.x.x.121是被運(yùn)營(yíng)商給封殺了,于是聯(lián)系運(yùn)營(yíng)商,過(guò)一段時(shí)間反饋回來(lái)是運(yùn)營(yíng)商沒(méi)有封殺任何IP地址及端口號(hào),只能再查自己的設(shè)備。
在出口上用命令“sh ip nat translations |include 218.x.x.121”查此映射公網(wǎng)IP的NAT表及sh ip fpm flows | include 218.x.x.121查流表過(guò)濾,全部沒(méi)有任何數(shù)據(jù)。再檢查此映射公網(wǎng)IP上面其他幾個(gè)映射,有幾個(gè)映射的內(nèi)網(wǎng)都打不開(kāi),有2個(gè)映射的內(nèi)網(wǎng)服務(wù)可以打開(kāi),但用www.17CE.com測(cè)試也打不開(kāi),把這2個(gè)映射內(nèi)網(wǎng)IP+端口再做2個(gè)映射到單位網(wǎng)站的公網(wǎng)IP:218.x.x.116+端 口,用www.17CE.com測(cè)試全可以打開(kāi),把單位網(wǎng)站映射到此公網(wǎng)IP:218.x.x.121+非80端口號(hào),用www.17CE.com測(cè)試打不開(kāi)。判斷就是此映射的公網(wǎng)IP:218.x.x.121地址有問(wèn)題。
感 覺(jué) 此 公 網(wǎng)IP:218.x.x.121肯定是哪里卡了,可能在安全設(shè)備上,想跳開(kāi)安全設(shè)備,但又有些麻煩,且以前運(yùn)行也是正常的。也可能在出口設(shè)備上,在出口設(shè)備上沒(méi)有查到此公網(wǎng)IP:218.x.x.121的流表,增加流表如何?于是把此映射的公網(wǎng)IP:218.x.x.121加到NAT地址池,在出口設(shè)備查NAT轉(zhuǎn)換表過(guò)濾,馬上看到此公網(wǎng)IP:218.x.x.121的 很 多 數(shù)據(jù),再用www.17CE.com測(cè)試此 映 射:218.x.x.121:8080可以打開(kāi)了,此映射正常了!再查看流表過(guò)濾,此映射的公網(wǎng)IP+端口號(hào)的數(shù)據(jù)都有了,至此故障解決了。
應(yīng)是運(yùn)營(yíng)商學(xué)習(xí)不到此公網(wǎng)IP:218.x.x.121的MAC地址。因?yàn)閱挝痪W(wǎng)絡(luò)NAT地址池里IP地址是專(zhuān)用NAT的,不做端口映射的;而做端口映射的公網(wǎng)IP是不做NAT地址池的。且這些地址都不能ping通的,也無(wú)法跟蹤路由,更不是接口地址。
首先在上網(wǎng)行為日志里檢查此映射內(nèi)網(wǎng)IP:172.x.x.11的記錄,最近30天一天平均就幾百個(gè)訪(fǎng)問(wèn),此映射 公 網(wǎng) IP:218.x.x.121上面其它幾個(gè)映射的內(nèi)網(wǎng)有幾個(gè)沒(méi)訪(fǎng)問(wèn)量(內(nèi)網(wǎng)服務(wù)根本就打不開(kāi)),一個(gè)偶有訪(fǎng)問(wèn)量且最多只有幾十個(gè),而單位網(wǎng)站的訪(fǎng)問(wèn)量一天平均都是10+萬(wàn)次的訪(fǎng)問(wèn)量。估計(jì)此公網(wǎng)IP:218.x.x.121的訪(fǎng)問(wèn)量太少,且在一段時(shí)間內(nèi)就沒(méi)有訪(fǎng)問(wèn)量,且此IP只用端口映射沒(méi)有NAT地址,也不是接口地址,且不能ping通,所以運(yùn)營(yíng)商有段時(shí)不知道此IP的MAC地址,也就無(wú)法找到此IP地址,因此在外網(wǎng)不可能打開(kāi)此映射的。其實(shí)以前有過(guò)此公網(wǎng)IP一個(gè)映射也無(wú)法訪(fǎng)問(wèn),當(dāng)時(shí)給換到另一個(gè)公網(wǎng)IP上面的映射了,可以正常使用后就沒(méi)有深入找原因。
把單位網(wǎng)站的再做一個(gè)從未使用的公網(wǎng)IP:218.x.x.117上面的的映射,用www.17CE.com測(cè)試無(wú)法打開(kāi),在出口設(shè)備上把禁止ping、訪(fǎng)問(wèn)限制等安全配置全放開(kāi),路由跟蹤也無(wú)法找到這個(gè)從未使用的公網(wǎng)IP,在出口設(shè)備上查流表也無(wú)法查出這個(gè)從未使用IP的數(shù)據(jù)。
過(guò)一段時(shí)間把這個(gè)從未使用的公網(wǎng)IP也加入到NAT地址池中,再用www.17CE.com測(cè)試可以正常打開(kāi)了,在出口設(shè)備上查sh ip fpm flows | include 218.x.x.121流表,立即查出這個(gè)從未使用IP的數(shù)據(jù)對(duì)應(yīng)打開(kāi)單位網(wǎng)站內(nèi)網(wǎng)的數(shù)據(jù)了,路由跟蹤也可以到網(wǎng)關(guān)了。
此故障雖然與安全設(shè)備無(wú)關(guān),但也要檢查下安全設(shè)備,因?yàn)槊糠昼姸加邪踩O(shè)備的阻斷行為,檢查可以防萬(wàn)一。因?yàn)镮P:218.x.x.121訪(fǎng)問(wèn)量太少,且有一段時(shí)間就沒(méi)有訪(fǎng)問(wèn)量,這個(gè)公網(wǎng)IP地址對(duì)應(yīng)的MAC地址在運(yùn)營(yíng)商設(shè)備上找不到,所以在外網(wǎng)上無(wú)法找到此公網(wǎng)IP地址。
把此映射的公網(wǎng)IP加入到NAT地址池后,有大量NAT轉(zhuǎn)換表,運(yùn)營(yíng)商設(shè)備上可以找到此IP的MAC地址,也就能找到此IP地址,映射也就可以正常打開(kāi)了。其實(shí)如果能與運(yùn)營(yíng)商有良好的技術(shù)溝通可以很快發(fā)現(xiàn)此IP:218.x.x.121與MAC是否在運(yùn)營(yíng)商設(shè)備上看到,這方面要加強(qiáng)。NAT地址池的IP與端口映射的IP,這個(gè)配置也要調(diào)整。