日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

被动模式下FTP不能建立数据会话问题

發布時間:2024/1/17 编程问答 32 豆豆
生活随笔 收集整理的這篇文章主要介紹了 被动模式下FTP不能建立数据会话问题 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

問題描述:

????在阿里云使用WINDOWS IIS搭建了FTP服務器,使用被動模式,指定了被動端口并且已經放行FTP的命令和數據端口。在實際使用時發現使用專用的FTP客戶端(如WinSCP、lftp、瀏覽器等)一切正常,當使用FTP命令時可以登陸FTP服務器,但不能建立FTP數據連接,也就不能列出和傳輸數據文件。提示:ftp: connect: Resource temporarily unavailable。


????

????


分析:

??? 通過抓包和返回的信息發現FTP服務器返回了數據端口號和服務器IP地址,但服務器IP地址是內網IP,而非實際使用的公網IP,此時FTP客戶端會向該內網IP發起數據會話建立請求,因為路由不可達所以超時后提示ftp: connect: Resource temporarily unavailable。

????經過測試,是由于該FTP服務器運行在阿里云的VPC內,而VPC默認不進行公網IP和內網IP的NAT轉換。但是專用的FTP客戶端和瀏覽器則可以根據返回的數據包,提取出FTP數據端口號向源公網IP發起數據會話請求,由此可見,傳統的FTP命令還是不夠“聰明”。

????



解決方法:

??? IIS:

????????在FTP服務器上手工指定公網IP即可,此時FTP服務器在返回被動模式數據端口時將返回帶有指定公網IP的套接字信息。如下:

????????

????????


??? vsftpd:

????????對于Linux下的vsftpd,需添加:pasv_address=公網IP。

????????或者關閉PASV模式的安全檢查,即:pasv_promiscuous=YES,該檢查確保數據連接和控制連接是來自同一個IP地址。小心打開此選項。此選項唯一合理的用法是存在于由安全隧道方案構成的組織中。默認值為NO。

??? ????注意:當使用pasv_address指定公網IP時,必須將監聽的IP地址改為IPv4,即:listen=YES,否則vsftpd將返回錯誤的被動套接字,如:227 Entering Passive Mode (0,0,0,0,34,198). 。而啟用IPv4地址時則需要禁用IPv6地址的監聽,因為兩者互斥。

listen=YES????????#指定被動模式時的公網IP地址時只能監聽在IPv4地址 listen_ipv6=NO????#與listen沖突,默認監聽IPv6地址,當監聽在IPv4時IPv6必須禁用,否則vsftpd.service將無法啟動pasv_enable=YES pasv_min_port=8900 pasv_max_port=8909 pasv_address=47.95.120.253???????#指定被動模式時的公網IP地址 #pasv_addr_resolve=YES #pasv_promiscuous=YES

????????

轉載于:https://blog.51cto.com/yinkai/2345548

總結

以上是生活随笔為你收集整理的被动模式下FTP不能建立数据会话问题的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。