问题解决方法:
解决楼主的问题很简单,在FileZilla客户端中设置连接模式为被动模式,应该就可以访问FTP服务器了。
原因分析:
从楼主的截图上可以知道,楼主你的ECS服务器是作为FTP的客户端来访问其他的FTP服务器的,FTP客户端使用的是FileZilla。
楼主不应该使用主动模式,而应该使用被动模式去连接FTP服务器的。
FTP连接模式分为主动(Acitve或PORT)模式和被动(Passive)模式,这里的主动和被动,指的是FTP Server建立文件传输数据的行为。
当FTP客户端命令(Command)通道连接上FTP服务器后,在传输数据时需要建立数据(Data)通道,这时候根据FTP的行为分成两类:
FTP主动(Acitve或PORT)模式:客户端发送一个(PORT ip地址 端口)命令到服务器,由服务器来连接客户端的在命令中指定的port(ip地址 端口)。
FTP被动(Passive)模式:客户端发送一个PASV 命令到服务器,服务器返回ip地址和端口,客户端去连接对应的ip地址和端口。
从楼主的截图中可以看到,你的客户端发出了一条PORT 192,168,1,100,207,224,意思是要服务器来连接你的客户端(192.168.1.100, 207*255+224),首先192.168.1.100是一个内网网段,服务器不可能可以连接到这个ip地址(除非你的ECS机器和FTP服务器在同一个内网网段)。
最后总结一下:
1)如果不是必须需要,不要使用FTP服务,主动/被动模式,命令/数据端口,初学者很容易一下子就被搞蒙。
2)如果要使用FTP服务,在今天的互联网环境里面,使用FTP被动模式进行连接和传输,不要使用主动模式,除非你真的知道你在做什么。