被动模式(PASV)连接过程是:客户端向服务器的FTP端口(默认是21)发送连接请求,服务器接受连接,建立一条命令链路。当需要传送数据时,服务器在命令链路上用PASV命令告诉客户端:“我打开了XXXX端口,你过来连接我”。于是客户端向服务器的XXXX端口发送连接请求,建立一条数据链路来传送数据。
所以,在使用ftp的时候,不仅需要转发默认的21端口,还需要转发数据端口。
考虑到frp转发的情况,所以数据端口最好是固定的,所以这里需要修改ftp服务器的配置,这里以vsftpd服务为例。修改 vsftpdconf 文件,固定被动模式端口范围
这里只开启了50000、50001、50002三个端口,意思就是同时只能有三个用户连接,如果需要更多用户可以配置更多的端口。
在frp的配置中,需要添加默认端口21和被动数据端口50000、50001、50002四个端口配置内网穿透从字面上来说就是将本地的服务器映射到外网可访问
设想下
如果有已知的公网服务器,那内网的本地服务就可以映射到外网了。
如果没有已知的公网服务器,那只能代理到外网的服务器访问即可。
ps: 公网服务器与可访问外网的服务器是有区别的。区别在于用户访问某宝服务,先是到公网服务器然后再转发的淘宝服务。所以可访问外网的服务器不等于公网服务器。
换句话说直接将服务器部署在与公网服务器相通的机器上不就可以了,我也是这样想的。所以就有生产环境与测试环境,其实内网穿透还是存在安全隐患的,内网穿透大部分应用于测试环境,比如常用的微信相关开发。
最后我们来聊聊FRP与NGROK
两者的原理都一样,通过解析过的域名做本地服务端口映射。
Ngrok相对比较简单,只需要能访问外网的机器即可。可参考 >
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)