折腾笔记

折腾笔记

群晖zerotier进阶教程之部署根管理面板、zerotier moon服务器(linux、windows)

2022-08-17

前言

在上篇教程群晖异地组网-ZeroTier搭建使用指南(全平台异地组网)
中写到了如何利用zerotier异地组网远程访问NAS、服务器等,但是因为zerotier的服务器在国外,在网络不顺畅的时候尤其是晚高峰会出现穿透失败的情况,本期教程我们将通过搭建两个服务zerotier管理面板和zerotier-moon中转服务器,来增强zerotier的使用体验。

前期准备

前期准备是购买服务器、重装系统重置密码、部署docker环境等,如果已经有docker相关环境的请直接跳转到安装步骤即可,公网IP服务器最好是国内的、延迟更低,虽然带宽不大,但是一般管理足够用了,另外zerotier如果能直连成功以后流量不走中装服务器(腾讯阿里轻量云即可,一般新用户一年几十块,在我已经写的正在写的和以后要写的教程中经常会用到,折腾么几十块不贵的)

1、首先在新购买的服务器中重装系统为centos7.6。

image-1661227336420

2、 重置服务器root密码。

ssh重置密码

4、 使用SSH工具登陆云服务器,这里我是用的工具是FinalShelll。

image-1660135838573

5、使用一键脚本安装docker服务

curl -fsSL https://get.docker.com | bash -s docker --mirror Aliyun

image-1661228642560

6、docker安装过程比较慢,请耐性等待,安装完成以后输入docker -v可以看到docker版本。

image-1661228698350

7、环境部署完成。

管理面板部署

在设备加入到zerotier后,我们需要登录zerotier的官方来进行授权,但是受限于网络问题,这一步在某些网络不顺畅的时候体验很不好,本面板的作用就是更方便的管理、授权和创建网络ID。

1、首先我们部署zerotier的管理面板,直接复制下面的命令粘贴到SSH工具中即可。

docker run --restart=on-failure:3 -d --name ztncui -e HTTP_PORT=4000 -e HTTP_ALL_INTERFACES=yes -e ZTNCUI_PASSWD=mrdoc.fun -p 4000:4000 keynetworks/ztncui

image-1661231429825

PS:如果命令时候提示如下报错,请重启docker服务:systemctl start docker

image-1661231546468

2、登录腾讯云服务器控制面板,在防火墙中放行【4000】端口。

image-1661231637014

3、使用浏览器访问服务器IP:4000端口(152.136.119.20:4000),可以访问到面板服务。

image-1661231737018

管理面板初始化

1、点击面板右上角的登录(Login)使用默认的用户名和密码登录,登录以后请按照提示修改密码。

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

image-1661232107552

2、使用修改的密码登录面板点击最右侧的Add netword然后自定义网络名称,点击Create Network创建网络。

image-1661232446570

3、网络创建成功,点击Easy setup设置默认的局域网IP(就是给加入的设备分配的ip,后续我们会使用分配的ip进行相互之间的访问)

image-1661232735302

4、这里我使用自动创建,有需要的可以根据需求修改,然后点击提交(Submit)。

image-1661234170997

5、在有设备加入的时候点击Networks→members,在相关的设备中打上勾即可。

image-1661234021463

6、稍等2s,既可以成功看到分配的局域网ip,在其他设备访问此设备的时候使用此ip即可。

7、面板初始化完毕,使用面板可以非常流畅便捷的访问、创建和授权zerotier网络。

群晖、windows、linux等终端端加入zerotier网络

请查看zeotier教程一中的相关步骤
群晖异地组网-ZeroTier搭建使用指南(全平台异地组网)

zerotier moon搭建

zerotier Moon - 就是本文要做的私有服务器,英文是这样说的“user-defined set of roots”,就是用户自定义的根服务器,又叫月亮。
为什么要搭建moon服务?
的官方服务器在国外,国内客户端使用时延迟较大,网络高峰期时甚至各个客户端节点之间访问不了。此时 moon中转服务器就显得非常重要,它的主要功能是通过自定义的服务器作为跳板加速内网机器之间的互相访问,如果无法进行穿透那么moon服务器将作为中转服务器。(moon介绍部分内容引用网络)

1、搭建moon服务器需要使用服务器的TCP:9993/3180端口,其中9993还需要UDP协议进行P2P直连,登录腾讯云面板在防火墙中依此放开这些端口。

image-1661233684781

2、搭建moon服务器继续使用docker,使用SSH工具登录服务器,输入下面命令搭建,请将 [公网ipx.x.x.x]修改为自己服务器的ip。

#创建容器
docker run --name zerotier-moon -d -p 9993:9993 -p 9993:9993/udp -v /etc/ztconf/:/var/lib/zerotier-one jonnyan404/zerotier-moon -4 [公网ipx.x.x.x]

image-1661234588838

3、使用如下命令查看moon ID

docker logs zerotier-moon

image-1661234652913

各终端加入zerotier moon方法

windows终端加入moon服务器

cd C:\ProgramData\ZeroTier\One

zerotier-cli orbit [moon_id] [moon_id]

image-1661235030272

linux终端加入moon服务器

3、使用下面的命令加入moon服务器。

zerotier-cli orbit [moon_ID] [moon_ID]

image-1661161078719

4、确认是否加入

zerotier-cli listpeers 

image-1661235380436

移动端

安卓端目前有魔改的zerotier客户端有需求的请自行搜索,因为目前手中还没有相关设备暂时无法演示。

ios端暂时不支持,如果有解决办法的,欢迎在评论区讨论。

补充

本文中的代码和节点服务器ip为测试ip,为了更好的给大家演示没有打码,请大家在实际部署中要注意信息安全,、千万不要泄露、千万不要泄露、千万不要泄露。zerotier 根管理面板和moon服务器可以极大降低网络环境对穿透、中转速度的影响,大大提高使用体验,有这方面需求的非常推荐部署。文中部分代码参考了某站司波图大佬的视频教程,有需求的可以去看看,本篇教程结束,咱们下一篇见。