最 近,單位有一個(gè)新的項(xiàng)目啟動(dòng),需要內(nèi)部電腦訪(fǎng)問(wèn)外部某單位一臺(tái)服務(wù)器的IIS(IP地址為10.155.215.70)應(yīng)用,端口號(hào)為5060。網(wǎng)絡(luò)邏輯結(jié)構(gòu)如圖1所示,內(nèi)網(wǎng)電腦→核心交換機(jī)→IPS設(shè)備→Juniper防火墻→外部IIS服務(wù)器。
圖1 簡(jiǎn)式邏輯結(jié)構(gòu)圖
我們通過(guò)以下幾個(gè)步驟,將內(nèi)網(wǎng)與外部地址10.155.215.70連通。
1.在核心交換機(jī)上做了路由策略:ip routestatic 10.155.215.70 32 192.168. 100.251
2.在Juniper防火墻上開(kāi)通路由允許通過(guò)策略以及NAT策略。
3.ISP設(shè)備為透明模式。
上述步驟設(shè)置完畢后做測(cè)試。首先Ping命令測(cè)試,內(nèi)網(wǎng)某臺(tái)電腦Ping外部服務(wù)器10.155.215.70,結(jié)果如圖2所示,能Ping通。接著做 telnet測(cè) 試,telnet 10.155.215.70 5060,結(jié)果也是能通的。
但是,在通過(guò)瀏覽器訪(fǎng)問(wèn)http://10.155.215.70:5060時(shí),一直顯示無(wú)法訪(fǎng)問(wèn),后來(lái)嘗試訪(fǎng)問(wèn)該外部服務(wù)器的其他端口,比 如http://10.155.215.70:5070,http://10.155.215.70:5080等 均 能 正常訪(fǎng)問(wèn),此時(shí)怎么也想不明白,是什么原因?qū)е聼o(wú)法訪(fǎng)問(wèn)http://10.155.215.70:5060這網(wǎng)址。
經(jīng)重新商討,最終決定采取排除法一步步找原因。
在內(nèi)網(wǎng)中搭建一臺(tái)IIS服務(wù)器,新建Web站點(diǎn)頁(yè)面并設(shè)置5060端口,之后通過(guò)內(nèi)網(wǎng)某臺(tái)PC電腦訪(fǎng)問(wèn)此Web頁(yè)面,測(cè)試結(jié)果能正常訪(fǎng)問(wèn),證明內(nèi)網(wǎng)環(huán)境沒(méi)有問(wèn)題。
圖2 Ping測(cè)試
圖3 ALG設(shè)置
將IPS電源直接切斷(基于二層回退和掉電保護(hù)的機(jī)制),再?gòu)膬?nèi)網(wǎng)PC訪(fǎng)問(wèn)http://10.155.215.70:5060地址,測(cè)試結(jié)果依然顯示無(wú)法訪(fǎng)問(wèn)成功,證明IPS設(shè)備沒(méi)有阻攔此端口設(shè)置。
將連接到Juniper防火墻的線(xiàn)路直接連到筆記本電腦上,設(shè)置好相應(yīng)的IP地址后,再訪(fǎng)問(wèn)http://10.155.215.70:5060地址,測(cè)試結(jié)果顯示訪(fǎng)問(wèn)成功,證明外部環(huán)境設(shè)置沒(méi)有問(wèn)題。
經(jīng)過(guò)以上幾步測(cè)試后,最終將問(wèn)題確定在Juniper防火墻上。經(jīng)過(guò)專(zhuān)業(yè)人士細(xì)心診斷,發(fā)現(xiàn)Juniper防 火 墻 有 一 個(gè)“ALG”(Application Level Gateway,應(yīng)用級(jí)網(wǎng)關(guān))功能菜單,里面有一項(xiàng)SIP(Session Initiation Protocol,會(huì)話(huà)初始協(xié)議)選項(xiàng),它所占用的端口正好是5060端口,將它改成未勾選后保存應(yīng)用(如圖 3),內(nèi)網(wǎng)電腦訪(fǎng)問(wèn)http://10.155.215.70:5060 地址,測(cè)試結(jié)果顯示訪(fǎng)問(wèn)成功,證明就是這個(gè)Juniper防火墻的設(shè)置問(wèn)題,導(dǎo)致內(nèi)網(wǎng)電腦一直無(wú)法訪(fǎng)問(wèn)外部服務(wù)器Web站點(diǎn)的5060端口地址,但是Telnet 等方式都是能正常通的,這就讓人很容易產(chǎn)生錯(cuò)覺(jué)。
防火墻是一把“雙刃劍”,在給予內(nèi)部網(wǎng)強(qiáng)大安全的同時(shí),也會(huì)對(duì)出口的訪(fǎng)問(wèn)做很多限制。就這次事件而言,Web站點(diǎn)使用的5060端口就是一個(gè)常用端口,而Juniper防火墻的應(yīng)用級(jí)網(wǎng)關(guān)功能默認(rèn)是不允許此端口當(dāng)普通端口使用,故而發(fā)生了這種應(yīng)用層面的錯(cuò)誤。