zerotier虚拟内网解决方案

zerotier是一款“打洞”工具,可以将不同的主机编排到一个虚拟内网中进行管理。

步骤

  1. zerotier官网:ZeroTier Central 注册账号并创建网络,得到一个16位的网络id。

  2. 在想要接入网络的主机上安装zerotier-cli,然后连接网络。

    linux: curl -s https://install.zerotier.com | sudo bash。如果安装失败,则需要去github页面下载源代码编译安装。需要g++和Rust cargo支持编译。安装cargo:curl https://sh.rustup.rs -sSf | sh

  3. 在zerotier管理页面批准网络接入申请,自动为设备分配ip地址,也可以手动更改ip地址

如果使用官网脚本安装,会自动创建service,可以将这个服务enable

如果编译安装,没有相应的服务,需要使用zerotier-one -d 自己启动。可以自己创建服务。

安装提示

可以先在 [Download – ZeroTier](Download – ZeroTier) 查看有无自己操作系统对应的安装教程和脚本,如果有了直接运行脚本或下载压缩包安装即可。

如果是比较特殊的操作系统(例如arm64的openeuler系统),需要自己编译安装。下面是编译安装指南。

首先需要安装编译工具,zerotier源代码需要gcc-c++和cargo来帮助编译。

yum install gcc-c++ git
# 使用yum只能安装老版本的Cargo,应使用官方脚本安装Cargo
curl https://sh.rustup.rs -sSf | sh
$HOME/.cargo/env

下载源代码包并解压。在官方github下载:[zerotier/ZeroTierOne: A Smart Ethernet Switch for Earth (github.com)](zerotier/ZeroTierOne: A Smart Ethernet Switch for Earth (github.com))

编译安装的过程中需要访问github拉取其他项目安装,需要fq下载。可以通过安装clash premium版本来实现,这里不赘述。

最后,编译安装:

make
make install