【網(wǎng)絡(luò)】彈性云服務(wù)器ECS搭建FTP服務(wù)實踐-華為云
我們在使用華為彈性云服務(wù)器ECS搭建FTP服務(wù)的時候,經(jīng)常會遇到搭建完成后無法訪問的問題。本篇案例通過講解ftp主動模式、被動模式原理來說明無法訪問的原因及解決方案。

華為云上的彈性公網(wǎng)IP地址EIP和彈性云服務(wù)器ECS的私網(wǎng)IP地址是動態(tài)綁定的,通過NAT的方式進(jìn)行映射。FTP協(xié)議應(yīng)用層中攜帶了IP地址或端口等信息,因此一般需要ALG的幫助才能正常穿越NAT。我們在華為云主機(jī)上搭建ftp服務(wù)器后,一般默認(rèn)無法從公網(wǎng)去訪問,要理解這個原因,首先要了解下ftp的主動模式和被動模式的概念。
一、FTP主動模式與被動模式
1、主動模式
客戶端從一個任意的非特權(quán)端口N(N>1024,如下圖的1026端口)連接到FTP服務(wù)器的21端口。然后客戶端開始監(jiān)聽N+1(如下圖的1027端口),并發(fā)送FTP命令“port N+1”到FTP服務(wù)器。接著服務(wù)器會從它自己的數(shù)據(jù)端口(20)連接到客戶端指定的數(shù)據(jù)端口(N+1)。
用更通俗的語言來理解這個交互過程:
1)??客戶端用一個大于1024的端口N與FTP服務(wù)器的21端口建立一個控制通道,發(fā)送一條命令告訴FTP服務(wù)端(即通常說的PORT命令),我的數(shù)據(jù)通道的通信地址是IP1(本機(jī)網(wǎng)卡IP),數(shù)據(jù)通道的端口N+1,服務(wù)端收到請求后回復(fù)ACK確認(rèn)。
2)??服務(wù)端確認(rèn)后,用源端口20主動與客戶端IP1:N+1建立連接,進(jìn)行數(shù)據(jù)通信。
2、被動模式
當(dāng)開啟一個FTP連接時,客戶端打開兩個任意的非特權(quán)本地端口N>1024和N+1(分別如下圖的1026端口和1027端口)。第一個端口連接服務(wù)器的21端口,客戶端提交PASV命令給服務(wù)端,這樣做的結(jié)果是服務(wù)器會開啟一個任意的非特權(quán)端口(P>1024),并發(fā)送PORT P(如下圖2024)命令給客戶端。然后客戶端發(fā)起從本地端口N+1到服務(wù)器的端口P的連接用來傳送數(shù)據(jù)。
用更通俗的語言來理解這個交互過程:
1)??客戶端使用源端口N與FTP服務(wù)端建立一個控制通道,發(fā)送一條命令告訴服務(wù)端(即通常說的PASV命令),我將使用被動模式與你通信。服務(wù)端收請求后,會告知客戶端我的IP是IP2(默認(rèn)為主機(jī)網(wǎng)卡IP)和監(jiān)聽端口P,你可以和我的這個IP和端口通信。
2)??客戶端收到1)中的信息后,使用源端口N+1,與服務(wù)端IP2:P建立連接,進(jìn)行數(shù)據(jù)通信。
二、windows IIS搭建FTP方法演示
server?版本:Windows Server 2012 R2?標(biāo)準(zhǔn)版?64位簡體中文
IIS版本:????IIS 8
1、安裝FTP服務(wù)
“控制面板”—“管理工具”—“服務(wù)器管理器”—“儀表盤”
2、ftp服務(wù)部署
客戶端IE瀏覽器一般默認(rèn)配置采用被動模式訪問FTP服務(wù)器,如果通過EIP去訪問云上ECS部署的FTP服務(wù),會報如下錯誤:
理解了FTP被動模式的原理后,我們就很容易理解訪問失敗的原因:
第一步控制通道通信過程中,服務(wù)端回復(fù)給客戶端的數(shù)據(jù)面IP是服務(wù)端網(wǎng)卡的私網(wǎng)IP(此處為172.16.0.170)而不是服務(wù)端的公網(wǎng)IP地址,導(dǎo)致客戶端第二步數(shù)據(jù)通道建連失敗。
三、解決方案
1、??客戶端IE修改為主動模式
如下圖所示所示,在“工具->Internet選項->高級”將“使用被動FTP…“勾選去掉。前面說過,F(xiàn)TP主動模式下,F(xiàn)TP服務(wù)器會
但有一點需要注意,如果客戶端本地網(wǎng)絡(luò)是通過NAT方式訪問外網(wǎng)的,也可能會有問題,所以不建議采用該方案。
2、服務(wù)端配置“FTP防火墻支持”
如下圖所示,在“防火墻的外部IP地址”中填寫主機(jī)的彈性公網(wǎng)IP即可,此時仍然采用FTP被動模式。建議使用該種方式,該種方法可以支持被動模式訪問FTP,且對客戶端本地網(wǎng)絡(luò)無特殊要求。
注意:被動模式下,F(xiàn)TP服務(wù)器的安全組入方向需要放通FTP數(shù)據(jù)通道的端口號(默認(rèn)為1024~65535的端口號),否則,F(xiàn)TP服務(wù)器也無法訪問。如上圖所示,此處FTP服務(wù)器數(shù)據(jù)通道端口設(shè)置為1025~10018,所以FTP服務(wù)器網(wǎng)卡對應(yīng)安全組主要添加如下入方向規(guī)則,如下圖所示。
以上,是在華為云上如何使用華為云彈性云服務(wù)器ECS搭建FTP的實踐。
彈性云服務(wù)器 ECS FTP
版權(quán)聲明:本文內(nèi)容由網(wǎng)絡(luò)用戶投稿,版權(quán)歸原作者所有,本站不擁有其著作權(quán),亦不承擔(dān)相應(yīng)法律責(zé)任。如果您發(fā)現(xiàn)本站中有涉嫌抄襲或描述失實的內(nèi)容,請聯(lián)系我們jiasou666@gmail.com 處理,核實后本網(wǎng)站將在24小時內(nèi)刪除侵權(quán)內(nèi)容。
版權(quán)聲明:本文內(nèi)容由網(wǎng)絡(luò)用戶投稿,版權(quán)歸原作者所有,本站不擁有其著作權(quán),亦不承擔(dān)相應(yīng)法律責(zé)任。如果您發(fā)現(xiàn)本站中有涉嫌抄襲或描述失實的內(nèi)容,請聯(lián)系我們jiasou666@gmail.com 處理,核實后本網(wǎng)站將在24小時內(nèi)刪除侵權(quán)內(nèi)容。