一、FTP 伺服器兩大工作模式
PORT 模式(主動模式)
客戶端連接伺服器 TCP 21 建立命令通道 → 需傳輸資料時發送 PORT 命令告知自身資料埠 → 伺服器從 TCP 20 主動連線至客戶端資料傳輸。缺點:客戶端在 NAT/防火牆後方時,伺服器無法主動連入,資料通道建立失敗。
PASV 模式(被動模式)
客戶端連接 TCP 21 → 發送 PASV → 伺服器隨機開啟高位埠(>1024)並通知客戶端 → 客戶端主動連接該埠傳輸資料。優勢:客戶端發起所有連線,易穿越客戶端防火牆;挑戰:伺服器需開放大範圍高位埠並於防火牆/路由器做連接埠映射。
二、FTP 登入方式與權限控管
- 匿名登入:通常僅開放下載、限制速度、最小權限,避免濫用頻寬。
- 帳號密碼驗證:管理員分配帳號、設定可存取目錄、上傳下載速度限制、權限最小化(絕不給予管理員權限)。
三、利用 Windows IIS 組件快速建立 FTP 站點
- 安裝 IIS 組件:「控制台」→「程式集」→「開啟或關閉 Windows 功能」→ 勾選「Internet Information Services」→「FTP Server」→「FTP Service」與「FTP Extensibility」。
- 新增 FTP 站點:IIS 管理員 → 右鍵「網站」→「新增 FTP 站點」→ 命名、指定實體路徑(如
D:\FTPRoot)。
- 繫結與 SSL:IP 位址選「所有未指派」、連接埠 21、無 SSL(測試用)或要求 SSL。
- 驗證與授權:啟用「基本驗證」;授權規則選「指定使用者」,輸入帳號,給予「讀取/寫入」權限。
- 防火牆與被動模式:在「FTP 防火牆支援」設定資料通道埠範圍(如 5000-5100)與對外 IP;Windows 防火牆開放 TCP 21 及該埠範圍。
四、常見問題排查
- 無法連線:檢查防火牆 TCP 21、被動模式埠範圍是否開放。
- 能登入但列不出目錄/傳輸失敗:多為被動模式埠未映射或 FTP 防火牆支援「對外 IP」未正確設定。
- 權限錯誤:確認 NTFS 權限與 IIS 授權規則一致,應用程式池身分需具備資料夾讀寫權限。