今天在阿里云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