放弃moon节点,直接搭建Zerotier根服务器

2021-12-09 11:08:07 145点赞 1440收藏 96评论

外网访问家庭局域网方案

随着NAS、软路由的普及,越来越多的人产生了外网访问家庭网络的需求。当前访问家庭网络的方案主要分为三类:

1.公网ip

这一类当然是最方便的,也是花费较少的方案。可以通过ip地址直接访问家庭网络,即使是变动的公网ip,也只需购买域名配置DDNS即可。但随着政策的加严,获取ipv4公网ip的渠道越来越少,之前寄托了很多希望的ipv6现在看来也存在诸多问题。

2.隧道穿透

这一类是通过一台具有公网ip的机器(通常是一台云服务器)作为中转,在这台机器与家庭局域网内的机器建立隧道,借由公网下的服务器作为跳板访问家庭网络。这一类服务有自建的,如Frp、NPS等,也有商家提供服务的,如SakuraFrp、DDNSTO等。

3.虚拟局域网

这一类更适合私人或小团体使用,其原理是建立一个虚拟的广域网,并为加入这个虚拟网络的设备分配一个虚拟的ip,并在这个广域网内通过虚拟ip互访。最知名的代表就是Zerotier,也是我今天所要介绍的

Zerotier的优缺点

通俗来讲就是 Peer to Peer (P2P) ,ZeroTier 根服务器记录请求路径来做类似于DNS的解析。主要功能,就是可以把多个不同网络的设备连接在一起,用来就像在一个局域网下 。

Zerotier的优点在于其部署十分简便,只需在zerotier官网注册登陆并创建网络,在自己的设备安装客户端加入网络后,zerotier就会自动分配虚拟ip,无需了解ip、端口等配置。

但很可惜,zerotier的根服务器都在国外,我们到zerotier服务器需要经过层层的NAT中转,这导致我们通过zerotier网络互访时不仅存在较大的延迟,而且在网络高峰段非常容易断连。

在之前,对于这种情况,我们的解决方案是在国内的服务器上搭建一个zerotier的moon中转节点,作为zerotier根服务器的代理加速,但加速效果有好有坏(有的人说速度很快,但我的中转就很慢),而且这种方式的一个问题就是,安卓端的手机无法加入moon节点。这个问题很快就被解决了,kaaass大佬做了一个ZerotierFix的app,相比于官方增加了可以加入moon节点的功能。

Zerotier-planet

虽然大佬的app解决了安卓客户端不能加入moon节点的问题,但moon节点的搭建以及客户端的配置仍然不是一个比较简单的过程,又要配置服务器端又要配置客户端,zerotier便捷性的优点就体现不出来了。

前段时间,小众软件推荐的一分钟自建 zerotier-planet 行星服务器吸引了我,简单浏览了一下,发现过程是真的很简单。jonnyan404大佬的这个项目是基于另一个项目ztncui优化而来,简单而言就是用docker部署一个独立的zerotier虚拟网络。部署这个项目的全部准备只有在你的公网服务器上安装好docker和docker-compose。

jonnyan404大佬已经写好了zerotier-planet的docker配置脚本,我们只需登陆服务器执行以下几个命令

1. 从gitee仓库下载docker配置文件

git clone https://gitee.com/Jonnyan404/zerotier-planet

2. 进入下载的项目文件夹

cd zerotier-planet

3. docker安装zerotier-planet,如果服务器是Ubuntu系统,记得命令前加上 sudo

docker-compose up -d

4. 然后就可以访问 http://ip:4000 访问web界面了(记得防火墙开放4000端口)

默认用户名:admin 默认密码:mrdoc.fun

建议登陆后立即创建新用户,并切换到新用户登陆,删除默认的admin账户,以保证安全

接下来的操作与官方版的zerotier没有太大区别了,这里新建一个虚拟网络test,ID是

119c41e47a8a0433

zerotier-planetzerotier-planet

Private: 设置对设备的访问控制权,默认勾选上

PrivatePrivate

Easy setup: 设置虚拟广域网段,可以自己设置

Easy setupEasy setup

Routes: 设置路由,一般就只有一个默认的路由(也就是刚刚设置的网段),稍后介绍它的扩展用法

RoutesRoutes

Assignment Pools: ip地址分配,你可以指定该网段下虚拟ip可供分配的范围

Assignment PoolsAssignment Pools

接下来,只要在自己的设备上安装zerotier的客户端,然后通过ID加入网络,就可以在该页面刷新出设备列表了,为新设备勾选Authorized即可分配虚拟的ip地址了。

ip分配ip分配

基于zerotier网络可以实现许多功能,例如windows端的远程桌面连接,ssh连接linux服务器,访问个人服务器上的博客

应用扩展-允许openwrt客户端自动NAT

尽管zerotier已经支持相当多的平台了,但仍有一些设备不受支持,比如我升级到DSM 7.0的小猫盘。为了让这些无法安装zerotier客户端的设备也加入到这个虚拟网络中,我们需要一个支持zerotier的openwrt路由器。以我的R2S为例

zerotier设置

1. 首先将R2S也加入虚拟网络,在openwrt后台管理中填入虚拟网络ID,并允许客户端NAT。

R2S-OpenwrtR2S-Openwrt

2. 设置虚拟网络路由

R2S-虚拟ipR2S-虚拟ip

我的R2S分到的虚拟ip为10.81.33.114,在Routes我们再新建一个路由

新建路由新建路由

我这里已经设置过了,Target应根据路由器的网段来决定,比如我的R2S局域网访问地址为192.168.2.1,则Target则应填192.168.2.0/24Gateway则填R2S分配到的虚拟ip,这里是10.81.33.114

openwrt设置

除了zerotier上的设置,还要对openwrt进行设置,使得流量可以通过虚拟广域网传播

新建zerotier接口新建zerotier接口

我们在openwrt 网络>接口 里新增一个zerotier接口,系统会为其分配一个zt开头的物理接口,我的是zt6xtbbu66。对该接口进行设置,传输协议选择静态地址ipv4地址填分配的虚拟ip,ipv4子网掩码是默认的225.225.225.0,在防火墙设置创建/分配防火墙区域选择lan

接着在 网络>防火墙 里自定义防火墙规则,增加以下规则

iptables -I FORWARD -i zt6xtbbu66 -j ACCEPT

iptables -I FORWARD -o zt6xtbbu66 -j ACCEPT

iptables -t nat -I POSTROUTING -o zt6xtbbu66 -j MASQUERADE

记得将zt6xtbbu66换成你自己对应的物理接口,重启防火墙

测试

这个时候,R2S下的设备应当已经加入zerotier广域网了,以我的小猫盘为例,在局域网下它的访问地址为192.168.2.147:5000,在安卓手机上通过ZerotierOne连接zerotier广域网,并断开WiFi,在浏览器中访问192.168.2.147:5000

小猫盘小猫盘

访问成功,表明小猫盘已经通过R2S接入到局域网了

作者声明本文无利益相关,欢迎值友理性交流,和谐讨论~

展开 收起

ihuman 洪恩 识字子集拼音思维ABC会员永久包3-6岁儿童早教启蒙礼物玩具 识字会员终身包

ihuman 洪恩 识字子集拼音思维ABC会员永久包3-6岁儿童早教启蒙礼物玩具 识字会员终身包

268元起

Microsoft 微软 OFFICE 365 家庭版 会员

Microsoft 微软 OFFICE 365 家庭版 会员

249元起

任天堂 Nintendo Switch《舞力全开 Just Dance》 游戏兑换卡

任天堂 Nintendo Switch《舞力全开 Just Dance》 游戏兑换卡

159元起

WPS 金山软件 WPS 超级会员 3年卡

WPS 金山软件 WPS 超级会员 3年卡

308元起

Microsoft 微软 Office 365 个人版

Microsoft 微软 Office 365 个人版

177元起

Microsoft 微软 到手18.2元/月 微软office365家庭版microsoft365增强版15个月

Microsoft 微软 到手18.2元/月 微软office365家庭版microsoft365增强版15个月

279元起

Microsoft 微软 OFFICE 365 个人版 办公软件

Microsoft 微软 OFFICE 365 个人版 办公软件

185元起

WPS超级会员Pro套餐4年卡1488天官方正版pdf转word排版

WPS超级会员Pro套餐4年卡1488天官方正版pdf转word排版

676.4元起

Microsoft 微软 office专业版永久激活码office2019增强版终身版outlook密钥

Microsoft 微软 office专业版永久激活码office2019增强版终身版outlook密钥

249元起

WPS超级会员4年套餐pdf转word排版PPT润色模板素材店铺

WPS超级会员4年套餐pdf转word排版PPT润色模板素材店铺

暂无报价

国行版 Switch体感游戏套装 《健身环大冒险》

国行版 Switch体感游戏套装 《健身环大冒险》

439元起

WPS 金山软件 会员季卡

WPS 金山软件 会员季卡

59.85元起

Microsoft 微软 办公软件 优惠商品

Microsoft 微软 办公软件 优惠商品

239元起

Microsoft 微软 365 家庭版 电子秘钥 正版高级Office应用 1T云存储

Microsoft 微软 365 家庭版 电子秘钥 正版高级Office应用 1T云存储

299元起

Microsoft 微软 活动6天 office365家庭版microsoft365订阅密钥

Microsoft 微软 活动6天 office365家庭版microsoft365订阅密钥

239元起

Microsoft 微软 office365家庭版15个月 203元

Microsoft 微软 office365家庭版15个月 203元

198元起
96评论

  • 精彩
  • 最新
  • 请问终端之间的访问流量需要经过zerotier-planet中转吗?

    校验提示文案

    提交
    不用,zerotier的连接是一种P2P的形式,根服务器在其中的作用主要是作为DNS服务器进行路径解析

    校验提示文案

    提交
    兄弟,不能一概而论啊,首先要搞清楚网络结构,如果要穿透的两边Symetric NAT对称型NAT的话,那么几乎100%就是靠行星服务器转发两端的流量,Symetric NAT几乎是没有办法实现点对点内网穿透的,其他另外三种nat网络还有可能 [狂汗]

    校验提示文案

    提交
    还有1条回复
    收起所有回复
  • 牵扯到公网就怕查水表。只要域名解析到群晖,不出半个月就收到北京电信提示短信,主旨就是非法使用网络,尽快整改,否则……怕了,搞的我还剩7年的域名不敢用

    校验提示文案

    提交
    因为国家禁止利用家庭宽带搭建网站

    校验提示文案

    提交
    买国外的域名解析就行了

    校验提示文案

    提交
    还有4条回复
    收起所有回复
  • 我之前是用moon的,退出moon后,现在按lz你的方法搭建后,listpeers显示我的vpn是leaf而不是planet

    校验提示文案

    提交
    能跟我讲下listpeers是什么吗?怎么用的?我只是拿别人的项目来用,但很多东西其实也不是很懂

    校验提示文案

    提交
    就是字面上的意思 列出所有的peers出来 然后显示的planet并没有自建的那个 你可以输入管理员运行cmd看看zerotier-cli listpeers是否有你自建的服务器在

    校验提示文案

    提交
    收起所有回复
  • 群晖可以这样搭建Zerotier-planet吗?

    校验提示文案

    提交
    可以,这个项目是基于docker的,只要你有公网IP并且你的群晖支持docker就行

    校验提示文案

    提交
    用这个的原因就是因为没有公网IP,有公网IP谁还用这些呢?

    校验提示文案

    提交
    还有6条回复
    收起所有回复
  • 那这个zerotier-planet,在移动端是不是就不需要使用zerotierfix app了?直接用官网的app就可以了?

    校验提示文案

    提交
    没错,可以用zerotierone直连

    校验提示文案

    提交
    手机客户端不需要额外设置吗?

    校验提示文案

    提交
    收起所有回复
  • 动态公网ip可以吗

    校验提示文案

    提交
    动态公网IP按理说应该也可以,但动态IP用ddns应该更方便些吧

    校验提示文案

    提交
    收起所有回复
  • 这个不用公网吗。

    校验提示文案

    提交
    需要的,所有的内网穿透都必须有一台具有公网IP的机器提供服务

    校验提示文案

    提交
    收起所有回复
  • 其实还是需要一个有ipv4公网的设备,不管是某个家庭宽带里的nas还是服务器。咳….这纯ipv6和v4不能无缝互访,这真是人类进步史的一个巨大障碍….

    校验提示文案

    提交
    我提供了一个基于zerotier开源软件二次开发的国内根服务器,使用腾讯云100M带宽服务器,提供固定公网ipv6地址分配,欢迎大家下载使用,下载地址去看看

    校验提示文案

    提交
    收起所有回复
  • 你这并不是搭建planet服务器,只是搭了个控制器,连的还是官方的planet服务器,唯一的作用就是解除网络数量限制而已,没一点用

    校验提示文案

    提交
    请问您有没有方式能加速握手呢?我自己搞moon节点总不成功

    校验提示文案

    提交
    是的 显示该节点还是一个leaf 而且速度也跟之前一样差丢包严重,除非打通直连

    校验提示文案

    提交
    还有1条回复
    收起所有回复
  • tailscale感觉更方便好用

    校验提示文案

    提交
  • 这只是一个面板可以解除50设备的限制和优化手机连接,不能提升中转速度, 想要VPS中转提速可以看看这篇文章去看看

    校验提示文案

    提交
    现在有用了,官方免费限制25台设备终端了,破解数量也有用了。没想到啊。

    校验提示文案

    提交
    收起所有回复
  • 昨天刚好实践完成,配合zoneminder完成可视频监控远程查看。

    校验提示文案

    提交
    zoneminder的安装教程有么?

    校验提示文案

    提交

    校验提示文案

    提交
    收起所有回复
  • iOS 还是无解啊

    校验提示文案

    提交
    iOS没有zerotier客户端嘛?

    校验提示文案

    提交
    有,改app store国外区

    校验提示文案

    提交
    收起所有回复
  • 请问我客户端怎么知道去连我这个公网的服务器而不是zerotier自己的官网呢?

    校验提示文案

    提交
    需要去官方注册同步一次数据的,但是不需要官方的根服务规划路由表啦

    校验提示文案

    提交
    收起所有回复
  • [得意] 看了下文章,真的很赞,正好解决目前用国外版zerotier的痛点,已关注希望多出好文章。

    校验提示文案

    提交
  • 还是要有一个VPS啊 [皱眉] [皱眉] ,腾讯云之类便宜的VPS带宽都太小了,看不了电影啥的

    校验提示文案

    提交
    vps只做寻路使用,只要有公网能够访问就可以了,一旦寻路成功就是p2p直连了。直连以后就看你这边服务器的上行速度了。

    校验提示文案

    提交
    收起所有回复
  • 同类产品,不过我用的是tailscale,下载后用微软账号登陆一下就ok了,感觉更简单一点。

    校验提示文案

    提交
  • 都这么搞了,frp不更方便

    校验提示文案

    提交
  • 看起来就是一个可视化的moon的作用?planet也不是根,而是在根上注册的分支,不然你的ID是识别不了的。my.zerotier.com背后才是根

    校验提示文案

    提交
    plant上面还有star,star上面还有galaxy(♡ ὅ ◡ ὅ )ʃ♡

    校验提示文案

    提交
    感觉moon就够了,用了半年,挻稳定的,moon点是用过墙梯vps做的

    校验提示文案

    提交
    还有1条回复
    收起所有回复
  • 请问终端之间的访问流量需要经过zerotier-planet中转吗?

    校验提示文案

    提交
    不用,zerotier就是个网络灯塔,给几个设备指明地址而已

    校验提示文案

    提交
    收起所有回复
提示信息

取消
确认
评论举报

相关好价推荐
查看更多好价

相关文章推荐

更多精彩文章
更多精彩文章
最新文章 热门文章
1.4K
扫一下,分享更方便,购买更轻松