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