ZeroTier的安装和使用

ZeroTier的安装和使用
一、注册zerotier账号
**打开网站:**https://my.zerotier.com/
 
 
 
 
得到创建好的“NETWORK ID”。
二、安装客户端
2.1 第一台设备:我的笔记本电脑
**下载:**https://www.zerotier.com/download/
安装完成后,在开始屏幕可以看到
 
双击打开,然后打开桌面右下角图标
 
加入网络,填写在官网创建的网络号
 
勾选认证框,打钩代表认证通过
 
2.2 第二台设备:我的家庭服务器
执行安装命令
curl -s https://install.zerotier.com | sudo bash
root@chq-ubuntu:~# curl -s https://install.zerotier.com | sudo bash
*** ZeroTier Service Quick Install for Unix-like Systems
.......
*** Success! You are ZeroTier address [ 4b5******* ].
root@chq-ubuntu:~# root@chq-ubuntu:~# zerotier-cli join c7c8172af1c65a81
200 join OK
root@chq-ubuntu:~# 
ZeroTier One version 1.10.6 build 0 (platform 1 arch 2)
Copyright (c) 2020 ZeroTier, Inc.
Licensed under the ZeroTier BSL 1.1 (see LICENSE.txt)
Usage: zerotier-cli [-switches] <command/path> [<args>]
Available switches:
-h                      - Display this help
-v                      - Show version
-j                      - Display full raw JSON output
-D<path>                - ZeroTier home path for parameter auto-detect
-p<port>                - HTTP port (default: auto)
-T<token>               - Authentication token (default: auto)
Available commands:
info                    - Display status info
listpeers               - List all peers
peers                   - List all peers (prettier)
listnetworks            - List all networks
join <network ID>          - Join a network
leave <network ID>         - Leave a network
set <network ID> <setting> - Set a network setting
get <network ID> <setting> - Get a network setting
listmoons               - List moons (federated root sets)
orbit <world ID> <seed> - Join a moon via any member root
deorbit <world ID>      - Leave a moon
dump                    - Debug settings dump for support
Available settings:
Settings to use with [get/set] may include property names from 
the JSON output of "zerotier-cli -j listnetworks". Additionally, 
(ip, ip4, ip6, ip6plane, and ip6prefix can be used). For instance:
zerotier-cli get <network ID> ip6plane will return the 6PLANE address
assigned to this node.
root@chq-ubuntu:~# 
加入网络
root@chq-ubuntu:~# zerotier-cli join c7cxxxxxxxx
200 join OK
root@chq-ubuntu:~# 
勾选使其通过授权
 
列出加入的服务器
root@chq-ubuntu:~# zerotier-cli listnetworks
200 listnetworks <nwid> <name> <mac> <status> <type> <dev> <ZT assigned ips>
200 listnetworks c7c817xxxxxx serene_engressia 82:11:xxxx OK PRIVATE ztxxx 172.xxxx/16
root@chq-ubuntu:~# 
其他命令
zerotier-cli join Network ID  --加入网络
zerotier-cli leave Network ID  --离开网络
zerotier-cli listnetworks  --列出网络状态
2.3 局域网组建成功
左边是“局域网固定ip”,右边是“机器真实ip”
 
ping一下是通的
 
三、搭建自己的Moon节点
3.1 服务端(推荐使用docker容器,更简单)
登陆自己的云服务器(我用的腾讯的),执行安装命令
curl -s https://install.zerotier.com | sudo bash
打开目录“ /var/lib/zerotier-one ”
cd /var/lib/zerotier-one
构建moon.json
zerotier-idtool initmoon identity.public >>moon.json
修改moon.json,向stableEndpoints值中添加"自己的公网ip/9993"
(9993是端口,需要在云服务器的防火墙中放行该端口:****TCP和UDP)
cat moon.json
 
生成签名,得到“000000db3exxxx.moon”签名文件
sudo zerotier-idtool genmoon moon.json
移动签名文文件到moons.d目录
mkdir moons.d
mv 000000db3exxxx.moon moons.d/
重启服务
service zerotier-one restart
3.2 客户端
#linux
方式1:
执行命令
//加入moons
zerotier-cli orbit db3ef8xxxx db3ef8xxxx
//重启服务
service zerotier-one restart
方式2:
在/var/lib/zerotier-one目录下,创建moons.d文件夹,
cd /var/lib/zerotier-one
mkdir moons.d
将服务端的“000000db3exxxx.moon”移入客户端的moons.d文件夹下
重启服务
service zerotier-one restart
#windows
方式1:
执行命令
//加入moons
zerotier-cli orbit db3ef8xxxx db3ef8xxxx
方式2:
在C:\ProgramData\ZeroTier\One 目录下,创建moons.d文件夹,
将服务端的“000000db3exxxx.moon”移入客户端的moons.d文件夹下
打开任务管理器,重启“ZeroTier One”服务
#测试是否成功
使用“zerotier-cli listpeers”测试是否成功,MOON节点有ip才算成功。
 
以下可能解决MOON节点无ip的问题
(1)重启服务,多等一会儿
3.3 对比
3.3.1 无moon节点前
 
3.3.2 有moon节点后(延迟变低,且稳定)
 
四、参考文章
官方文档
https://zerotier.atlassian.net/wiki/spaces/SD/pages/8454145/Getting+Started+with+ZeroTier
安装
https://blog.csdn.net/fangzhenshi123/article/details/118973814
moon无ip
https://blog.csdn.net/yyywxk/article/details/104539560
