轻松实现无公网IP高速远程访问NAS!zerotier从原理到实践
创作立场声明:如果对原理不感兴趣,可以直接跳到zerotier安装教程
前言
2019年年底,RIPE NCC确认全球IPv4地址区块已经被全部分配,现在人人拥有多台需要联网的设备,有限的ipv4不能满足高速增长的设备数量,催生出了NAT技术。NAT技术的目的是将多台设备的流量从一台设备发出,这样就能让大量的设备共享一个公网ip出口,缓解ip不足的问题。
但是NAT的弊端也很明显,不在同一个局域网的其他设备不能直接准确地访问到躲在NAT后面的设备。
先了解一下什么是NAT
打个比方公网相当于小区,公网ip相当于楼号,NAT相当于每栋楼的快递中转站,端口相当于快递站的快递号码。内网设备tom访问A时,此时NAT建立了一个->51000的端口映射。也就是快递中转站记录了一下,以后收到51000号快递就送到设备tom
。A收到来自这栋楼51000号的请求,再把数据发回给51000号,快递站自然会把这个来自A的51000号的数据送给设备tom,所以tom可以正常上网。但是如果设备tom没有主动访问A,快递站就不会随便把数据送给设备tom,A无论如何都不能把快递发到tom手上
。这也就导致了从公网无法访问NAT后的设备。
zerotier的原理
NAT对于NAS的使用是致命的,只要离开了自己的路由器,在其他地方就无法访问。但是NAT也不一定断了我们通过直连访问家中NAS的路,只要我们可以“骗”快递站建立一个映射,比如把所有49999端口的数据全部发到我家,然后再让手机连接这个端口,就可以实现接近直连访问的速度。这就是zerotier的精髓——内网穿透。如果对穿透NAT感兴趣欢迎阅读我曾经写过的一篇有关WebRTC的科普向博客,里面详细介绍了打洞的过程。WebRTC入门
zerotier能做到什么
zerotier能让你随时随地连接上NAS。在手机和nas上同时开启zerotier并且加入到同一个虚拟网络中,手机在大部分地方都可以借助zerotier的内网穿透能力访问到NAS。在网络环境不允许穿透的地方,zerotier会通过一台中转服务器把流量中转给nas,虽然这非常慢但是也是可以用的。如果你愿意花一点钱
,买一台国内的vps安装zerotier,然后将中转服务器设置为你的vps这样可以极大提高访问速度。
zerotier安装教程
1. 注册账号
首先登陆官网,点击右上角的注册。
注册完成并登录后会进入zerotier后台,此时没有创建网络。点击左上角的创建网络,就会发现在列表里多了一行,点进去。
在网络设置里有很多选项,先不要着急,从上到下一个个设置。
记下这个Network ID,其他设备加入网络需要用。
把Access Control设置为Private,这样每个新加入网络的设备都需要你登录后台进行允许,否则无法访问你的网络。
在Advanced中可以设置这个虚拟局域网的ip段,不需要修改就可以直接用。
再往下的设置也不需要调整
2. 安装客户端
为了方便下载,下面是从官方安装教程中复制的安装包下载链接,版本为1.6.2。
linux可以用以下命令一键安装:
curl -s https://install.zerotier.com | sudo bash
3. 加入网络
以windows,群晖为例展示如何加入网络并且在后台允许加入网络。
windows:右键托盘图标,点击Join Network
在输入框输入刚才的Network ID,然后join
浏览器进入后台管理页面,找到Members,可以看到一台新的设备加入了网络。
点击auth,稍等一下会出现一个自动分配的ip。只要是加入这个网络的设备,都可以通过这个ip访问到这台电脑。
群晖:
找到对应cpu型号的安装包下载。
下载完成后进入群晖套件中心,点击手动安装,选择刚才下载的安装包。
然后在右下角输入Network ID,然后join。
后面的操作就是进入后台,允许这台设备加入网络,与windows的操作是一样的。
安卓和ios的操作也类似,安装软件以后输入Network ID加入网络然后在后台允许。
成功组网
可以试试直接输入群晖zerotier的ip访问,看看速度怎么样。如果速度不理想,可能是宽带的NAT类型无法打洞,zerotier使用了位于国外的中转服务器,提高网速的办法只有自己购买国内VPS进行流量中转,但是这不是本文的内容
,下一篇zerotier的文章会讲讲如何购买vps,搭建自己的zerotier中转服务器。欢迎多多点赞收藏加关注!












校验提示文案
校验提示文案
校验提示文案
校验提示文案
校验提示文案
校验提示文案
校验提示文案
校验提示文案
校验提示文案
校验提示文案
校验提示文案
校验提示文案
校验提示文案
校验提示文案
校验提示文案
校验提示文案
校验提示文案
像之前用蒲公英 我在192.168.11.X局域网的所有终端都和192.168.21.X局域网的终端互相访问通讯。。。但是zerotie好像不行啊?这玩意到底怎么玩啊。
然后我想知道 你们天天张口闭口提的ipv6是怎么玩?我电信公网IP开通了,公网IPV4和IPV6都有,路由器也开启了IPV6 然后怎么玩呢?怎么玩?像我搞内网穿透,
就是路由器DDNS绑定了花生壳域名+开启对应应用的端口转发,这样再外面就用域名+端口 访问家里的应用。。。我一直没搞懂ipv6到底怎么玩。。。。....
校验提示文案
校验提示文案
校验提示文案
像之前用蒲公英 我在192.168.11.X局域网的所有终端都和192.168.21.X局域网的终端互相访问通讯。。。但是zerotie好像不行啊?这玩意到底怎么玩啊。
然后我想知道 你们天天张口闭口提的ipv6是怎么玩?我电信公网IP开通了,公网IPV4和IPV6都有,路由器也开启了IPV6 然后怎么玩呢?怎么玩?像我搞内网穿透,
就是路由器DDNS绑定了花生壳域名+开启对应应用的端口转发,这样再外面就用域名+端口 访问家里的应用。。。我一直没搞懂ipv6到底怎么玩。。。。....
校验提示文案
1.用 zerotier 组网的过程(不包括中继转发),是否需要依赖它官方提供的服务?因为我看到你的教程里提到了要在它官网创建账号登录它的后台进行操作,所以如果这家公司倒闭了或者关闭这项服务了,是不是这个穿透方案就彻底废了?
2.手机要想连接 NAT 后面的服务器,手机端是否需要在后台常驻 zerotier 连接进程?
校验提示文案
校验提示文案
校验提示文案
校验提示文案
校验提示文案
校验提示文案
校验提示文案
校验提示文案
校验提示文案
校验提示文案
校验提示文案
校验提示文案
校验提示文案
校验提示文案
校验提示文案
校验提示文案
校验提示文案
校验提示文案
校验提示文案