摘要:在使用華爲彈性雲服務器ECS搭建FTP服務的時候,常常會遇到搭建完成後沒法訪問的問題。本篇經過演示windows IIS搭建FTP方法,講解ftp主動模式、被動模式原理來講明沒法訪問的緣由及解決方案。
咱們在使用華爲彈性雲服務器ECS搭建FTP服務的時候,常常會遇到搭建完成後沒法訪問的問題。本篇案例經過講解ftp主動模式、被動模式原理來講明沒法訪問的緣由及解決方案。windows
華爲雲上的彈性公網IP地址EIP和彈性雲服務器ECS的私網IP地址是動態綁定的,經過NAT的方式進行映射。FTP協議應用層中攜帶了IP地址或端口等信息,所以通常須要ALG的幫助才能正常穿越NAT。咱們在華爲雲主機上搭建ftp服務器後,通常默認沒法從公網去訪問,要理解這個緣由,首先要了解下ftp的主動模式和被動模式的概念。瀏覽器
客戶端從一個任意的非特權端口N(N>1024,以下圖的1026端口)鏈接到FTP服務器的21端口。而後客戶端開始監聽N+1(以下圖的1027端口),併發送FTP命令「port N+1」到FTP服務器。接着服務器會從它本身的數據端口(20)鏈接到客戶端指定的數據端口(N+1)。安全
用更通俗的語言來理解這個交互過程:服務器
當開啓一個FTP鏈接時,客戶端打開兩個任意的非特權本地端口N>1024和N+1(分別以下圖的1026端口和1027端口)。第一個端口鏈接服務器的21端口,客戶端提交PASV命令給服務端,這樣作的結果是服務器會開啓一個任意的非特權端口(P>1024),併發送PORT P(以下圖2024)命令給客戶端。而後客戶端發起從本地端口N+1到服務器的端口P的鏈接用來傳送數據。網絡
用更通俗的語言來理解這個交互過程:併發
server 版本:Windows Server 2012 R2 標準版 64位簡體中文工具
IIS版本: IIS 8spa
「控制面板」—「管理工具」—「服務器管理器」—「儀表盤」3d
客戶端IE瀏覽器通常默認配置採用被動模式訪問FTP服務器,若是經過EIP去訪問雲上ECS部署的FTP服務,會報以下錯誤:server
理解了FTP被動模式的原理後,咱們就很容易理解訪問失敗的緣由:
第一步控制通道通訊過程當中,服務端回覆給客戶端的數據面IP是服務端網卡的私網IP(此處爲172.16.0.170)而不是服務端的公網IP地址,致使客戶端第二步數據通道建連失敗。
以下圖所示所示,在「工具->Internet選項->高級」將「使用被動FTP…「勾選去掉。前面說過,FTP主動模式下,FTP服務器會
但有一點須要注意,若是客戶端本地網絡是經過NAT方式訪問外網的,也可能會有問題,因此不建議採用該方案。
以下圖所示,在「防火牆的外部IP地址」中填寫主機的彈性公網IP便可,此時仍然採用FTP被動模式。建議使用該種方式,該種方法能夠支持被動模式訪問FTP,且對客戶端本地網絡無特殊要求。
注意:被動模式下,FTP服務器的安全組入方向須要放通FTP數據通道的端口號(默認爲1024~65535的端口號),不然,FTP服務器也沒法訪問。如上圖所示,此處FTP服務器數據通道端口設置爲1025~10018,因此FTP服務器網卡對應安全組主要添加以下入方向規則,以下圖所示。
以上,是在華爲雲上如何使用華爲雲彈性雲服務器ECS搭建FTP的實踐。