Zerotier官网注册
进入my.zerotier.com注册账号,免费提供25个节点的内网连接。默认由公共PLANET节点提供点对点P2P的连接服务,但是由于PLANET节点都在国外,所以当PLANET节点连接不上时可能会由连接问题,因此需要一个国内公网IP的服务里作为MOON节点,让我们的节点可以随时连接。
创建网络之后在主页可以看到NETWORK ID是一段16位的随机数,后续让节点加入网络时会用到。
Alibaba Cloud Linux安装Zerotier
curl -s https://install.zerotier.com | sudo bash
因为Alibaba默认的Linux发行版为Alinux,在安装Zerotier时会失败:
*** ZeroTier Service Quick Install for Unix-like Systems
*** Tested OSes / distributions:
*** MacOS (10.13+) (just installs ZeroTier One.pkg)
*** Debian Linux (7+)
*** RedHat/CentOS Linux (6+)
*** Fedora Linux (16+)
*** SuSE Linux (12+)
*** Mint Linux (20+)
*** Kali Linux (2024.1+)
*** Supported architectures vary by OS / distribution. We try to support
*** every system architecture supported by the target.
*** Please report problems by opening a GitHub issue or Pull Request at:
*** https://github.com/zerotier/install.zerotier.com
*** Please include the content of `/etc/os-release` for your distribution.
*** Detecting Linux Distribution
*** Unknown or unsupported distribution! Aborting.
解决方法:修改文件 /etc/os-release
:
NAME="Alibaba Cloud Linux"
VERSION="3 (OpenAnolis Edition)"
ID="centos"
ID_LIKE="rhel fedora centos anolis"
VERSION_ID="3"
VARIANT="OpenAnolis Edition"
VARIANT_ID="openanolis"
ALINUX_MINOR_ID="2104"
ALINUX_UPDATE_ID="10"
PLATFORM_ID="platform:al8"
PRETTY_NAME="Alibaba Cloud Linux 3.2104 U10 (OpenAnolis Edition)"
ANSI_COLOR="0;31"
HOME_URL="https://www.aliyun.com/"
将ID从ALinux改成Centos,此时可顺利安装Zerotier,同时节点加入Zerotier的NETWORK。
curl -s https://install.zerotier.com | sudo bash
sudo zerotier-cli join 363c************
Authorize 节点
再登陆Zerotier官网并且选择网络,点击出现的节点,并通过验证。
配置moon节点
其他节点通过上述步骤就已经加入了网络,MOON节点还需要做一些配置。
cd /var/lib/zerotier-one/
sudo zerotier-idtool initmoon identity.public >> moon.json
sudo vim moon.json
将配置文件moon.json
中的"stableEndpoints": []
修改成 "stableEndpoints" : ["xxx.xxx.xxx.xxx/9993"]
,其中xxx是云主机的ipv4地址,然后去阿里云后台打开9993端口。
然后继续运行
sudo zerotier-idtool genmoon moon.json
sudo mkdir moons.d
mv 000xxxx.moon moons.d/.
其中000xxxx.moon是刚刚生成的.moon文件的文件名,最后重启服务,MOON节点就配置好了。
systemctl restart zerotier-one
配置其他节点
为了让其他节点orbit该MOON节点,需要在其他LEAF节点配置
zerotier-cli orbit <moonid> <moonid>
其中MOON ID为MOON节点上zerotier-cli info
出来的10位字符串,其中第一个MOON ID是世界 ID,第二个是LEAF节点去MOON ID获取的世界信息,因此需要一个有公网IP的服务器来做MOON节点。
最后在所有其他节点都成功“orbit”该MOON节点之后,可以试一下命令zerotier-cli listpeers
,来显示构建的MOON和LEAF信息。
之后就可以直接将各个节点的IP当作内网IP使用了。