群晖Nas使用Frp远程访问

转载自: https://blog.csdn.net/sinat_20006769/article/details/79907487

导读

大家都知道,群晖的 NAS 通过 QuickConnect 域名支持远程访问,但是速度贼慢,平均上传只有 50kbps 左右。对于 NAS 硬盘中的大文件下载起来异常痛苦。因此,本文主要来解决异地快速访问 NAS 中的文件。

必备条件

  • 群晖 NAS :DS218+
  • VPS 主机:选择的是搬瓦工 Bandwagon
  • 独立域名:通过 GoDaddy 购买
  • frp 用于内网穿透的高性能的反向代理应用
  • DNSPod 用于域名解析

思路

在开始之前,我们要整理一下思路:我的目的是想在外网访问内网的 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 ,

主机记录记录类型记录值
*AVPS主机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 服务。

One Comment

Add a Comment

电子邮件地址不会被公开。 必填项已用*标注