IIS FTP被動模式(Passive mode)問題

Coding Ant
3 min readJun 12, 2020

--

IIS架的FTP使用被動模式的話,如果一般在自己測試網段撰寫程式的時候不太會有問題

一般來說FTP、FTPS常使用的Port如下

FTPS:990 Connection port
FTP :21 Connection port
20 Data Connection port(Active mode主動模式)

但在客戶端有防火牆作管制的話,會發現很多時候無法正常連線,或是連得進去可是無法正常傳輸檔案,原因是FTP Server在”被動模式”傳輸資料的時候,Server端會動態使用Port 1024–65536進行檔案傳輸,所以即使開放了port 21、20或990可能可以連線,但是常常會有檔案傳輸失敗的問題

知道了原因,但還有一個問題

客戶端不可能會開放所有的port

所以我們要限制動態port的範圍,在IIS的設定方式如下

點選IIS管理員

點選主機後在右邊選擇FTP防火牆支援

在這邊限縮Server傳輸資料的動態範圍Port,之後請客戶開放這些特定區段的Port就可以了

參考資料:
http://blog.kenyang.net/2010/10/28/ftp
http://tech.smallya.net/2015/04/14/windows-server-2012-%E6%9E%B6%E8%A8%ADiis-web-%E8%88%87-ftp-server/
https://winscp.net/eng/docs/guide_windows_ftps_server#:~:text=An%20internal%20Windows%20firewall%20is,though%20some%20versions%20of%20Windows.

--

--