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