内网穿透FRP搭建FTP实现云存储

2020-05-11 10,420 0

前言


突发奇想,之前购买了一个阿里云的oss,虽然不贵,但是下载文件也需要收费的,拿着oss当作备份盘感觉有点浪费,最主要需要花钱,还是按流量计费的,所以脑中孵化了个idea

想法:通过电脑搭建FTP文件存储,再通过FRP内网穿透结合一下,是不是就可以实现云存储了。带着这个疑问开始百度,结果百度有做成的案例,借鉴了一下别人的方法试了一下。

搭建前准备

必须有个电脑,并且可以正常上网的,再就是有个自己的服务器,服务器需要单独公网IP的

搭建FTP

搭建FTP的方法我就不在多说了,网上有很多集成的软件。

举个例子:PhpStudy FileZilla 等..

搭建FRP

FRP分为frps(服务端)fprc(客户端),两部分来实现,frps(服务端)需要搭建在服务器上,fprc(客户端)放在电脑上。


FRP项目地址:https://gitee.com/yijicai/frp

1.frps在项目上下载下来,放在服务器上,分为两个文件,一个frps和frps.ini,我们只需要配置frps.ini即可,首先下载完上次到服务器,打开frps.ini,输入以下配置


# frps.ini
[common]
bind_port = 7000
  • [common]这个是名称,可以随意填写
  • bind_port是通信端口(不要与穿透生成的端口一致

2.启动 frps:


./frps -c ./frps.ini

配置frpc

1.下载frpc,也是两个文件,一个是frpc和frpc.ini,与frps一样,我们需要配置frpc.ini,打开输入一下配置


# frpc.ini
[common]
server_addr = x.x.x.x
server_port = 7000
[ftp] type = tcp
local_ip = 127.0.0.1
local_port = 21
remote_port = 2121
[ftp1] type = tcp
local_ip = 127.0.0.1
local_port = 50000
remote_port = 50000
[ftp2] type = tcp
local_ip = 127.0.0.1
local_port = 50001
remote_port = 50001
[ftp3] type = tcp
local_ip = 127.0.0.1
local_port = 50002
remote_port = 50002
  • server_addr=公网IP(服务器IP地址)
  • server_port=通信端口(与上面的frps服务端一致)
  • local_ip=需要穿透本地的地址 local_port=穿透本地的端口(搭建ftp的电脑端口)
  • remote_port=映射的端口

2.启动 frpc:


./frpc -c ./frpc.ini

这样就搭建完成的,服务端与本地端口检查是否都正常放开,如果是阿里云服务器请检查本地端口和阿里云防火墙是否正常放开通行。

常见问题:

  • 搭建完无法访问,请检查映射是否通,本地启动frpc会有回应的命令。
  • FTP搭建完通了,但是提示225 200等错误代码,请使用FTP工具访问。
  • FTP是分两部分端口的,主动端口默认是21,映射的端口是2121,被动端口可自定义,上面的写的是50000-50002,可通过FTP软件修改。
  • 如果是win搭建的FTP,启动frpc时使用cmd,并修改启动路径,一般默认是放C盘根目录,可自定义。
  • 搭建frp不成功可通过官网项目查看操作文档及说明,举一反三,自行研究,也可评论区留言。

如用宝塔的面板可在面板直接使用frps服务端插件和FTP存储空间插件,来实现定时备份网站文件到FTP。

扩展功能

frps与frpc通信可进行加密,也可以搭建各种的端口的穿透。可实现的功能很多,比如近期疫情远程办公,公司内网的系统外网无法访问,可进行内网映射到外网,网站默认的端口是80或443,非维护或技术人员切勿乱用,避免把公司的内网系统映射导致攻击或泄露。

服务端和客户端的 common 配置中的 token 参数一致则身份验证通过。举例:token = 123

实现原理

相关文章

黑群晖dsm7解锁Advanced Media Extensions
小米路由器4A千兆版开启IPV6防火墙
绕过CPU及TMP2.0检测升级Windows11
小米电视屏蔽广告
小米手环6胖瘦太空人表盘
斐讯R1免拆复活小讯小讯

发布评论