专注4K家庭影音, 服务千万家庭影音发烧友!

在线
客服

QQ咨询服务时间: 9:00-21:00

选择下列客服马上在线沟通:

快速
发帖

暂无
7*24小时客服服务热线

关注
微信

顶部

[NAS组装] 无公网IP搞定群晖+ZEROTIER ONE实现内网穿透

 
帅绝人寰 发表于 2018-8-7 12:15:07 | 显示全部楼层
无公网IP搞定群晖+ZEROTIER ONE实现内网穿透  q) D2 |* t/ E6 t5 r

' K  H3 R  c  I/ {, d前言; {: k6 w9 t/ O
最近刚开始折腾群晖,从5.2到6.0再到5.2再到6.1,期间过程曲折复杂,血泪交融,参考了无数文章,重启了无数次机器,拷贝了无数文件,以及损失了无数数据。再次提醒大家,数据一定要做好备份,一定要备份。不能有侥幸心理。还好基本都有备份,只是分布在各个公共网盘上,找起来特别麻烦,这也是想要搭建一个私有云的最初动因。, M+ b* V; D& p3 o; u$ b* ~: Z% [
搜索学习过程中发现网上关于群晖的文章很多很多,但叙述详尽对学习者非常有用的文章大部分都在Hao4k这里,所以把自己第一篇原创也发在Hao4k。
( g+ j  q8 l- I9 @搭建群晖怎么搭建基本的群晖系统,已经有很多文章,就不再详细叙述。) _/ W: l4 Q* q- g# r9 f: K6 k
简单说一下我自己的最终方案,是在一台sony笔记本上搭建了6.1.4系统,然后升级到了6.1.7。i5迅驰cpu,512G硬盘,8G内存,光盘位换成了ssd硬盘,这样一共512G+512G=1T空间。原本想用一台十年前的台式机来搭,但是安装6.x的系统一直出错,安装5.2然后尝试升级到6也失败了(数据也丢了),参考了很多文章之后结论是主板不支持,于是最终放弃了。
( a- O7 i  p) p& q搭好的系统如下,内网IP 192.168.x.x
9 f6 S2 N! [3 w* _

201808Tuesday5134die2algxbb1.jpg

201808Tuesday5134die2algxbb1.jpg

% L# s) P; s& B: Q% y: m/ n  d. B+ {在内网把一些基本功能玩了一遍之后,自然就有了在外网访问这台群晖的需求。一样也是查阅了无数文章,研究了无数个方案,最终试验成功用ZeroTier实现了内网穿透,实现在外网访问家里的这台群晖系统。, l7 }* G3 B! }7 i, P2 n
进入正题为什么是Zerotier One6 _% B7 c9 J5 p) i: Z0 R. n1 Z
要想外网/公网上访问家里的群晖,大致方案有两个:一个是动态域名+公网IP+端口映射。相关文章也很多,限于本文主题就不涉及了。另一个就是内网穿透了,网上常见的方案有很多,比如frp,ngrok,n2n等等,说实话都是没听过的名字(虽然算是相关专业从业人员,但也是很久没有折腾各种黑科技了)。
* B! i9 Z' M4 I3 o' N由于之前有使用hamachi的经验,所以第一个念头就是使用hamachi,搜了一圈发现这个软件已经淡出市场了,而且好像还在墙外,于是就放弃了,不禁还有些唏嘘。搜索新近的方案,如上述那些一看到要搭建各种服务器就本能的孩怕,没有去仔细研究了。8 X5 k" J# j% @6 x
内心还是倾向于找类似hamachi的方案。也就是点对点vpn,只用安装客户端,就可以秒互联。因为我的主要需求是自己在外面拿个手机连自己家里的群晖,也不用对大众提供服务,所以这种点对点的方式最适合我。更重要的,我也并不希望家里的机器暴露在公网上,而基于vpn的方案恰好能提供这方面的安全性。这么一来就选中了ZeroTier。
# t' t3 p" t9 k) f8 ]* G$ pZeroTier方案内网穿透原理ZeroTier One的原理跟hamachi基本一样,就是虚拟出一块网卡,连上一个虚拟网络,安装了ZeroTier One客户端的设备可以连入这个网络,经过授权连接成功之后彼此都在同一网段,可以像在局域网一样互相访问,例如访问共享文件夹,web server,ftp server,联机游戏(例如打星际),当然也就包括访问群晖。所以如果你的群晖和你的手机连上了这个网络,不论两台设备具体在哪里,都像同一局域网内,从而实现内网穿透,达到从外网访问内网群晖的目的。/ p5 _' x7 N7 a9 ]

201808Tuesday5134qgrwyapcqzp.jpg

201808Tuesday5134qgrwyapcqzp.jpg

, d6 v$ {/ V: V  ]用画图画了个简陋的原理图
# M9 h' y% o5 P& [主机1可以是群晖主机,主机2可以是手机或平板。只要主机1和主机2都能连到互联网,安装上ZeroTier One的客户端后,就会在本机虚拟出一块网卡,并获得对应IP,图例中是172.28.x.x网段。经过网络所有人授权后(后面会详细讲解),这两个主机就可以通过172.28.x.x网段互相访问了,由于就像在局域网一样,所以基本没有任何限制,任何基于TCP/IP的网络服务都可以访问到,自然也就可以访问到群晖了。) M# I6 W7 c8 e; V( |
注:图中省掉了公网IP,因为公网IP多少不重要,只要主机能上公网,能连上ZeroTier,就能获得172网段IP了,也就可以互联互通了。. t0 ?/ {4 t2 b
ZeroTier One的优势相比其他流行方案,ZeroTier One有这么几个优势:& ]7 X4 D& S5 v& e3 ^3 I
免费版支持客户端多。连入同一个网络的客户端不超过100个就都免费速度快,p2p模式。客户端联通之后流量基本不经过服务端/superNode而是点对点传输,传输速度取决于你设备所在宽带上行带宽以及手机端4g上网的速度管理配置简单。不要被全英文的界面吓到,明白原理之后安装配置极其简单' I- e5 j! d( a6 t% a' i5 h  r& ^
最重要的是支持多种平台。支持win、mac、安卓、苹果,以及多种发型版Linux,比如群晖系统(这也是选择ZeroTier One的重要原因),如下图,可以下载spk文件直接在群晖中部署(这里有一个大坑,后面会说到)
$ k4 Q7 B% W; F, ^2 `% K* O) ?

201808Tuesday5134zkfovp3bjjj.jpg

201808Tuesday5134zkfovp3bjjj.jpg
: q8 ?- B  p2 D2 n7 @2 e
ZeroTier 直接提供的群晖的安装版
2 U! r# `5 n1 @3 f实际操作过程
; b8 d. Q( ?9 `) y1. 申请网络2 E  W+ t) O1 n
前文提到安装好ZeroTier One后会虚拟出一块网卡,得到一个虚拟网络网段IP,那么如何让两台或者多台客户端连入同一虚拟网络呢,这就需要先申请一个虚拟网络了。事实上申请这个网络先于安装ZeroTier One的客户端,这是和hamachi不同的地方。
& i3 O. X* G& M0 X. W+ C你需要在ZeroTier One网站注册一个账号,注册了账号即可获得这个虚拟网络,然后在网站的网页上即可管理访问权限,许可那些客户端可以访问你的虚拟网络。- h5 Y" m( F+ c# |) i$ E* i
由于ZeroTier 网站做的实在不太友好,尤其对英文不太好的同学来说简直就是灾难,所以这个部分会讲解的比较详细。不求甚解的话照做即可,不用去管网站上大量的英文说明信息。
' f- P4 w) j! f首先访问ZeroTier网站 ,如果你是百度搜ZeroTier,首先会访问到这里。是不是找不到创建账号的地方?然后往下拉就会越看越犯怵。不用看了,直接点击右上login,或者访问这里
1 w, I0 ]# z. |) U+ t! S$ M7 D

201808Tuesday5134cl1cfzmqz3q.jpg

201808Tuesday5134cl1cfzmqz3q.jpg
3 C. c; Y  t9 }. z4 y, t
创建账号
* `2 H6 q# S1 |. q! Z/ `此时就会出现登录/注册页面,点击Create An Account(为了写这篇文章我创建了一个新的账号),到如下注册页面,填入邮箱,密码。点击创建账户(Create An Account按钮)。, `, ~5 U" ~6 [% M

201808Tuesday51352axwq1ltfyn.jpg

201808Tuesday51352axwq1ltfyn.jpg

- b( O  h/ i2 h! Z之后会进入下图所示页面。什么都不用改,重点的两个信息我圈出来了:一个是你的内部ID(Internal ID,此例中是 f7578543-394a-489a-a7be-ef08d1850b75,基本用不到;另一个就是下面订阅选项,默认免费(Free)即可。免费的最多支持100个客户端,应该够用了。
! T4 ~( b, _- m) h

201808Tuesday51351v25rfd2ing.jpg

201808Tuesday51351v25rfd2ing.jpg

& R% J% r7 A9 \) A: v$ {创建好账号: k+ A; P) Z; b, T3 ]2 ?, S
接下来直接点击最上面菜单中的Network,然后点击Create,即可创建前述之虚拟网络——也就是一串id号
) J- t5 h6 {& q6 b2 g$ y% c& M

201808Tuesday5135okuuxcjmqln.jpg

201808Tuesday5135okuuxcjmqln.jpg

9 V1 P1 S1 u/ q/ I$ f  J. C创建虚拟网络
+ S# {: h8 k) V- ~* k0 x+ X所谓ZeroTier网络/虚拟网络,就是后面你的群晖以及手机等设备要连入的虚拟网络。连到同一个网络的客户端互相可以直接访问。这一串数字id就是这个网络的本体,上面那个furious_rosenbaum是随机生成的网络名,用来描述网络,当你有多个网络的时候方便记忆和识别。
: p7 p: h+ C: m- X3 ?6 f: ^. Q( f% K注:上图中右侧蓝色的数字即表示当前连入这个网络的客户端数量。新建网络没有客户端连接,所以是零。8 R: J) h( l9 C8 ~1 _
点击My Networks,进入如下页面/ R+ ^; K, {4 i

201808Tuesday5135vriajknc02h.jpg

201808Tuesday5135vriajknc02h.jpg

1 W1 e% K/ U: d) ]& _理论上这里也是不用修改任何地方,几处重点信息也圈出来了:" w1 Y% f& u# h
网络id就是这个网络的唯一标识,后面客户端要加入网络时就是填入这个id号;访问控制(Access Control)默认私有,也就是需要授权才能访问(后面客户端安装配置的部分会讲);IP自动分配,也就是只要连入这个网络的客户端,自动获得此网段IP。- O) V& c  Z; p' B1 @. @3 x
此页面也是管理和监控页面,也就是后面添加或删除客户端,控制那些客户端能加入此网络都可以在此处完成。任何可以联网的设备只要有用户名和密码即可登录ZeroTier One,然后进入此页面对网络进行管理,比如手机,平板,从任何位置都可以访问管理。9 P' c* ~, `" M
注:所谓“客户端”即安装了ZeroTier One客户端软件的设备。本文到目前为止还没有涉及到客户端安装,也就是说,创建自己的帐号/创建虚拟网络不依赖于具体客户端设备或软件安装,以及之后的权限管理也都不涉及特定客户端,任何一个可以联网的系统都可以操作。这个在你实际使用之后会发现非常有用且方便
" r6 A/ s3 v: A- J- M' P将页面拉到下面,圈出的部分便是监控和管理的主要操作区域。当前没有客户端连接的时候如下图
/ r' d) \4 [/ S( P6 Y) ]2 O

201808Tuesday5135sourttqd0kt.jpg

201808Tuesday5135sourttqd0kt.jpg

4 Y1 \5 h1 B1 |* T网络管理和监控
6 {. c  ~- w; S% p1 F详细解释如下,因为刚刚创建网络还没有客户端加入,所以显示“No devices have joined  this network",当有客户端加入之后便会在此处看到状态,离线,在线,离线时间等等;后面Manually Add Member就是加入其他成员,也就是一开始注册账号时,你得到的那个内部ID可以用来加入其他人创建的网络,或者邀请其他人加入你的网络。其他的部分都可以忽略掉,不用看,没用,越看越晕。* U, u: a$ s4 I) ~) l
注:ZeroTier的世界主要有两个概念,一个是用户一个是网络,都是一串数字表示。一个用户可以加入多个网络,多个用户可以加入一个网络。在本文应用实例中,是只有一个人一个网络,所有的设备都是我用自己账号登录ZeroTier后加入自己的网络而连接在一起的。
7 n2 t$ Q4 A+ K; r8 d2.安装Windows客户端为了演示方便我先在PC电脑上下载ZeroTier的windows客户端安装,然后加入上面创建的网络。  s, S' W, c) ?% [* Y8 f: c
回到ZeroTier网站顶端,点击最上面菜单第一项Download,进入下载页面
2 V: \* F* ^3 F* W( Q

201808Tuesday5135fqm1azvkdcx.jpg

201808Tuesday5135fqm1azvkdcx.jpg
5 ]% Q/ V1 X/ h1 w$ m
下载页面
5 u; t- h8 q4 F6 H' S+ \0 P找到windows客户端下载,点击ZeroTier One.msi下载安装文件到本地。大约12M
1 w5 ]( ]8 u- E* j

201808Tuesday5135j4slnrsoz31.jpg

201808Tuesday5135j4slnrsoz31.jpg
7 p- B3 a9 T  W  b
下载windows客户端
% A& O7 {% p; w. [0 R3 b3 e- D7 Y2 x; Z一路按默认设定安装即可(我只好又装了一遍)2 N2 j  M/ I5 y. m; X* v

201808Tuesday5135fax5m102sut.jpg

201808Tuesday5135fax5m102sut.jpg

. g: C/ E, e+ G( {- w一路next即可
: p7 R% G0 u% a* K2 K) G+ Z安装软件的过程可以看做往系统插了一张新网卡,并把网卡连了一根网线,此网线通往ZeroTier的专有网络,逻辑上独立于你当前局域网之外。如果弹出如下窗口,点击是。6 K& \3 T# F8 A2 j  C; ^

201808Tuesday5135gkaexwsmzx0.jpg

201808Tuesday5135gkaexwsmzx0.jpg
4 Y& @4 L" p1 Z: ?9 N4 e0 u- P
安装结束后可能会出现的提示,表示新建立了一个以太网口
% f* `, y( N6 }# z" r" ~然后查看系统设备会看到新出现的虚拟网卡ZeroTier One Virtual Port9 G4 k9 |7 |! E' Z' Y' s

201808Tuesday5135speog4y4zdy.jpg

201808Tuesday5135speog4y4zdy.jpg
/ a$ {4 r6 P$ L
安装后ZeroTier网卡出现在设备管理器中
8 u: |+ J! t/ z% p! y安装好后,从菜单运行,不会出主程序窗口,而是在任务栏出现ZeroTier One的小图标,右键点击会出现弹出菜单,在此处点击Join Network...加入刚刚申请的网络
& ?! {$ f) \% \: W* R3 `$ R

201808Tuesday5135g3vqgveu2rm.jpg

201808Tuesday5135g3vqgveu2rm.jpg
' U/ U6 i" e9 f. K/ v+ f$ l
加入网络
+ b& f- A1 U' I7 y+ N. A注:因为我这台Windows主机已经安装过ZeroTier One,所以已已经有节点信息,和曾经加入的网络(id号),为了安全起见就涂抹掉了(我尝试过卸载重装还是会有这些信息,暂时不管了),但不影响你加入新的网络。在此例中就是新申请的网络 1d7193******63d387- T  l: q7 ~: b; o" [
点击 Join Network...会弹出一个小窗,填入新申请这个网络id号,再点击Join即可
$ s8 O  N$ j2 I  n5 ?; M8 O3 n+ L

201808Tuesday5136giz543ijs5m.jpg

201808Tuesday5136giz543ijs5m.jpg

" @' d! s) ?) K; x加入网络3 H) r4 v8 X5 f( g& @2 ^+ [% Q
重点来了,此时回到页面 刷新一下(或者直接从客户端系统栏图标上右键点出菜单,点击"ZeroTier Central"进入此页面),将页面拉下来,此时就会看之前No Devices have joined this network的地方出现这个客户端,显示online
, X' w4 l& ?; B- I" g6 H

201808Tuesday5136xbq4izyf1q5.jpg

201808Tuesday5136xbq4izyf1q5.jpg

+ I% K# q- J: Y) o( V5 C客户端已经可见
, K/ p: @; F. b. R$ N但是别急,此时客户端并未连上这个虚拟网络,需要进一步授权。在此管理页面勾选前面的复选框(auth?列),此时这个客户端就终于连上这个网络了。1 A0 d6 q7 [3 k' K) z

201808Tuesday5136v13zvfqowug.jpg

201808Tuesday5136v13zvfqowug.jpg
% ?: p, G8 s- N- x- _
可以看到,勾选之后,左侧虚线变成了绿色实线,表示客户端已经连上这个网络(1d7193******63d387)。另外客户端在此虚拟网络中的IP也已经得到,为10.147.18.99。中间short name和description的部分,我也填入了相应短名称和描述,这样方便在多个客户端连入后,明确知道各个客户端分别是什么。这个很有用,整个ZeroTier世界里面全是数字,就靠这个描述和名称来标识各个客户端了。+ }+ L) F' F- a  t4 Q$ U. @
在网页端授权之后,用ipconfig查看一下,这个IP就是网页上那个IP。
0 J$ W4 G7 c2 |0 M方法:win+r,输入cmd,出现命令行终端,打“ipconfig"回车即可看到当前系统的网络配置情况。4 _4 }. H, P( \* a3 z

201808Tuesday51360ow4n11jouj.jpg

201808Tuesday51360ow4n11jouj.jpg

- [3 o& I5 k5 m2 E- }1 ]查看本机IP,多了一个以太网2的连接- H4 L& f$ r/ h1 ^3 K
详细说明在Windows的安装过程是为了大家理解ZeroTier One客户端的工作原理,网页管理配置的方法。这样在群晖上安装时理解起来就简单了。3 Q$ H9 ~1 W9 h# \$ X' ~1 p
3. 在群晖上安装ZeroTier One客户端前述内容虽然看起来复杂, 但是如果理解了再回头看就会觉得非常简单。% ^; _/ e( l* @) k! @" M" @
整个过程真正的难点是在群晖安装ZeroTier One 客户端。前面提到过,这里有一个大坑——找不到安装文件!!
; D8 ]" G0 K- _. I. V; p1 L0 F& U) G6 }( o5 ^7 b4 i
ZeroTier One for 群晖的安装包$ G5 C5 I9 q0 B2 P8 z6 N
如果你点对应的按钮下载,会出现404错误。试了ZeroTier群晖下面所有的下载链接,全都是404: d9 V( m: @9 l9 }# n

201808Tuesday5136zlyzwcbjci4.jpg

201808Tuesday5136zlyzwcbjci4.jpg

+ P( e/ k& j' [( t官网下载不到安装文件,接着用文件名全网搜也没有搜到别的下载源,这下就傻眼了。让我一度以为是不是ZeroTier也跟群晖闹翻了之类。把所有应用都下架了。。. p9 ~* i6 X! {$ n6 \1 G5 C
万般无奈之下只好硬着头皮研究怎么直接在群晖上用源码编译,翻遍了git和zerotier的各种文档,反复尝试才知道,如果要编译,不能直接在群晖系统上操作,只能搭建专门的开发环境,需要自己装一个linux系统了。。
# o, b! Y/ Q! W8 t4 D0 A# N在这里卡了两天,付出时间精力最多,却没有什么可写的,因为尝试编译没有成功 没有用不需要——误打误撞找到了这么个页面
0 o+ x1 O% v, P[/ol]
' S  F% ]* [' p4 z5 e2 x

201808Tuesday513643knwvjukcb.jpg

201808Tuesday513643knwvjukcb.jpg

% d4 \1 |2 e; w  x% S& S然后奇迹出现了, v) u0 W7 H" \3 W; |  Z( v4 d
是不是很眼熟,当下的心情就是——那画面太美不敢看啊。) b; R$ g" K$ f* ]

201808Tuesday5136esfwygptlny.jpg

201808Tuesday5136esfwygptlny.jpg

8 `* b( F9 t% @' e  s) {热泪盈眶啊
+ E% c" K. z) m8 U; ?+ Y所有带syn字段,spk结尾的都是ZeroTier One 给群晖的安装包,有种老鼠掉进米缸的感觉了。
& S) `6 W# b" ^. v' n$ L3 \但是如何确定哪个版本还要费一点周折。方法一,可以在这个平台支持列表查询自己cpu类型,决定下载哪个版本。但在这个列表,我却找不到我笔记本i5 cpu对应的版本,所以用方法二:网上下一个putty.exe,然后ssh连到自己群晖的终端。
  B- c' g& w& I$ E) [5 c

201808Tuesday5136qwg1fg5ascp.jpg

201808Tuesday5136qwg1fg5ascp.jpg

! r' U( w( m- s  L9 q* S; B启动putty
& q$ i1 }) [# W0 J7 S2 k& U0 {9 P在hostname处输入群晖的IP,点击open。弹出窗口输入群晖用户名密码' q$ c# `) l. X. Q. N' f4 R

201808Tuesday51365kl0zhderdy.jpg

201808Tuesday51365kl0zhderdy.jpg

0 B$ `7 `) e3 u9 Y+ ]用户密码同群晖用户密码4 u" N$ T9 I! a5 D% j0 z
登录后打命令uname -ar,就会出现cpu版本信息,大概长这样:! P; K3 u+ [( l3 v, ~6 Q

201808Tuesday5137o5jyn1qid2g.jpg

201808Tuesday5137o5jyn1qid2g.jpg

# z% a9 e2 C- g* C3 y: }! D查询cpu/系统版本号
4 z4 m' ]# a% Q+ _8 Q3 s这就很明显了,我这个安装在笔记本上的群晖6.1.7,是64位系统,bromolow的版本,下载zerotier-1.2.8r0-syn-bromolow-6.1.spk就可以了,这回终于没有404了,美滋滋啊。$ |# d: S3 R! n7 W0 a+ W
, g- Y; h$ [" v
再发一遍就是图中这个东西,看到了吧。' P9 w, S0 e1 H1 }8 Y* v
在群晖端安装就相对简单了。登录DSM,打开套件中心,选择手动安装,找到刚刚下载的spk文件,点击下一步/ N, o" X2 E2 q* P

201808Tuesday5137em5mf0cealk.jpg

201808Tuesday5137em5mf0cealk.jpg
- M" v9 Z; t9 W5 @2 \
手动安装
; Z$ n. H4 Y/ a: s& y然后会出现ZeroTier One的版本信息' M! R9 {9 S9 L$ `

201808Tuesday5137j2ljdmxp1wq.jpg

201808Tuesday5137j2ljdmxp1wq.jpg
: b# g/ M( f8 C- \" H5 W% @- j- d
因为我系统里早已安装了ZeroTier One的套件,所以这几步只是演示,可能和第一次安装界面稍有不同。安装过程大约几分钟。安装完成后可以在主菜单找到,点击运行。
+ M! A% L5 `6 v; }

201808Tuesday5137aw5dnt0buba.jpg

201808Tuesday5137aw5dnt0buba.jpg

- m$ A+ ~, m# V$ i运行后主界面
6 n  K( d" e1 q! b- J运行后主界面基本没有内容, 唯一的操作就是在右下角[Network ID]填入网络id号,然后点击join。
( M! U/ o: e7 E- f* Z! X5 d加入后,刷新ZeroTier 点击网络id进入管理页面0 @0 V+ Q9 p0 V0 ~% R$ E# `

201808Tuesday5137dyg3dyx1wky.jpg

201808Tuesday5137dyg3dyx1wky.jpg

  ~" s8 p' t- Q- Z5 c# S6 e& [客户端已上线: ^# k3 U( O# A3 ~
和第一个windows客户端一样,可以看群晖的ZeroTier One客户端已经在线online,但未授权,左侧为虚线。点击复选框勾选授权,此时群晖连入虚拟网络
8 k7 \# ]; S  \. q# M提示: “在线”("online")的意思就是客户端那一侧ZeroTier One软件已经启动正常运行,在ZeroTier网络上可以看到这个客户端;"授权"是指客户端能不能连入当前这个网络,默认是"未授权"("Not Authorized")状态,需要网络所有者(即创建相应网络的注册账号,此账号登录ZeroTier后才能访问此页面)授权——勾选左边的复选框
& {  Y4 D3 z! _) o& X+ a, j5 |

201808Tuesday5137yszndbuer5v.jpg

201808Tuesday5137yszndbuer5v.jpg

6 Z# z  U8 j- T) \) L* Y  ^/ e群晖客户端上线入网
- y3 R8 E/ F0 Q: k* i同Windows客户端一样,给群晖客户端填入短名称DSM home表示是家中的群晖主机,在描述中输入Synoloty DSM host,这个可以随便写,只要自己看了知道是那台机器就行。) q4 t. E5 V$ i! X8 o- q  P3 e" H
授权之后群晖就应该已经介入此虚拟网,在PC端打开cmd,命令行ping一下看通了没有。如ZeroTier管理页面所示群晖的ZeroTier网IP是10.147.18.1724 K  g, T; |! _) _! P5 B1 Y. F

201808Tuesday5137jsjwq154fso.jpg

201808Tuesday5137jsjwq154fso.jpg
. C8 l6 |' ?: m3 D% S+ n% r& x* j
ping值很低,可见链路没有经过服务端,两台机器是直接交换数据的(基于ZeroTier那个虚拟网卡)# c' f; [% e, O4 K' @
在此虚拟网测试下群晖,访问10.147.18.172:5000
) R5 x+ r$ V1 Z2 w: r

201808Tuesday5138qoau1egnzwn.jpg

201808Tuesday5138qoau1egnzwn.jpg
# F+ ~# G; @( V- D
登录后一切正常
- p! U, a5 E8 S

201808Tuesday5138txd2dwbo1wd.jpg

201808Tuesday5138txd2dwbo1wd.jpg
4 e. d& C7 @5 _4 P3 S2 [
正如前面反复提到,连上ZeroTier One的虚拟网络(加入同一个网络id)后,经过拥有者授权,所有客户端就像在一个局域网里,所有的端口都是开放可以互相访问的。
. Y* [6 P7 \  U. Z/ z- l$ K, Q( L

201808Tuesday5138wfoxy5pp045.jpg

201808Tuesday5138wfoxy5pp045.jpg

! G% m3 F. F* h! ~: V+ m3 M, lhttps可以访问
0 h! a( D4 x8 L* S3 i: z

201808Tuesday5138b4t4lbnsyan.jpg

201808Tuesday5138b4t4lbnsyan.jpg
$ [. N' |5 W. c5 [
Photo Station可访问9 Z. q* J8 M4 ?5 s8 V) X# C

201808Tuesday51381vfkoxpo00e.jpg

201808Tuesday51381vfkoxpo00e.jpg

) E' U$ F0 ?1 x: NVideo Station可访问' Y& N$ X3 q4 H7 ]8 {' H
外网连接测试
& S6 {  M% p- \: k上面的测试虽然走的ZeroTier网络,但是Windows主机和群晖主机实际都在同一内网。所以还需要测试真正外网连接。模拟在外面用手机连接家里的群晖,看ZeroTier One的内网穿透是否真正实现。9 R# T  e% Y8 v
手机端安装ZeroTier One客户端推荐用苹果,安卓系统正常安装流程需要访问google play。为了测试两个系统都安装,现在用安卓系统演示。
& y6 _6 @) L2 l( o# r+ S( v, Q4 f在手机上安装ZeroTier One安卓客户端,装好之后大概这个样子
7 Z5 o5 J$ u( J* e" w

201808Tuesday5138ogxgluw25qu.jpg

201808Tuesday5138ogxgluw25qu.jpg
( H. q; n3 N. p- W
我是科学上网用google play安装的4 y$ b- N) Q# ~& k$ T
用google play装,启动之前先把手机wifi关掉,使用数据上网- T; s9 e) V3 s, H; l. v

201808Tuesday5138lwvu0sqfody.jpg

201808Tuesday5138lwvu0sqfody.jpg

$ J1 H; i! j* ^: u8 |( }! u启动ZeroTier One应用,点击主界面上方的加号,出现如下界面。输入网络id号,点击Add Network0 L; m0 _$ |* n, Y1 {( k

201808Tuesday5138wz32gkgwjo3.jpg

201808Tuesday5138wz32gkgwjo3.jpg
) s' a% h1 U1 g; B
运行ZeroTier One App
2 E9 ]9 p9 z. w3 B回到主界面会看到新添加的网络。上面那个网络是我之前创建的,也是我实际在用的,暂时可以忽略掉。8 ]+ ]5 T( s' s2 r
下面是今天新申请的用来做演示的网络,现在加入的是这个网络。/ I3 D$ c# l) s7 p7 l/ z

201808Tuesday5138wo1pvuzb1xm.jpg

201808Tuesday5138wo1pvuzb1xm.jpg
8 ]6 s; h; ]2 ^0 m9 R# }1 ]! t
点击开关打开网络
1 U& U( n6 V, R) ^0 O8 k/ ?/ q/ y$ J点击网络id号右下的小开关,会弹出创建VPN连接请求,确认即可
" R. m% _2 c6 ]7 J4 m

201808Tuesday51385zagqruc25w.jpg

201808Tuesday51385zagqruc25w.jpg
" Y8 q' X) {/ I/ ?2 |
手机端的ZeroTier One 安装配置就完成了,接着在网页管理端授权这个客户端使之最终连入虚拟网络。
4 d7 e$ ~& m5 R) o, {( K% b/ A! X管理页面配置让手机连入虚拟网络- m( s( ]. e, _/ x/ M
打开https://my.zerotier.com/network/1d71*****387  刷新,会看到新的手机客户端已经上线,但未被授权。
; Y3 N1 B' [3 v! c  ^" q

201808Tuesday5138aqbo3xhhqs3.jpg

201808Tuesday5138aqbo3xhhqs3.jpg

4 |( b  z' z! L. h- N0 v手机客户端已成功运行
6 d% Y! p7 `3 y* n4 ~如法炮制,给手机客户端授权,并输入短名称和描述。勾选授权之后,刷新网页如下:
# ^, I8 P6 E: `2 `! W' X' p

201808Tuesday51394pfwlchmmhd.jpg

201808Tuesday51394pfwlchmmhd.jpg

# p, y, F9 z0 |: I; `6 r将手机客户端授权连入ZeroTier网络
3 o  m: z2 e$ E. t% R6 M) v* R2 }提示: 随着客户端增多,就能发现短名称和描述的作用。在这个页面通过名称和描述就能很清楚分辨各个客户端是什么。不然对着一串数字很容易搞不清楚谁是谁了。4 \/ h$ ?5 D4 r
此时手机、群晖、Windows电脑就像连入同一个路由器wifi下,各自的IP都都在网段10.147.18.*。
6 k9 K1 \9 |7 A: ~测试手机从外网连接家里的群晖此时人和手机物理上仍然是在家里,但因为手机已经断开家里的宽带,使用数据上网,所以场景等同于手机现在是从外网对家里的群晖进行连接。可以看到手机端已经连上了VPN,打开群晖官家,添加现有设备,即家里的群晖。( F6 z( v1 w- W) e

201808Tuesday5139xzkjmo2p0bv.jpg

201808Tuesday5139xzkjmo2p0bv.jpg
; s0 `6 ]! n0 T3 z; s) a# Y0 ?; V" s' w
群晖管家测试连接8 x8 e& X" @+ w" A2 ^7 w/ c$ i+ \

201808Tuesday5139ep5mzedcibb.jpg

201808Tuesday5139ep5mzedcibb.jpg

& D8 y$ U- i* R% G2 D小提示要输入端口号4 ~0 v  U4 w( }  t* z$ v
连接群晖输入正确地址端口用户密码,点登录后很快就连上了
$ E' R: O3 s& D' }1 W

201808Tuesday51392bctaiymjhn.jpg

201808Tuesday51392bctaiymjhn.jpg

" ]" Q- t2 ]$ s 登录(穿透)成功9 i* I, L+ E' J( Z
切换到桌面模式可以看到更详细状态。DSM mobile中点击齿轮图标,选择桌面模式1 D9 b* T! S! v9 c- y) L

201808Tuesday5139ut2larfxken.jpg

201808Tuesday5139ut2larfxken.jpg
/ Y: D7 W6 M" e- |# R% i

201808Tuesday5139iz4miegs4bt.jpg

201808Tuesday5139iz4miegs4bt.jpg
8 A$ d) J4 ~5 k7 z* \+ f* K7 @
可以看到各个套件" \9 P' d: V4 j& ^" A5 H
至此已经证明穿透成功,从外网通过ZeroTier的虚拟网络连上了家里的群晖。
" w' c: v4 p2 z9 ~" w) Q小结第一次发文,没想到写了这么多,写了这么久。一张图一张图的改上传,还老传错,最后花了近八个小时才算基本完成。如果用过softether VPN或者hamachi玩过联网游戏(年龄暴露),那么应该很快可以上手ZeroTier One,基本原理完全一样,ZeroTier的改进是管理虚拟网络是独立于客户端的,可以完全通过网页完成。安装好之后,所有客户端都加入同一个网络id,则如同连入同一个路由器,处于同一个局域网。那么互相访问就跟在局域网一样,在外连接群晖就跟在家连接一样了,只需要通过ZeroTier网络里的IP连接即可。至于其他几种方案,frp,ngrok等,只是看了下文章,没有实际使用所以也不能评判好坏。如果只是从文章的描述来看,个人更倾向于ZeroTier,最大的两个优点,一是不用搭建服务器,二是有一定安全防护机制,一定要虚拟网络拥有者授权,新的客户端才能连入网络。
8 \7 V( Q! D/ j. k# O  B) F  ?整个过程看起来很复杂, 理解之后应该很简单。真正的大坑是ZeroTier 官网的spk文件下载链接不对,导致没有安装文件安装。幸好误打误撞找到了文件,spk手动安装还是很顺利的。
/ d; [* y' H! O1 l* u补充:/ {6 z$ U& Z2 g4 o8 o4 P: ~# G
群晖端在DSM里面起ZeroTier One可能起不来,或者加入网络加入不了,点击没反应。可能是跟我切换了网络有关。解决办法是通过putty连接到终端,然后再执行命令行命令离开原有网络加入新网络即可。加入成功后网页管理端就能看到新的客户端。授权时候群晖就连入你创建的ZeroTier的网络了
) H& k8 _5 _" b' Z

201808Tuesday51394omyyikbda0.jpg

201808Tuesday51394omyyikbda0.jpg
" g0 t% z. Q6 b/ H$ ?
通过命令行启动ZeroTier One 群晖客户端# [$ S$ [9 d+ A
总算写完了,谢谢大家。第一次写文难免会有疏漏,欢迎大家指正。有任何问题也可以在评论提出,会尽力回答。: J8 r4 T; I! U# H. S$ T

# K$ i2 B- ]& z延伸阅读
! ^, k/ f' I7 Z- t手把手教你黑群晖配合frp无公网IP实现远程连接不加端口访问,图文教程6 m& r2 n- a, Y0 T
教你解决群晖使用Zerotier内网穿透出现错误的解决方法

评分

参与人数 2贡献值 +6 收起 理由
lili + 1 很给力!
zhu482653 + 5 很给力!

查看全部评分

回复

使用道具 举报

发烧友评论174

倒序浏览
种花家的兔子 发表于 2019-9-10 13:22:37 | 显示全部楼层
zhangsongjie 发表于 2018年8月8日 21:00% F: c& a  D0 u* i* \
这个不用这样吧,  zerotier只安装在路由下就先行了。 路由下转发规则设置一下局域网下的设备就都通了  包 ...

9 Z$ U, U  @# D% ~那不得需要一个强大如华硕的路由器?我的普联看来是没戏了。大神有没有教程,还是想学一下长长见识。
回复 支持 反对

使用道具 举报

雾隐者 发表于 4 天前 | 显示全部楼层
种花家的兔子 发表于 2019-9-12 17:04
- v( Z. J4 u" E大哥如何操作的?我前两天试了下,APP下载不了,用国外的账号下载了但是VPN连不上,相当于也是用不了。

4 C. p7 h& B; j4 Ahttps://download.zerotier.com/  下载网页有安装包ZeroTierOne-1.4.6-1.apk     
回复 支持 反对

使用道具 举报

heartzc 发表于 2020-6-24 01:37:30 来自手机 | 显示全部楼层
学习了,谢谢分享!
回复 支持 反对

使用道具 举报

heartzc 发表于 2020-6-24 01:36:54 来自手机 | 显示全部楼层
学习了,谢谢分享!
回复 支持 反对

使用道具 举报

mdq00 发表于 2020-5-13 09:36:23 | 显示全部楼层
来学习了,感谢分享
回复 支持 反对

使用道具 举报

withem 发表于 2020-5-12 13:19:05 | 显示全部楼层
感谢楼主分享教程 内网穿透把我头都快该裂开了
回复 支持 反对

使用道具 举报

milesz 发表于 2020-5-9 14:15:42 | 显示全部楼层
分享不错的知识
回复 支持 反对

使用道具 举报

hdzw9999 发表于 2020-5-9 12:59:28 | 显示全部楼层
感谢大佬分享
回复 支持 反对

使用道具 举报

mushusheng 发表于 2020-4-22 02:23:23 | 显示全部楼层
看看有没有用
回复 支持 反对

使用道具 举报

短发效应 发表于 2020-4-18 19:03:03 | 显示全部楼层
重点来了,此时回到页面.  哈哈哈  学习了 , 感谢楼主分享
回复 支持 反对

使用道具 举报

wdxbb 发表于 2020-4-11 21:17:29 | 显示全部楼层
受教了,很需要谢谢楼主
回复 支持 反对

使用道具 举报

好犀利 发表于 2020-4-10 12:50:58 来自手机 | 显示全部楼层
谢谢楼主分享
回复 支持 反对

使用道具 举报

jiu3sui 发表于 2020-4-9 05:14:24 | 显示全部楼层
讲的很好很详细太棒了
回复 支持 反对

使用道具 举报

gc012038 发表于 2020-4-1 08:39:59 | 显示全部楼层
无公网IP搞定群晖+ZEROTIER ONE实现内网穿透
回复 支持 反对

使用道具 举报

jjilove 发表于 2020-3-30 11:53:34 | 显示全部楼层
写的很详细 太有用了
回复 支持 反对

使用道具 举报

qianqiao1990 发表于 2020-3-24 16:00:17 | 显示全部楼层
学习一下! e8 a% G& i3 P+ D- E
回复 支持 反对

使用道具 举报

吴少君 发表于 2020-3-11 20:05:34 来自手机 | 显示全部楼层
谢谢分享
回复 支持 反对

使用道具 举报

bush 发表于 2020-3-9 10:46:34 | 显示全部楼层
谢谢分享
回复 支持 反对

使用道具 举报

allangod 发表于 2020-3-8 23:15:55 | 显示全部楼层
重点来了,赶紧看看
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则


0关注

1粉丝

6帖子

热门主题
社区广告

关注微信公众号第一时间推送精彩

官方微信

手机访问

Hao4K影音

专注4k家庭影音,提供家庭影音社区,家庭影音器材库,影音问答平台,影音商城,服务千万家庭影音用户。

本站内容部分由用户自主分享和转载自互联网,转载目的在于传递更多信息,并不代表本网赞同其观点和对其真实性负责。

如有侵权、违反国家法律政策行为,请联系我们,我们会第一时间及时清除和处理!

举报反馈邮箱:admin@hao4k.cn

Copyright  2019-2020  Hao4K影音粤公网安备 44030302001429号     ( 粤ICP备18155646号-1 )|网站地图