ZeroTier在Linux下实现内网穿透及搭建moon服务器

Mapleiiiii 2024-07-24 08:07:02 阅读 58

一、ZeroTier官网注册账号

1. 注册简单,这里直接使用谷歌账号注册,登录后直接有创建好的网络

image.png

2. 记住这个Network ID

3. 点进去会有内网穿透相关信息

image.png

4. Settings中可以选内网的ip信息,随便选

image.png

5. Members中有到ZeroTier的设备信息

Address是每个设备的编号

Name/Description可以添加设备描述

Managed IPs在添加设备后会自动在第4步选的ip网段中分配一个

Physical IP是设备的实际ip地址

image.png

二、在Linux上安装Zerotier

1. 在Linux上安装有两种方式,一种是apt-get直接安装,一种是使用官方提供的脚本

apt-get直接安装

安装命令<code>sudo apt-get install zerotier-one运行Zerotier服务sudo systemctl start zerotier-one 加入Zerotier网络组,此处的NETWORK_ID为第一步中记住的NETWORK_IDsudo zerotier-cli join NETWORK_ID

使用官方脚本安装

安装命令curl -s https://install.zerotier.com | sudo bash运行Zerotier服务sudo systemctl start zerotier-one 加入Zerotier网络组,此处的NETWORK_ID为第一步中记住的NETWORK_IDsudo zerotier-cli join NETWORK_ID

安装完成后会有Success出现,记住这行末尾中括号内的设备号

join加入成功后有200 join ok显示

image.png

2. 设备上安装并加入zerotier后,在第一步的Members中可以看到加入的设备

Auth处勾选,小扳手处勾选Allow Ethernet Bridging选项,会自动分配内网ip地址,加入多台设备后就实现了内网穿透和异地组网,相互之间可以通过这个分配的ip来访问

image.png

三、搭建moon服务器作为zerotier跳板

zerotier服务器节点不稳定,官方推荐使用moon服务器作为跳板加速访问

1. 注册有公网ip的云服务器,这里使用Microsoft Azure云服务器,免费使用12个月

2. 安装Ubuntu系统,在云服务器上也执行第二步,安装好zerotier

3. 搭建moon服务器

进入zerotier-one安装目录默认是/var/lib/zerotier-one

<code>cd /var/lib/zerotier-one

生成 moon.json 配置文件

zerotier-idtool initmoon identity.public >> moon.json

编辑 moon.json 配置文件

vim moon.json

在配置文件中的"stableEndpoints": []中写入云服务器公网ip/9993写好后需要在云服务器上放行9993端口流量,下图后一个9993端口是ipv6地址,可以不写

image.png

创建moon文件

输入<code>zerotier-idtool genmoon moon.json后会生成一个000000xxxxxxxxxx.moon的moon文件,xxx为安装zerotier时的设备号

新建moons.d文件将生成的000000xxxxxxxxxx.moon文件移动进去

mkdir moons.d

mv 000000xxxxxxxxxx.moon moons.d

重启 zerotier-one 服务

systemctl restart zerotier-one

重启zerotier后就搭建好了moon服务器,需要记住moon服务器安装zerotier时的设备号,忘记了可以zerotier-cli info查询,200 info xxx 1.14.0 ONLINE,xxx即为设备号

4. 在其他设备上安装zerotier并加入moon服务器的节点

Linux安装zerotier如第二步所示,也需要join加入zerotier网络组,通过下面的命令加入moon服务器节点,deadbeef00为刚刚记住的moon服务器安装zerotier时的设备号,需要输入两次,空格隔开

zerotier-cli orbit deadbeef00 deadbeef00

使用命令列出所有节点信息 查看是否显示有moon节点,如果有标明搭建成功

zerotier-cli peers

image.png

Windows下在官网下载zerotier安装包安装zerotier

安装后以管理员身份打开 PowerShell,<code>zerotier-cli join NETWORK_ID加入网络组

同样输入zerotier-cli orbit deadbeef00 deadbeef00加入moon服务器节点

zerotier-cli peers查看是否显示有moon节点

5. 全部设备接入zerotier和moon后,尝试相互ping,ping通说明组网完成

组网完成后仅有100ms的延迟

image.png

6. 如果输入<code>zerotier-cli peers后没有显示moon节点,需要打开zerotier客户端如下设置

参考博客



声明

本文内容仅代表作者观点,或转载于其他网站,本站不以此文作为商业用途
如有涉及侵权,请联系本站进行删除
转载本站原创文章,请注明来源及作者。