51工具盒子

依楼听风雨
笑看云卷云舒,淡观潮起潮落

群辉NAS系统利用FRP开源工具实现内网穿透之实践记录(一)

热帖有一台群辉DS1019+,超大容量,千兆速率,秒变家庭影院,本地使用起来确实爽到飞起。但是在外地、在公司怎么顺利使用群辉系统呢?群辉自身提供的quickconnect缓慢到难于忍受,向日葵等第三方工具又饥渴难耐的向着我的钱包下手(免费功能就别想蹭了,各种限制)...花钱是不可能花钱的,免费的又不好恰,想到在IDC那有一台用来托管博客的ECS,正好可以利用起来。

FRP是国内一位大神FateDier开发的一款免费开源工具,专注于内网穿透的高性能的反向代理应用,支持 TCP、UDP、HTTP、HTTPS 等多种协议。可以将内网服务以安全、便捷的方式通过具有公网 IP 节点的中转暴露到公网。目前已被很多公司广泛用于测试、生产环境。

开工前,先简要了解一下内网穿透的原理:

群辉NAS系统利用FRP开源工具实现内网穿透之实践记录(一)

FRP内网穿透简图

ISP1:家庭网络;

ISP2:IDC网络;

ISP3:外地、公司等办公网络。

处于ISP3范围内的电脑、IPad等移动端需要访问ISP1内的群辉DS,理论上通过上图中红色的链路访问是最方便的,可惜因为绝大多数家庭宽带都不分配固定公网IP,所以此路不通。

ISP2内的服务器因为是IDC专门用来提供为搭建网站、APP等使用的,有固定公网IP,能对外提供服务。但因为存储空间大小限制和费用问题,一般ISP2内的ECS存储空间是非常有限的,这时候通过某种技术将ISP1的存储空间"挂接"到ISP2的ECS上,或者说在ISP2的ECS上将存储位置/存储地址"指向"ISP1内的群辉DS,既解决了外网随时存取数据的需求,又解决了ECS存储有限的问题。

此时,对于ISP3范围内的设备来讲(外网用户),与它通信的是ISP2内ECS,ISP1不可见。而ISP1、ISP2之间,依靠FRP的C/S模式建立了稳定可靠的数据双端互传机制,逻辑上可以看做一个整体。

服务器端安装配置FRPS(FRP Server):

先查询确定服务器系统版本,然后可以到Github|蓝奏云(密码:deuc)上下载对应版本的FRP工具包,每个工具包里都含Server端和Client端。

对于Centos|Debian|Ubuntu (32/64位)系统,可以通过以下命令在线安装:

wget https://raw.githubusercontent.com/MvsCode/frp-onekey/master/install-frps.sh -O ./install-frps.sh && chmod 700 ./install-frps.sh && ./install-frps.sh install

切换到管理员权限,复制以上命令后回车,即开始自动安装,在交互界面,一般默认或者输入"1"选项即可。如果你的系统上有其他应用占用了端口,会有端口冲突的提示,记得修改。

记住frps Dashboard、Dashboard user、Dashboard password、token、vhost http port、vhost https port这几个字段的值,后面会用到。

最后,会输出如下汇总信息,服务器端安装完毕。

Congratulations, frps install completed!
================================================
You Server IP : 211.149.141.94
Bind port : 5443
KCP support : true
vhost http port : 90
vhost https port : 91
Dashboard port : 6443
token : abc123456                      #默认为形如abc123456一串,可自定义
subdomain_host : 211.149.141.94
tcp_mux : true
Max Pool count : 100
Log level : info
Log max days : 3
Log file : enable
================================================
frps Dashboard : http://211.149.141.94:6443/
Dashboard user : admin
Dashboard password : abc123           #可自定义
================================================

frps status manage : frps {start|stop|restart|status|config|version}
Example:
start: frps start
stop: frps stop
restart: frps restart

配置文件和frps二进制文件目录在/usr/local/frps

以上配置信息存放在/usr/local/frps/frps.ini文件内,如有必要可通过vi /usr/local/frps/frps.ini 命令进行所有配置项修改。

服务器端验证:

1、查看FRPS运行状态:

frps status
#除了可以查看当前运行状态外,还支持:
frps {start|stop|status|config|version}
#等来控制或者查看frps的运行。

群辉NAS系统利用FRP开源工具实现内网穿透之实践记录(一)

FRPS运行状态检查

2、查看FRPS Dashboard的web页面:

复制之前汇总信息中的frps Dashboard:http://211.149.141.94:6443到浏览器,输入Dashboard user和Dashboard password值并通过验证后,可看到如下页面:

群辉NAS系统利用FRP开源工具实现内网穿透之实践记录(一)

FRPS Dashboard

至此,FRP在服务器端的配置结束。

赞(1)
未经允许不得转载:工具盒子 » 群辉NAS系统利用FRP开源工具实现内网穿透之实践记录(一)