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,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地址
标签:FTP,temporarily,Resource,端口,PORT,服务器,连接,客户端 来源: https://www.cnblogs.com/aizzw/p/16249650.html