1200字范文,内容丰富有趣,写作的好帮手!
1200字范文 > 【群晖NAS】 利用云服务器 FRP技术 实现内网穿透

【群晖NAS】 利用云服务器 FRP技术 实现内网穿透

时间:2021-04-24 21:24:03

相关推荐

【群晖NAS】 利用云服务器 FRP技术 实现内网穿透

一. 前言

我在之前的文章有介绍过使用服务商提供的内网穿透,但是这也存在着一些缺点,有的服务商提供的节点并不稳定,容易掉线,一旦掉线,就直接与机器“失联”了。

因为我本身有一台云服务器,拥有公网IP,就想用这台服务器,利用FRP技术实现群晖的内网穿透。

虽然我的服务器带宽只有5M,无法满足正常的影音娱乐需求,但是这个就相当于服务商挂掉后的备选方案,可以进入群晖的控制台,更改或者重启服务商的服务。

二.原理

在说具体步骤前想讲解一下frp的原理吧,这样即使出问题了大家至少还有个思路。

简单来说,就是比如你想在外面用手机的 4G网络 访问家里 内网的NAS,这个正常情况下是行不通的,因为你的手机和NAS都没有公网IP,所以离开了内网是互相访问不到的。

那么你就需要一个拥有公网IP的中介,即一台云服务器(有公网IP就行),在服务器上部署frp的服务端frps,在NAS部署frp的客户端frpc。

这样,你就可以通过手机 ➡️ 云服务器➡️ frps➡️ frpc➡️ NAS这个访问顺序来实现内网穿透啦!

三. 步骤

首先,在/fatedier/frp/releases下载frp,注意,根据服务端和客户端的架构和操作系统的不同要下载不同的frp

比如,我的服务器是amd64的windows server,NAS是基于linux的amd64架构的系统,

所以我应该分别下载frp_0.36.2_linux_amd64.tar.gz和frp_0.36.2_windows_amd64.zip。

服务端

下载好后,解压打开目录,编辑frps.ini

[common]bind_port = 7000 #服务端监听端口,要求和客户端一致vhost_http_port = 80vhost_https_port = 443token = key#token值,客户端需要配置相同的token值#以下设置的是dashboard监控,可以在服务器的7500端口打开监控面板查看信息dashboard_port = 7500dashboard_user = admindashboard_pwd = admin

配置项这几个就够了,然后控制台切到当前目录,输入启动指令

frps.exe -c frps.ini

如果是linux的话,就是

./frps -c frps.ini

其中这个-c是指定配置文件的意思,你可以输入frps.exe --help查看更多的指令,这里就不一一介绍了。

当出现下面的画面就是启动成功了

注意:上图配置里出现的端口 全部需要服务器开放这些端口,需要配置云服务器安全组和防火墙,这里就不介绍了,可自行搜索。

有什么不懂的可以私信我哈

如果你可以通过 http://xx.xx.xx.xx:7500 访问到DashBoard(xx.xx.xx.xx为你的服务器地址)

那么恭喜你,已经成功部署服务端了。

客户端

同样,下载后解压,进入目录,修改frpc.ini

[common]server_addr = xx.xx.xx.xx #你的服务器地址server_port = 7000 #与服务端的端口一致token = key #与服务端配置的token一致 [service1] #该隧道的名称,可同时开启多个隧道,一个隧道对应一个端口type = tcp local_ip = 127.0.0.1local_port = 5000 #你NAS的服务端口remote_port = 9000 #服务器穿透出去的端口[service2] type = tcplocal_ip = 127.0.0.1local_port = 8081remote_port = 9091

然后进入NAS的控制台,切到frp目录,输入启动指令

./frpc -c frpc.ini

成功启动后如下:

如果你可以通过 https://xx.xx.xx.xx:9000 访问到你的NAS(xx.xx.xx.xx为你的服务器地址,9000为上图配置的remote_port)

那么恭喜你,已经成功内网穿透!

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。