赞
踩
我在之前的文章有介绍过使用服务商提供的内网穿透,但是这也存在着一些缺点,有的服务商提供的节点并不稳定,容易掉线,一旦掉线,就直接与机器“失联”了。
因为我本身有一台云服务器,拥有公网IP,就想用这台服务器,利用FRP技术实现群晖的内网穿透。
虽然我的服务器带宽只有5M,无法满足正常的影音娱乐需求,但是这个就相当于服务商挂掉后的备选方案,可以进入群晖的控制台,更改或者重启服务商的服务。
在说具体步骤前想讲解一下frp的原理吧,这样即使出问题了大家至少还有个思路。
简单来说,就是比如你想在外面用手机的 4G网络 访问家里 内网的NAS,这个正常情况下是行不通的,因为你的手机和NAS都没有公网IP,所以离开了内网是互相访问不到的。
那么你就需要一个拥有公网IP的中介,即一台云服务器(有公网IP就行),在服务器上部署frp的服务端frps,在NAS部署frp的客户端frpc。
这样,你就可以通过 手机 ➡️ 云服务器 ➡️ frps ➡️ frpc ➡️ NAS 这个访问顺序来实现内网穿透啦!
比如,我的服务器是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 = 80
- vhost_https_port = 443
- token = key #token值,客户端需要配置相同的token值
-
- #以下设置的是dashboard监控,可以在服务器的7500端口打开监控面板查看信息
- dashboard_port = 7500
- dashboard_user = admin
- dashboard_pwd = admin
配置项这几个就够了,然后控制台切到当前目录,输入启动指令
frps.exe -c frps.ini
如果是linux的话,就是
./frps -c frps.ini
其中这个 -c 是指定配置文件的意思,你可以输入 frps.exe --help 查看更多的指令,这里就不一一介绍了。
当出现下面的画面就是启动成功了
同样,下载后解压,进入目录,修改frpc.ini
- [common]
- server_addr = xx.xx.xx.xx #你的服务器地址
- server_port = 7000 #与服务端的端口一致
- token = key #与服务端配置的token一致
-
- [service1] #该隧道的名称,可同时开启多个隧道,一个隧道对应一个端口
- type = tcp
- local_ip = 127.0.0.1
- local_port = 5000 #你NAS的服务端口
- remote_port = 9000 #服务器穿透出去的端口
-
- [service2]
- type = tcp
- local_ip = 127.0.0.1
- local_port = 8081
- remote_port = 9091
然后进入NAS的控制台,切到frp目录,输入启动指令
./frpc -c frpc.ini
成功启动后如下:
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。