今天在阿里雲Centos上搭了一個ftp 服務,開啟了20和21端口的權限。但是用工具和ftp命令登錄,均超時。
ftp命令登錄成功后不能使用ls 命令,直接超時。
工具登錄成功后 獲取根目錄失敗,也最終超時。
后面發現需要打開1024-65535端口的訪問權限 給需要訪問的ip才可以 。原理如下:
FTP客戶端連接到FTP服務器的21端口,發送用戶名和密碼登錄,登錄成功后要list列表或者讀取數據時,客戶端隨機開放一個端口(1024以上),發送 PORT命令到FTP服務器,告訴服務器客戶端采用主動模式並開放端口;FTP服務器收到PORT主動模式命令和端口號后,通過服務器的20端口和客戶端開放的端口連接,發送數據
被動模式,工作原理:FTP客戶端連接到FTP服務器的21端口,發送用戶名和密碼登錄,登錄成功后要list列表或者讀取數據時,發送PASV命令到FTP服務器, 服務器在本地隨機開放一個端口(1024以上),然后把開放的端口告訴客戶端, 客戶端再連接到服務器開放的端口進行數據傳輸
參考:https://blog.csdn.net/xujiamin0022016/article/details/82804985