前言
记录 Zerotier 配置 moon 过程,防止忘记。
服务器配置
准备中转服务器
尽量选用离自己距离较近的服务器。
服务器安装 zerotier 客户端
命令行输入以下内容:
curl -s https://install.zerotier.com/ | sudo bash
安装成功后会显示 Success 字样,表示安装成功。
启动 zerotier 服务
命令行输入以下内容:
sudo systemctl start zerotier-one.service
sudo systemctl enable zerotier-one.service
启动成功后会显示 enable zerotier-one。
服务器加入 zerotier 网络
命令行输入以下内容:
sudo zerotier-cli join 你的网络ID
# 其中网络 ID 可在 zerotier 官网查看。
加入成功后会显示 200 join OK。
在 zerotier 管理界面将刚申请的设备前打勾,表示允许设备加入网络。
开放服务器端口
9993是zerotier 默认端口,服务器需要开放 UDP:9993 端口。
配置 moon 节点
生成 moon 文件:
cd /var/lib/zerotier-one
sudo zerotier-idtool initmoon identity.public > moon.json
编辑 moon.json 文件:
sudo vi moon.json
将 stableEndpoints
修改为服务器的 IP 地址:
"stableEndpoints": ["服务器IP地址/9993"]
然后保存退出。
生成签名文件
命令行执行如下命令:
sudo zerotier-idtool genmoon moon.json
显示如下内容,表示执行成功:wrote 000000xxxxxxx.moon (signed world with timestamp xxxxxxxx)
moon 节点加入网络
执行以下命令:
sudo mkdir moons.d
sudo mv 000000xxxxxxx.moon moons.d/
然后重启服务器 zerotier:
sudo systemctl restart zerotier-one
客户端配置
Windows 配置
- 快捷键
Win+R
,输入services.msc
,启动服务程序; - 找到 ZeroTier One 服务程序,右键属性找到可执行文件路径;
- 在可执行路径下创建 moons.d 文件夹,并将服务器生成的 ;000000xxxxxxx.moon 拷贝到该文件夹下;
- 打开命令行运行:zerotier-cli orbit b8cdf1fe5d b8cdf1fe5d
- 然后再重启 ZeroTier One 程序;
- cmd 执行
zerotier-cli listpeers
,若出现服务器 IP,即表示 moon 连接成功。
第三部提示无权限:点文件夹“属性 - 安全 - 高级”看看“所有者”栏如果是 SYSTEM 的话,
点“更改”,
“对象名称”栏输入“Administrators”点“检查名称 - 确定 - 确定”
出来后,点中间的“编辑”
点“添加”,
“对象名称”栏输入“Administrators”点“检查名称 - 确定”
上方选中“Administrators”、下方在“完全控制”行勾上“允许”
然后一路“确定”保存
OpenWrt 配置
因为 OpenWrt var 目录是一个内存虚拟的临时目录,重启后原有配置不会保留。
- ssh 连接 OpenWrt,执行命令
vi /etc/init.d/zerotier
,在add_join() {
上方插入两行代码:
mkdir -p $CONFIG_PATH/moons.d
cp /root/moons.d/* $CONFIG_PATH/moons.d/
- 修改完成后在 /root 目录下创建 moons.d 文件夹,并将 000000xxxxxxx.moon 上传到该文件夹下,然后在 Web 界面重启 Zerotier 即可。