转载自: https://blog.csdn.net/sinat_20006769/article/details/79907487
导读
大家都知道,群晖的 NAS
通过 QuickConnect
域名支持远程访问,但是速度贼慢,平均上传只有 50kbps
左右。对于 NAS
硬盘中的大文件下载起来异常痛苦。因此,本文主要来解决异地快速访问 NAS
中的文件。
必备条件
思路
在开始之前,我们要整理一下思路:我的目的是想在外网访问内网的 NAS
,由于内网的 NAS
只有局域网 IP
,在公网肯定找不到。那么我们办不到就需要找代理来干这件事。
我们在外网访问的请求,首先不是直接发给 NAS
,而是发给 VPS
主机,因为主机有公网 IP
,那么肯定可以收到我们的请求。
由于直接记忆 IP
不方便,我们需要购买域名,将 IP
与域名做好映射,以后通过域名就可以访问岂不是方便很多。
我们的请求发给主机端的代理应用 frp
,由于 frp
有客户端和服务器两个程序。在主机端运行服务器程序,当我们前期在客户端和服务器建立 frp
连接后,服务器就会把请求转发给客户端,而客户端程序我们将他直接放到 NAS
中运行。这样在外网的请求就间接传输到了 NAS
端,就实现了远程访问。
步骤
客户端
首先,进入你的 NAS
管理中心,找到应用 控制面板
– 终端机和SNMP
,打开 SSH
使用 SecureCRT
登录到 NAS
:
SY@VAIO:/$ sudo -i
Password:
root@VAIO:~# cd /usr/share/
root@VAIO:/usr/share# mkdir frp
进入 FRP
官网 frp ,找到文件名为 frp_0.13.0_linux_amd64.tar.gz
,右键复制下载地址:
root@VAIO:/usr/share/frp# wget https://github.com/fatedier/frp/releases/download/v0.13.0/frp_0.13.0_linux_amd64.tar.gz
root@VAIO:/usr/share/frp# tar xf frp_0.13.0_linux_amd64.tar.gz
root@VAIO:/usr/share/frp# cd frp_0.13.0_linux_amd64
root@VAIO:/usr/share/frp/frp_0.13.0_linux_amd64# rm -rf frps*
root@VAIO:/usr/share/frp/frp_0.13.0_linux_amd64# ls
frpc frpc_full.ini frpc.ini LICENSE
frpc.ini
[common]
server_addr = xxx.xxx.xxx.xxx
server_port = 7000
[ssh]
type = tcp local_ip = 192.168.0.250 local_port = 22 remote_port = 6000
[nas]
type = http local_port = 5000 custom_domains = nas.muasy.com
[web]
type = http local_ip = 192.168.0.10 local_port = 80 custom_domains = web.muasy.com
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
- 11
- 12
- 13
- 14
- 15
- 16
- 17
- 18
- 19
- 20
server_addr
:表示 VPS
主机ip
地址,是公网地址
server_port
:客户端和服务器建立连接的端口
[ssh]
:用于转发nas
的 ssh
登录服务,不需要远程登录 nas
的话可以不配置
[nas]
:local_port
表示 nas
在局域网绑定的端口,在群晖的 控制面板
– 网络
– DSM 设置
中可以配置。
custom_domains
:表示外网访问 nas
时的域名。
由于配置了自定义域名,需要在域名解析中配置域名指向 VPS
的 IP
,域名解析使用 DNSPod
,
主机记录 | 记录类型 | 记录值 |
---|---|---|
* | A | VPS主机IP地址 |
其中 *
表示泛解析,如上文中自定义域名:nas.muasy.com
web.muasy.com
都可以被解析。其中 nas/web
是主机名。
创建新文件
startup.sh
#!/bin/sh
#setsid /home/sy/frp/frp_0.16.0_linux_amd64/frps -c /home/sy/frp/frp_0.16.0_linux_amd64/frps.ini
setsid /home/sy/frp/frp_0.16.0_linux_amd64/frpc -c /home/sy/frp/frp_0.16.0_linux_amd64/frpc.ini
服务器
使用 secureCRT
登录 VPS
,下载 frp
,和客户端操作基本一致,只需要删除客户端的文件及配置文件即可。
打开服务器端配置文件:
[root@host ~]# cd /home/sy/frp_0.13.0_linux_386
[root@host frp_0.13.0_linux_386]
# ls frps frps_full.ini frps.ini LICENSE
- 1
- 2
- 3
frps.ini
[common]
bind_port = 7000
vhost_http_port = 8080
vhost_https_port = 8081
startup.sh
#!/bin/sh
setsid /home/sy/frp/frp_0.16.0_linux_amd64/frps -c /home/sy/frp/frp_0.16.0_linux_amd64/frps.ini
#setsid /home/sy/frp/frp_0.16.0_linux_amd64/frpc -c /home/sy/frp/frp_0.16.0_linux_amd64/frpc.ini
打开服务器
[root@host frp_0.13.0_linux_386]# ./startup
2017/11/29 08:56:12 [I] [service.go:83] frps tcp listen on 0.0.0.0:7000
2017/11/29 08:56:12 [I] [service.go:108] http service listen on 0.0.0.0:8080
2017/11/29 08:56:12 [I] [service.go:124] https service listen on 0.0.0.0:8081
2017/11/29 08:56:12 [I] [main.go:112] Start frps success
2017/11/29 08:56:12 [I] [main.go:114] PrivilegeMode is enabled, you should pay more attention to security issues
然后到 nas
中打开客户端
root@VAIO:/usr/share/frp/frp_0.13.0_linux_amd64# ./startup
2017/11/29 21:56:57 [I] [control.go:276] [113f99ef73ead290] login to server success, get run id [113f99ef73ead290]
2017/11/29 21:56:57 [I] [control.go:411] [113f99ef73ead290] [web] start proxy success
2017/11/29 21:56:57 [I] [control.go:411] [113f99ef73ead290] [ssh] start proxy success
2017/11/29 21:56:57 [I] [control.go:411] [113f99ef73ead290] [nas] start proxy success
测试
在浏览器中使用 http://web.muasy.com:8080/
就可以打开 web
服务。
使用 http://nas.muasy.com:8080/
就可以打开 nas
服务。
感谢分享