ZeroTier是一套使用UDP协议构建的SD-WAN网络软件,其主要有三部分组成:行星服务器Planet、月亮服务器Moon、客户端节点LEFA
行星服务器是ZeroTier的根节点,可以采用ZeroTier官方的服务器,也可以使用开源代码自行搭建
月亮服务器介于行星与客户端之间,官方行星都在国外,因此可以就近公网搭建月亮服务器,客户端可以优先使用延迟更低的月亮节点进行P2P打通或者网络中转
客户端节点既可以安装在客户端进行远程网络接入,也可以部署后开启路由转发功能,配置静态路由后实现两个网络组网
一、配置ZeroTier网络
注册并登录官网
https://www.zerotier.com/
创建一个网络
NetworkID是此网络的唯一ID
PRIVATE模式下需要管理员同意后才能进入网络
PUBLIC模式下可以自由加入、退出
创建内网IPV4网段,不可与现有网络网段冲突
可以配置静态路由条目,如使用B类内网网段,则可以将172.16.0.0/12的路由整体指向目标IP
勾选后的客户端才能加入网络,配置固定IP,即可互访
二、安装客户端
下载客户端
https://www.zerotier.com/download/
我这里使用的是win10,安装后加入上方创建的网络即可实现互联互通
Join New NetWork
三、配置Moon服务器
Moon需具有公网IP,我这里使用的是公网centos7 VPS
curl -s https://install.zerotier.com | sudo bash
安装后加入网络
zerotier-cli join xxxxxxxx
配置Moon服务
进入配置文件目录
cd /var/lib/zerotier-one/
生成签名文件
zerotier-idtool initmoon identity.public >>moon.json
编辑moon.json
文件
记录下月亮节点ID并配置IP和端口
"stableEndpoints": ["111.222.333.444/9993"]
生成签名文件
zerotier-idtool genmoon moon.json
显示:
Copy
wrote 0000006xxxxxxxxx.moon (signed world with timestamp 15xxxxxxxxxx7)
创建服务目录
mkdir /var/lib/zerotier-one/moons.d/
将生成的签名文件复制到moons.d
目录
cp 0000006xxxxxxxxx.moon /var/lib/zerotier-one/moons.d/
重启ZeroTier服务,月亮服务器搭建完成
systemctl restart zerotier-one
四、加入Moon
windows与linux操作相同,均需要使用命令行
zerotier-cli listpeers 查看当前节点
zerotier-cli join <network ID> 加入网络
zerotier-cli leave <network ID> 退出网络
zerotier-cli orbit <world ID> <world ID> 加入月亮节点
zerotier-cli deorbit <world ID> 退出月亮节点
五、开启路由转发、配置静态路由
windows开启内核转发
reg add HKLM\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters /v IPEnableRouter /D 1 /f
sc config RemoteAccess start= auto
sc start RemoteAccess
交换机配置静态路由
[H3C]ip route-static 192.168.191.0 24 172.16.21.120 description SD-WAN
完毕
此时内网任意一台主机都可以与客户端互通
评论