IMG_20190209_124004.jpg
前段时间朋友拿了台群辉DS218+给我研究,一开始我觉得VPS都有了,一台NAS能怎么样哦!也就没看过任何关于群辉的站点,这下好了。设备到手,一脸懵逼!!!

进设备,IP地址多少?DSM是什么?难道不是个UBUNTU一个鸟样?Docker我知道,容器。。。然后又懵逼了。。。
算了,说重点!NAS最基本的功能就存储对吧!先弄个远程下电影,也就是在办公室发现新电影了,点点点几下,家里就下好了!回家就葛优躺!这个要求不过分吧!最后啊~发现真难!开始还有迅雷的远程下载,现在没了。。。怎么弄?乱弄一气没用~~
找到点门道,端口映射!发现家里的电信宽带不开外网端口。这条路死了~~~
又发现一个叫FRP的鬼东西,看了半天,加了几个群,终于弄懂大概是什么意思了。
大概就是:frps是服务端,在外网的vps上,frpc是客户端,在nas上,如果我要访问内网nas的5000端口,就需要在访问服务端的映射的5000端口,服务端5000通知客户端5000有人访问了,执行!当然,也可以外网服务器6000映射内网nas的5000。这里还区分了http、https、UDP、TCP几种协议。

目前用的是别人开出来的免费frp服务器,感觉架frp服务器也不难,不过不想在这个步骤上花费时间了。补充一下,有些frp的服务器支持cname的解析的,也就是去dnspod做一个cname的记录到服务器域名或者IP,只要在客户端这边对应上自己的顶级域名就能直接用域名链接内网的NAS了。目前我觉得这种方式是比较容易记忆的,反正我也有自己的顶级域名,不过我还是放在了二级域名上。
群辉的NAS还支持SSL也就是https访问,貌似安全一些,我懒得弄,就直接关闭http跳https了,反正也是折腾NAS用的,大不了全盘格式化,我就没申请SSL的支持。

其实现在的年轻人真的挺强的,25岁就自己开放免费的frp给别人使用,还十分精通,我前几天frp是什么都不知道。反正我是折腾了好久,请教了几个人,最后发现关闭http跳https就OK了。外网直接访问NAS的5000端口没问题了。
从一开始的odcn。top的dock包,到后面他们说docker没有log记录,还是自己装frp客户端好点,最后成功后倒地是哪个生效都没弄明白,弄清了docker文件夹具体是做什么的,里面的每个文件夹是什么程序,conf文件夹是什么鬼,里面的frpc.ini配置文件要怎么写···此类的问题已经远远超出了我脑子里面的知识覆盖范围。等一下我把我的frpc.ini贴出来,记录一下,免得我自己又忘记了。
Screenshot_2019-02-09-18-32-35-661_com.xbrowser.p.png
接下来要弄正经事了吧!也就是远程下电影!!!今天在公司值班(加tou班lan!)虽然可以用群辉自**.quickconnect.to访问到家里的NAS,但有些内网的操作还是不方面,SSH都没办法链接,只能把家里的电脑开着TeamViewer在办公室做远程链接(是不是有病?)再在TeamViewer里面开Xshell连接SSH操作linux···想想都觉得是不是带病!!!

远程下载就要有下载器对吧!本想着用点什么Aria2就可以,虽然Aria2是什么鬼我也接触得比较少,生活里面就是迅雷,IDM,百度网盘用的比较多!后面网友告诉我现在不流行BT啦!现在玩的是PT!PT是什么?

我大概的理解就是小众的BT,你的上传做种量决定你的下载量,每个PT站点在提供你下载链接地址的时候就会把你注册的账号信息附加进去,感觉就是这个是你唯一的下载链接,你下载了多久,做种了多久都会帮你记录在下载站里面,只有你做种的时间长了,你的账号才是个良性账号,不会受到限速、封停账号等待遇。反正我就这样理解的,管他对不对,现在PT下载站到是多,不过都是邀请注册的,很少有开放的。今天找了半天找到一个,不过下载速度不怎么样,感觉是人少,Up量不够的感觉。没办法,谁叫我跟不上时代的潮流了呢?再说了,有PT账号又怎么样?没得NAS养起账号一样封号!!!

说完什么是PT了,就要说一下transmission,又是没听过的,用的还是odcn.top的docker,注册表搜索,设置高级选项,开启容器。一开始用的是内网启动方式,也就是192.168..的方式,OK 了!又改用frp的方式,弄了好久frpc.ini的设置,看出来点端倪,前面我一直用的是http和https的web访问模式,transmission是使用域名+端口的方式访问的,所以我又开在frp上做一次TCP协议的端口映射,(这里要感谢杂货屋agint.me博主的指点,没有他我自己弄得话我会把自己逼死的!)TCP的端口映射就涉及到 [remote_port=和local_port =] 两个端口,可能是我太笨了,看半天没看明白,做了半天映射都没出去,最后还是agint提醒了一句“是不是remote_port=9091被占用了?”才想起我来我用的是公共frp,好的端口早就被人用着啦!随便换一个remote_port就搞定了。其实理解上也就像我前面说的那样,TCP的映射要让外网的服务器知道我访问123.com:2222端口的时候映射访问内网NAS的abc.com:3333端口,local_port就是内网要使用的端口,remote_port就是外网服务器的端口,也就是用外网的remote_port的2222映射到内网NAS的3333端口,这样理解了吧?理解什么是映射了就好办了。
之后从PT站上download电影到NAS上就简单了。

说说结果吧!现在我能用手机访问nas.abc.com访问到我的内网nas的DSM,nas.abc.com:9091就能访问到transmission的web面板,直接手机就能复制PT的链接,通过手机就能操作家里的NAS服务器上的transmission开始下载高清电影,回家就能葛优躺!目前也就发掘出这点功能了,当然!NAS的功能还能多的,不过我觉得今天还是算有进步了,毕竟frp的穿透带来结果应该是一切NAS功能使用的核心基础!今天能弄好frp就不错了。。。
也好久没打那么多字了,本来今天已经有点累了,好久没这样专心的弄网络上的东西了,今天脑细胞都死了不知道几个亿!但为了写这篇博文还是撑着,因为我怕我过一会儿就忘记我怎么弄得了。基本结束!看图吧!

frpc.ini内容


一些核心数据我*隐藏了。。。
[common]
server_addr = *reenat.bid

frps服务端地址

server_port = *000

frps服务端通讯端口,客户端连接到服务端内网穿透传输数据的端口

privilege_token = frp**8

特权模式密钥,客户端连接到FRPS服务端的验证密钥

log_file = frpc.log

日志存放路径

log_level = info

日志记录类别,可选:trace, debug, info, warn, error

log_max_days = 7

日志保存天数

login_fail_exit = false

设置为false,frpc连接frps失败后重连,默认为true不重连

protocol = kcp

KCP协议在弱网环境下传输效率提升明显,但是对frps会有一些额外的流量消耗。服务端须先设置kcp_bind_port = 7000,freenat.bid服务端已设置支持

[http_yn*xnas]

穿透服务名称,不能和其他已建立的相同,使用公共服务器的建议修改成复杂一点的名称,避免与其他人冲突,很多路由器内置frpc的默认服务名称为[web],很容易很其他人冲突

type = http

穿透协议类型,可选:tcp,udp,http,https,stcp,xtcp,这个设置之前必须自行搞清楚应该是什么

local_ip = 192.168.1*9.160

本地监听IP,可以是本机IP,也可以是本地的局域网内某IP,例如你的局域网是互通的,你可以在路由器上安装frpc,然后local_ip填的群晖的ip,这样也可以把群晖穿透出去

local_port = 5*00

本地监听端口,通常有ssh端口22,远程桌面3389等等

use_compression = true

对传输内容进行压缩,可以有效减小 frpc 与 frps 之间的网络流量,加快流量转发速度,但是会额外消耗一些 cpu 资源

use_encryption = true

将 frpc 与 frps 之间的通信内容加密传输

custom_domains = qh.6*.com

自定义域名访问穿透服务,一般域名设置了二级域名泛解析以后,这里填.freenat.bid即可,自定义,如果不想用域名或者自行搭建frps没有域名,则穿透协议类型选择tcp,见以下tcp部分详解

通过app访问群晖的注意,DS file,DS video,DS audio,DS finder里地址栏默认都是5000端口,穿透后地址栏须填写为【穿透域名:80】,DS photo由于本地local_port为80,穿透后也为80的话直接写域名地址即可

[httpss_hnas]
type = https
local_ip = 192.168.*.160
local_port = 5001
use_compression = true
use_encryption = true
custom_domains = qhs..com

以上https配置同http,群晖注意开启https(默认5001端口),证书在客户端即群晖端配置,无证书的注意浏览器访问时添加信任

[tcp_transmission]

群晖transmission连接TCP端口方式

type = tcp
local_ip = 192.168..*
local_port =9091
use_compression = true
use_encryption = true
remote_port = 1025

最后修改:2019 年 02 月 09 日
如果觉得我的文章对你有用,请随意赞赏