关于黑群晖的外网穿透一点心得

最近一直在慢慢磨蹭复习,看视频的话用2合1有个很不方便的问题,就是128G的东西根本装不下近1T的视频资料,于是就准备撸个NAS。说到NAS,自然就是群晖了,白群晖由于售价较为昂贵,且不能自己定制硬件,自然就瞄上了黑群晖。我对于NAS的要求就俩:1、静音,除了硬盘声不允许有其它声音;2、扩展性满足要求,除了内部的硬盘位以外还需支持USB3.0的扩展,并且满足千兆网络的需求。

于是在淘宝逛了几天后,瞄上了一款HP的瘦客户机:(真的不是打广告)

选择的理由有三:1、15W的APU,低功耗,纯被动散热;2、4*USB2.0+2*USB3.0,满足轻量化的扩展需求,并且后期可以直接通过怼硬盘柜来进行扩展;3、便宜,这可以让我忽略大部分无关紧要的缺点。

因为没有显示器,就买了带2G RAM和系统盘的版本,卖家帮忙装上系统,到手就可以直接用。

我真的没有打广告。

下面来一张内部的照片,非常紧凑,能容纳一个2.5inch的笔记本硬盘,正好我手上有个不需要的1T 2.5inch硬盘(其实是买了4T的移动硬盘以后把旧的希捷移动硬盘拆了)我就直接使用了。

内部概览 

好了说了这么多,在卖家提供的教程下进入了系统,局域网很快的就映射完了,速度也还蛮不错的。那么关于广域网的使用也就成为了难题。

首先我们先来介绍一下思路,鉴于群晖的系统是基于Linux内核的,因此本次使用的工具是FRP(),在Github上的描述为:frp 是一个可用于内网穿透的高性能的反向代理应用,支持 tcp, udp 协议,为 http 和 https 应用协议提供了额外的能力,且尝试性支持了点对点穿透。

需要用到的工具有以下两项:putty(随意版本),winscp(随意版本);

Step 1:

首先先获取群晖系统的root权限。用putty通过ssh使用admin登录之后,键入

sudo su -

再次输入admin密码,升为root权限。

获取root权限 

之后输入 

synouser --setpw root "your password"

之后再以root "your password"即可以root权限登录(为winscp做铺垫)("your password"为你的密码)

Step2:

以 root权限登录你的NAS,在页面下载你的系统对应的版本。这里以X64 CPU为例

wget /download/v0.23.3/frp_0.23.3_linux_amd64.tar.gz

使用 tar 指令解压 tar.gz 文件:

tar -zxvf frp_0.23.3_linux_amd64.tar.gz

进入 frp 目录:

cd  frp_0.23.3_linux_amd64

删除不必要的服务端文件:

rm -f frps frps_full.ini frps.ini

注:保留的文件为frpc.ini(frp client)

Step3:

配置服务器端文件,这里需要对frpc.ini进行配置。由于我确实苦手vi命令,所以这里使用了winscp。还是root+pw的形式,用scp的方式登录

winscp界面 

双击frpc.ini,打开,在编码里面选择UTF-8

我的配置说明 

说明:

[common]

server_addr 服务器端公网

server_port frp 服务端口,和服务器端 bind_port 一致

auth_token 和后面服务器端 auth_token 一致

[ssh]

这边我觉得比较简单就懒得解释了,主要是从公网通过ssh进行访问的,普通用户可以不需要设置。

[http]这块是通过公网(VPS)访问你的NAS管理页面的

type = http

local_port = 5000(一般默认为5000,具体看你的群晖的设置)

custom_domains =(这块是你的公网的VPS的IP)

[https]如果有HTTPS访问NAS的话才设置,同[http]

保存以后退出winscp,运行putty

./frpc -c ./frpc.ini

运行客户端即可。

Step4:

服务端设置

以root命令登录你的VPS,前面设置几乎一样,

wget /download/v0.23.3/frp_0.23.3_linux_amd64.tar.gz

使用 tar 指令解压 tar.gz 文件:

tar -zxvf frp_0.23.3_linux_amd64.tar.gz

进入 frp 目录:

cd  frp_0.23.3_linux_amd64

删除不必要的服务端文件:

rm -f frpc frpc_full.ini frpc.ini

注:保留的文件为frps.ini(frp server)

winscp修改frps.ini,编码UTF-8

VPS端的设置 

说明:

[common]

bind_port Frp 服务端口(可自定义,与前文 server_port对应)

vhost_http_port http 访问端口(可自定义)

dashboard_port dashboard 界面端口

dashboard_user 登录 dashboard 用户名

dashboard_pwd 登录 dashboard 密码

max_pool_count 最大连接池数量

authentication_timeout 超时验证时间

auth_token 用户身份认证

[ssh]

listen_port ssh 访问端口(你的putty从外网访问内网的ssh的端口)

好了就这么简单,回putty

./frps -c ./frps.ini

之后,下一步就是如何保持开机自启。如果想看的人多我下次抽空写好了_(:з)∠)_