zerotier简介
ZeroTier is a smart Ethernet switch for planet Earth.
通俗来讲就是 Peer to Peer (P2P) ,ZeroTier 根服务器记录请求路径来做类似于 DNS 的解析。主要功能,就是可以把多个不同网络的设备连接在一起,用来就像在一个局域网下
Zerotier专业名词
PLANET 行星服务器,Zerotier 根服务器
MOON 卫星服务器,用户自建的私有根服务器,起到代理加速的作用
LEAF 网络客户端,就是每台连接到网络节点。
安装并使用zerotier
- Network-ID在zerotier注册用户并创建后得到
curl-s https://install.zerotier.com/ | sudo bash
zerotier-cli join [Your Network-ID]
moon作用
建立中转服务器 moon Zerotier 的官方服务器在国外,国内客户端使用时延迟较大,网络高峰期时甚至各个客户端节点之间访问不了。此时 moon 中转服务器就显得非常重要,它的主要功能是通过自定义的服务器作为跳板加速内网机器之间的互相访问
moon官网说明
https://docs.zerotier.com/zerotier/moons
配置moon服务器
curl -s https://install.zerotier.com/ | sudo bash
cd /var/lib/zerotier-one
sudo zerotier-idtool initmoon identity.public > moon.json
# 记录 moon.json中id,后续使用
vim moon.json
# 9993默认端口, 需开放
"stableEndpoints": [ "本机公网ip/9993"]
zerotier-idtool genmoon moon.json
mkdir /var/lib/zerotier-one/moons.d
mv 000000eb0a810000.moon /var/lib/zerotier-one/moons.d
firewall-cmd --zone=public --add-port=9993/udp --permanent
firewall-cmd --reload
# restart zerotier
service zerotier-one restart
/etc/init.d/zerotier-one restart
service zerotier-one start
zerotier-one -d
配置moon节点,连接moon服务器
各个系统平台下 ZeroTier 目录位置
- Windows: C:\ProgramData\ZeroTier\One
- Macintosh: /Library/Application Support/ZeroTier/One (在 Terminal 中应为 /Library/Application\ Support/ZeroTier/One)
- Linux: /var/lib/zerotier-one
- FreeBSD/OpenBSD: /var/db/zerotier-one
配置修改
cd config_dir_above
mkdir moons.d
sudo scp root@1.2.3.4:/var/lib/zerotier-one/moons.d/000000eb0a810000.moon .
# restart zerotier
# windows 重启 zerotier one服务
# linux
systemctl restart zerotier-one
# mac 重启软件或者杀死zerotier-one进程(自动重启)
# 连接 moon(所有平台一致), eb0a8155c2 即上文moon.json中的id
zerotier-cli orbit eb0a8155c2 eb0a8155c2
# 断开连接
sudo zerotier-cli deorbit eb0a8155c2
开机自动加入 zerotier 网络
sudo touch /etc/rc.local
sudo chmod +x /etc/rc.local
sudo vim /etc/rc.local
zerotier-cli join [Your Network-ID]
验证
- 出现moon服务器,且显示ip
sudo zerotier-cli listpeers