介绍
要想远程访问没有公网IP的主机,第三方软件速度慢还收费,而 Zerotier 则提供了一种简单、方便的解决方案。
其通过在每个主机上安装 Zerotier 客户端,将这些主机连接到一个 Zerotier 网络中。
每个主机在 Zerotier 网络中都有一个唯一的 IP 地址,通过这个 IP 地址,就可以实现远程访问。
与传统 VPN 等方案不同的是,Zerotier 不需要配置复杂的路由表,也不需要在每个主机上配置静态路由。
两个客户端相连时,会首先尝试直接连接,失败后再尝试通过 Moon 节点连接。
安装
- 官网注册账号+创建网络
- 登录主机,安装 Zerotier 客户端
Windows 直接下载安装包,Linux 执行脚本curl -s https://install.zerotier.com | sudo bash
- 加入网络
sudo zerotier-cli join <网络ID>
- 进官网授权网络,获得客户端局域网IP地址
- 各局域网之间可以直接访问
代理加速
官方根服务器都在海外,国内用户连接延迟很高。自建一个位于国内云服务器(VPS)上的 Moon 作为中转站,可以极大改善国内节点的连接状况。
- 安装Zerotier并加入网络
- 官网授权Moon节点,选择不分配ip地址
- Moon节点执行脚本
cd /var/lib/zerotier-one sudo zerotier-idtool initmoon identity.public > moon.json
- 编辑 moon.json,修改地址,节点放行端口
"stableEndpoints": [ "123.123.123.123/9993" ]
- 生成最终的 Moon 配置文件
# 生成配置文件 sudo zerotier-idtool genmoon moon.json sudo mkdir -p /var/lib/zerotier-one/moons.d # 000000xxxxxx 为 Moon 节点的 ID,第一行命令生成的文件 sudo cp 000000xxxxxx.moon /var/lib/zerotier-one/moons.d/ # 重启服务 sudo systemctl restart zerotier-one # 开机自启 sudo systemctl enable zerotier-one
- 客户端添加Moon节点,<Moon节点ID> 为 10位16进制的数字,是唯一标识
sudo zerotier-cli orbit <moon-id> <moon-id>
常用命令
# 查看网络信息
zerotier-cli info
# 列出所有节点
zerotier-cli listpeers
# 列出所有 Moon 节点
zerotier-cli listmoons
# 加入网络
zerotier-cli join <网络ID>
# 离开网络
zerotier-cli leave <网络ID>
# 加入Moon
zerotier-cli orbit <MoonID> <MoonID>
# 离开Moon
zerotier-cli deorbit <MoonID>