frp外网穿透ftp服务

frp外网穿透ftp服务,第1张

FTP协议有两种工作方式:PORT方式和PASV方式,中文意思为主动式和被动式。如果要用ftp外网穿透,需要使用被动模式。

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

所以,在使用ftp的时候,不仅需要转发默认的21端口,还需要转发数据端口。

考虑到frp转发的情况,所以数据端口最好是固定的,所以这里需要修改ftp服务器的配置,这里以vsftpd服务为例。修改 vsftpd.conf 文件,固定被动模式端口范围

这里只开启了50000、50001、50002三个端口,意思就是同时只能有三个用户连接,如果需要更多用户可以配置更多的端口。

在frp的配置中,需要添加默认端口21和被动数据端口50000、50001、50002四个端口配置

运行环境:

1.阿里云服务器做frp服务器

2.路由器做frp客户端。

  在被动方式FTP中,命令连接和数据连接都由客户端发起。FRP映射内网服务器的21端口,和至少1个数据传输端口,数据端口貌似不能太大(我用50000不可以),如25840-25842即可。

路由器设置被动端口范围。

所以需开启阿里云安全组端口25840/25842。

本地frp客户端配置文件参考:

运行frp :

现在就可以通过服务器ip:2121连接到内网ftp服务器了。

FTP分主动模式和被动模式情况如下:

主动FTP:

命令连接:客户端 >1023端口 ->服务器 21端口

数据连接:客户端 >1023端口 <- 服务器 20端口

被动FTP:

命令连接:客户端 >1023端口 ->服务器 21端口

数据连接:客户端 >1023端口 ->服务器 >1023端口

所以说你使用内网穿透那么配置就很关键了,如果说你的内网穿透软件只支持一个端口或者只支持单向端口,在被动模式下,服务器是不知道客户机是连接的那个端口,自然就找不到了。所以说配置FTP首先要学习FTP理论,小白上手就直接配肯定出问题。


欢迎分享,转载请注明来源:夏雨云

原文地址:https://www.xiayuyun.com/zonghe/583926.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-07-06
下一篇2023-07-06

发表评论

登录后才能评论

评论列表(0条)

    保存