问题1:IE浏览器主动模式下,FTP访问失败
回答:IE主动模式端口监听正常,但是在三次握手的时候,IE浏览器没有给Server端回SYN&ACK的包导致三次握手失败,没有建立数据端口连接。经过网上搜索实为IE浏览器的BUG。
解决方案:使用被动模式访问,即可正常
问题2:主动模式下,FTP Server端配置被动数据端口为20-21,浏览器和地址栏都建联失败
回答:IE浏览器和地址栏没有正常给FTP server的数据发起建联端口的SYN包进行ACK确认,三次握手失败
备注:使用第三方Client工具数据端口三次握手正常,数据传输正常
解决方案:使用第三方Client工具
问题3:被动模式下,云FTP被动数据端口配置为20-21,IE浏览器和地址栏以及客户端以及谷歌浏览器都建联失败
回答:IE浏览器和地址栏以及客户端以及谷歌浏览器直接RST连接,导致连接失败,应该是考虑FTP协议中定义的被动模式下的Server的数据端口要大于1024,所以Client端直接认为Server给的被动端口非法,直接断连。调整数据端口为1024以下其他数据端口,行为一致,大于1024的被动端口则正常。
解决方案:被动端口应该大于1024
问题3:网络设置调整取消被动模式,使用谷歌浏览器FTP依然访问失败
回答:网络设置里面取消被动模式,谷歌浏览器依旧采用的是被动模式,即谷歌浏览器未使用Internet配置里面的取消FTP配置项。因为问题3导致被动模式也访问失败。暂时未找到谷歌浏览器调整FTP切换两种模式的方法。
解决方案:根据问题3的解决方案修复问题3,被动模式即可正常访问。
问题4:主动模式下,云服务器本机使用IE浏览器/地址栏用云FTP绑定的EIP访问自己失败
回答:云FTP直接返回:Only client IP address allowed for PORT command.,云服务器给云FTP中的PORT字段携带的是自己的内网IP,云FTP(采用SERV-U)判定为非法。
解决方案:使用被动模式。
同理为什么被动模式下,就可以访问呢?
答案是:被动模式下,云FTP(采用SERV-U)给云服务器的PASV回复字段中已经转化成绑定的外网EIP,云服务器接收到的IP字段是外网EIP,由于云服务器本身没有云FTP的此类判定限制,所以可以正常访问