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