使用frp来内网穿透ftp,外网ftp客户端使用被动模式进行连接ftp的时候报:
227 Entering Passive Mode ...
frp目前还不支持ftp协议,它在转发ftp被动模式的数据连接所需要的ip,转发的是:frpc的内网ip或者是127.0.0.1。
为解决这个问题,需要指定vsftpd被动模式的ip地址。这样frp在转发的时候,会将这个指定的ip给外网ftp客户端。
编辑 /etc/vsftpd/vsftpd.conf,添加或者修改成下面的:
#关闭ip的安全检查
pasv_promiscuous=YES
#被动模式的ip
pasv_address=你的公网ip或者域名
pasv_addr_resolve=YES
#关掉ipv6的监听
listen_ipv6=NO
#打开ipv4的监听
listen=YES
上面的配置,缺少一个或者有一个不符合都不行。
这样做也有个不好的地方,就是局域网连接ftp的时候,数据连接走的是外网。建议局域网时,使用SFTP,找个支持SFTP的客户端来使用。