故障描述
使用客戶端連接服務端時,提示連接服務端地址失敗或者連接超時。
約束與限制
本文檔適用于本地主機為windows系統上的FTP服務。
故障原因
- 服務端FTP防火墻或者安全組配置錯誤導致請求被攔截。
- FTP身份驗證選擇的類型與實際訪問方式不匹配。
解決步驟
服務端為windows系統(以windows Server 2012版本為例)
-
檢查服務端的FTP防火墻支持配置
點擊" 服務器管理器 -> 工具 -> Internet Information Services(IIS)管理器" ,然后選擇左邊欄點擊 網站 。首先查看建立的FTP綁定的ip是否填寫的是內網ip,類型為FTP。圖1 查看FTP綁定IP

展開 網站 ,會顯示建立的ftp服務,雙擊右側的FTP防火墻支持。圖2 FTP防火墻支持

數據通道端口范圍需要填寫1024-65535范圍內的,比如20000-20045。
防火墻的外部IP地址這一欄需要填寫給彈性云主機分配到的 公網IP 。 -
檢查FTP身份驗證類型
雙擊 FTP身份驗證 ,這里需要注意,如果基本身份驗證開啟,那么是需要填寫用戶名和密碼的。如果開啟的是 匿名身份驗證 ,那么連接時不能填寫用戶名和密碼,否則會報連接失敗。 -
檢查安全組設置
點擊" 控制中心->服務列表->彈性云主機" ,選擇對應的可用區,然后再展示出來的彈性云主機列表里選擇需要的彈性云主機,然后雙擊這個彈性云主機,即可打開詳情頁面。在下方選擇" 安全組" ,然后查看詳細的安全組配置,是否在入方向里已經正確配置了端口21和上面配置的數據通道端口這兩條。
圖3 安全組配置

服務端為Linux系統(以Centos7.2 64位操作系統為例)
-
檢查配置文件
執行以下命令,檢查配置文件。cat /etc/vsftpd/vsftpd.conf確保下面的內容已經正確填入。
listen=YES listen_ipv6=NO pasv_address=xx.xx.xx.xx #彈性云主機的公網IP地址 pasv_min_port=20000 #被動模式下的最小端口 pasv_max_port=20045 #被動模式下的最大端口 -
檢查安全組配置
點擊 控制中心 -> 服務列表 -> 彈性云主機 ,選擇對應的可用區,然后再展示出來的彈性云主機列表里選擇需要的彈性云主機,然后雙擊這個彈性云主機,即可打開詳情頁面。在下方選擇 安全組 ,然后查看詳細的安全組配置,是否在入方向里已經正確配置了端口21和配置文件“/etc/vsftpd/vsftpd.conf”中參數“pasv_min_port”和“pasv_max_port”之間的所有端口。 -
重新進行客戶端測試
a. 一種方法是使用FileZilla填寫彈性云主機的公網ip,ftp的用戶名和密碼,端口填寫21。
b. 另一種方法是在瀏覽器或者文件夾訪問欄輸入ftp://彈性云主機公網ip:服務端的端口(如果不填為21),然后在彈出的對話框里輸入ftp的用戶名和密碼。