FTP主动模式上传文件时返回"ftp: accept: Resource temporarily unavailable"

FTP主动模式上传文件时返回

Passive mode off
ftp: accept: Resource temporarily unavailable

这个问题要从ftp的2种模式说起

PORT & PASV

FTP协议有两种工作方式:PORT方式和PASV方式,中文意思为主动式和被动式。

PORT(主动)方式的连接过程是:客户端向服务器的FTP端口(默认是21)发送连接请求,服务器接受连接,建立一条命令链路。当需要传送数据时,客户端在命令链路上用PORT命令告诉服务器:“我打开了XXXX端口,你过来连接我”。于是服务器从20端口向客户端的XXXX端口发送连接请求,建立一条数据链路来传送数据。

PASV(被动)方式的连接过程是:客户端向服务器的FTP端口(默认是21)发送连接请求,服务器接受连接,建立一条命令链路。当需要传送数据时,服务器在命令链路上用PASV命令告诉客户端:“我打开了XXXX端口,你过来连接我”。于是客户端向服务器的XXXX端口发送连接请求,建立一条数据链路来传送数据。

解决办法

1,继续使用PORT模式,那么客户端就需要放开FTP服务器的IP(因为客户端到底开放多少端口去跟服务器连接也不知道.当然如果客户端机器没开启防火墙就不会有这个问题.)

firewall-cmd --add-rich-rule="rule family="ipv4" source address="1.2.3.4" accept"    
firewall-cmd --reload
firewall-cmd --list-all

2,继续使用PASV模式,vsftpd需添加:pasv_address=公网IP

listen=YES        #指定被动模式时的公网IP地址时只能监听在IPv4地址    
listen_ipv6=NO    #与listen冲突,默认监听IPv6地址,当监听在IPv4时IPv6必须禁用,否则vsftpd.service将无法启动    
  
pasv_enable=YES    
pasv_min_port=12000     #ftp服务端也要放开对应范围端口
pasv_max_port=12100  
pasv_address=1.2.3.4      #指定被动模式时的公网IP地址    

posted on 2022-05-09 16:19  vihan_z  阅读(946)  评论(0编辑  收藏  举报

导航