场景说明
两个不同的网络环境,需要从云平台访问自建平台的FTP服务器。FTP服务端使用的默认端口,
两个环境有专线通信。
我这边使用FTP客户端工具为fileZilla。
异常内容
申请开通从云平台访问自建平台的防火墙策略,映射地址和端口均有变更,端口变更为:验证端口为1021,数据传输端口为1020。
策略申请开通成功后,测试连接,登录成功,但是报错:读取目录列表失败

异常原因
FTP具有两种模式,分别是:
port模式(也叫主动模式)
解释:
客户端给服务器端的21端口发命令说,我要下载什么什么,并且还会说我已经打开了自己的某个端口,你就从这里把东西给我吧,服务器知道后就会通过另外一个数据端口把东西传给客户端,这就是主动模式。
可以理解为服务端主动给客户端传输文件。
pasv模式(也叫被动模式)
解释:
客户端给服务器端的21端口发命令说,我要下载什么什么,服务器端知道后,就打开一个端口,然后告诉客户端,我已经打开了某某端口,你自己进去拿吧,于是客户端就从那个端口进去拿文件了,这就是被动模式。
可以理解为服务端被客户端拿走了东西。
由此可知:
我用的FTP客户端工具是:fileZilla,默认使用被动方式连接。
也即是说(验证端口为21)由于是映射后的地址自然可以使用1021端口正常登录,而服务端口为20,这时由于端口映射的原因地址改为了1020,FTP被动方式无法连接。
解决方式
客户端侧:
1、设置FTP连接模式为:主动模式
设置主动模式IP和端口为固定值(可被服务端连接的ip和端口)

说明:
为啥不用原来的1020呢?因为fileZilla的端口范围需要在:1024至65535之间,不然会报错。
所以我这边把端口改成了:1120

2、申请重新开通防火墙策略
开通从服务端访问客户端这边的策略,也即是开通服务端访问:19.16.16.16的1121端口
3、添加Windows操作系统防火墙策略

问题解决
上述配置好后,测试重新连接,可正常登录和列出目录

资料参考
参考的内容转载出处:
https://www.cnblogs.com/webapi/p/6676618.html
6169

被折叠的 条评论
为什么被折叠?



