一分钟搞懂vsftpd主、被动模式
一、vsftpd配置被动模式pasv_enable=YES #被动模式pasv_min_port=10071 #pasv连接模式时的最小端口pasv_max_port=10099 #pasv连接模式时的最大端口二、vsftpd配置主动模式pasv_enable=NO #被动模式置为NO即可三、主动模式与被动模式区别1、PORT(主动)模式所谓主动模式,指的是FTP服务器“主动”去连接客户端的数据端
一、vsftpd配置被动模式
pasv_enable=YES #被动模式
pasv_min_port=10071 #pasv连接模式时的最小端口
pasv_max_port=10099 #pasv连接模式时的最大端口
二、vsftpd配置主动模式
pasv_enable=NO
port_enable=YES
当pasv_enable和port_enable同时为YES时,同时支持主、被动模式
三、主动模式与被动模式区别
1、PORT(主动)模式
所谓主动模式,指的是FTP服务器“主动”去连接客户端的数据端口来传输数据,其过程具体来说就是:客户端通过访问服务端的21端口,然后客户端分配一个端口供ftp服务端获取数据,然后服务端通过20端口主动到客户端指定端口获取数据,20为服务器的出向端口
此模式,防火墙只需要开放21端口的对外访问策略
2、PASV(被动)模式
所谓被动模式,指的是FTP服务器“被动”等待客户端来连接自己的数据端口,其过程具体是:客户端通过访问服务端的21端口,然后客户端提交PASV命令,让服务端分配一个用于传输数据的端口,此端口范围为vsftpd.conf配置的pasv_min_port-pasv_max_port,然后客户端通过分配的端口上传数据。(注意此模式下的FTP服务器不需要开启tcp 20端口)
此模式,防火墙需要开放21端口的对外访问策略和pasv_min_port - pasv_max_port端口范围内的访问策略
四、linux ftp客户端默认使用被动模式
ftp客户端,默认使用被动模式连接服务端,若服务端设置的为主动模式上传数据,则需要在ftp客户端命令行切换,切换的方式为执行以下命令:
passive
使用被动模式的客户端访问主动模式的服务端时,上传会报没有权限
五、使用java代码访问ftp服务端
当使用java代码ftp工具访问ftp服务时,若已经服务端是使用的被动模式,则需要在连接时,调用以下命令,告之服务端分配数据上传端口
ftp.enterLocalPassiveMode(); // 使用被动模式时,需要通知服务端分配一个上传端口
更多推荐
所有评论(0)