以下问题为内网部署ftp遇到的问题,仅供参考
200 PORT command successful. Consider using PASV 实质是连接成功了,但是获取不到ftp服务器返回的数据,或者是在与ftp服务器建立数据连接通道时被拦截了。
1. 问题描述
内网Linux服务器部署vsftp后,使用默认21端口进行访问是正常的,切换端口本机能正常房屋内,其他机器访问报错200 PORT command successful. Consider using PASV
2. 问题现象
切换端口后首先本机进行访问,正常访问根目录夹
在其他服务器访问ftp服务器,报以下错!!
启用被动模式,设定被动模式端口范围,还是报以下错!!
启用主动模式,直接走切换的目标端口,还是报以下错!!
3. 解决问题
ftp网络通讯原理,可以看这篇博客https://blog.youkuaiyun.com/ludan_xia/article/details/105705473
因为在ftp服务器申请端口开通时,这边只申请了21212端口,而FTP主动模式是N+1进行通讯,N端口进行数据传输建立数据连接,因此在主动模式时,也能登录成功,但是没有数据返回,报错200 PORT command successful. Consider using PASV ,此时应该申请ftp服务器开通21211端口进行数据传输。
而切换为被动模式后呢,ftp被动模式会监听指定端口与客户端进行通讯,告诉客户端一个随机端口范围进行数据传输,而此时除了21212端口申请开通以外并未开通其他高位端口,因此同样能登录成功,但不能进行数据传输,报错200 PORT command successful. Consider using PASV ,因此此时需要开通一段高位端口,配置被动模式限定数据传输端口进行数据传输。
ftp被动模式配置: max min_port是限定数据传输端口端,此范围端口开通即可。
以上还不能解决,则需要检察两台服务器防火墙是否阻断了端口请求。
主动模式A 服务器——请求端口——>B服务器,B服务器————数据传输端口————> A服务器,能登录成功,则需检察A服务器是否阻断了B服务器在数据传输端口的准入请求。
被动模式与主动模式一样,若能登录成功,则需检察客户端A服务器,是否阻断了B服务器的数据传输范围端口的准入请求。
以被动模式为例:开通51212通讯端口,以及50000-50010范围数据通讯端口,A请求B时,A是否准许51212准出,B是否准许51212准入,50000-50010数据传输端口同理,两台服务器是否准入,准出。