某單位計劃異地部署網(wǎng)站副本,如圖1所示,機房1是目前網(wǎng)站位置,機房2是網(wǎng)站副本位置之一,這兩個機房不在同一個地理位置。由于網(wǎng)站數(shù)據(jù)量大,擬采用FTP方式傳送數(shù)據(jù)。
圖1 網(wǎng)站多地部署示意圖
在機房2使用Serv-U(版本:6.4.0.6)架設(shè) FTP服務(wù)器,采用默認值安裝Serv-U,并設(shè)置好域、IP、用戶名、口令、對應(yīng)文件夾及上傳下載文件權(quán)限。打開機房1運維終端的Windows文件資源管理器,在文件夾地址欄中輸入“ftp://機房2FTP服務(wù)器IP地 址 /”后回車,輸入用戶名和口令,提示FTP文件夾錯誤(如圖2)。
首先排查FTP服務(wù)器。打開機房2任意一臺非FTP服務(wù)器的Windows文件資源管理器,通過輸入“ftp://機房2FTP服務(wù)器IP地址/”檢測發(fā)現(xiàn)FTP服務(wù)正常,排除FTP服務(wù)器故障。
其次,檢查防火墻策略。從圖1可以看出,要建立FTP數(shù)據(jù)傳輸通道,至少經(jīng)過兩道防火墻。詢問網(wǎng)管員,防火墻2僅對外開放了21、80等幾個常用TCP端口,防火墻1 開放的端口有 20、21、80等,確認了FTP服務(wù)端口21對外開放。
第三,排查FTP連接模式。查閱有關(guān)資料,在上述防火墻策略下,F(xiàn)TP連接模式應(yīng)設(shè)置為主動模式。采用能指定連接模式的FTP客戶端軟件,如WinSCP(版本5.11.1),在新建站點界面點擊“高級(A)…”按鈕,在FTP站點高級設(shè)置界面的“連接”設(shè)置區(qū)取消“被動模式(P)”,保存設(shè)置后,單擊“登錄”按鈕,提示已連接,幾十秒鐘后又提示失去連接(如圖3),連接還是不成功。至此,可將故障定位到機房1的運維終端。
檢查機房1運維終端的防火墻設(shè)置,發(fā)現(xiàn)專用網(wǎng)絡(luò)和公用網(wǎng)絡(luò)均啟用了Windows防火墻。在“允許應(yīng)用或功能通過Windows防火墻”對話框中添加WinSCP(如圖4),問題得到徹底解決。
圖2 FTP文件夾錯誤
圖3 提示連接超時
FTP傳輸有主動模式與被動模式之分,這兩種模式共同點是通過服務(wù)器的21端口建立命令連接,不同點是在數(shù)據(jù)連接階段區(qū)分主動和被動。在主動模式中,服務(wù)器20端口主動與客戶端(端口大于1024)建立數(shù)據(jù)傳輸連接;在被動模式中,服務(wù)器(端口大于1024)被動與客戶端(端口大于1024)建立數(shù)據(jù)傳輸連接。而防火墻2僅對外開放了21、80等幾個端口,但是防火墻2采用了狀態(tài)檢測技術(shù),對所有主動外連建立連接狀態(tài)表,只要是內(nèi)部端口主動發(fā)起的連接全部放行,所以主動模式下能正常傳輸數(shù)據(jù)。同樣原理,如果運維終端對外端口全部關(guān)閉,F(xiàn)TP服務(wù)器主動過來的連接也被攔截了,導(dǎo)致圖3所示錯誤。
目前軟件的智能化、人性化程度越來越高,出現(xiàn)故障時一般會有相應(yīng)提示,圖2中就明確提示了采用被動模式連接不成功??筛鶕?jù)這些提示快速找到解決方法,達到事半功倍的效果。
圖4“允許應(yīng)用或功能通過Windows防火墻”對話框