ZeroTier组网记录
校园网更新后,内网与TIB的机器访问不通,使用todesk体验极差,加上服务器直接开放端口到公网上,访问控制也比较麻烦,索性自己组个网好了,看了一圈以后,选择使用ZeroTier组网。
简介
ZeroTier 是一个智能以太网交换机。它是一个分布式网络管理程序,允许所有联网设备、VM、容器和应用程序跨越局域网和广域网组建虚拟网络进行通信。
这是通过将加密寻址和安全的对等网络(称为VL1)与有点类似于VXLAN的以太网仿真层(称为VL2)相结合来实现的。
所有ZeroTier流量都使用只有你能控制的密钥进行端到端加密。大多数流量都是点对点的,对于无法建立点对点连接的用户,官方提供免费但速度较慢的中继服务。
安装
官网提供了各个系统的安装包/安装脚本,参照官方网站详情即可。
下载地址:https://www.zerotier.com/download/
Linux需要启动并添加开机启动:
1 |
|
创建网络
进入ZeroTier Central,注册,登陆,创建网络,网络建议选择私有网络。
免费用户允许加入50个网络节点。
加入网络
复制ZeroTier Central中的网络id。
windows输入网络id直接添加,linux输入如下命令:
1 |
|
如果选择的是私有网络的话,需要在ZeroTier Central中允许节点访问。
这时候,私有网络就组建好了,测试下延迟,发现到自己服务器延迟高达1000ms+,丢包还十分严重,原因是无法直连,走ZeroTier官方服务器中继去了,在海外逛了一大圈再加上海外线路udp限速导致延迟和稳定性都很差。为了加速,还需要搭建中转服务器。
中转服务器(moon)搭建
我组建的私有网络中有两台服务器,于是乎都拿来搭建moon。
搭建moon的服务器需要先加入网络,然后运行:
1 |
|
然后编辑moon.json
,在 "stableEndpoints": []
中加入服务器的公网ip以及端口,如1.2.3.4/9993
(9993是默认端口,不建议更改),然后去阿里云/腾讯云防火墙放通9993端口的udp流量。
生成moon签名文件,将生成的.moon
文件放入moons.d
文件夹中,重启zerotier-one即可。
1 |
|
加入moon
加入moon有两种方式。
-
zerotier-cli
搭建moon服务器时,生成了一个
moon.json
,获取文件中的id
,如"id": "xxxxxxxxxx"
。在其他的机器上执行(
xxxxxxxxxx
要两遍):1
sudo zerotier-cli orbit xxxxxxxxxx xxxxxxxxxx
然后重启zerotier-one即可。
-
使用生成的配置文件
搭建moon服务器时,使用
moon.json
还生成了一个000000xxxxxxxxxx.moon
文件,下载.moon
文件。在zerotier-one安装目录下,创建
moons.d
目录,将000000xxxxxxxxxx.moon
放入,然后重启zerotier-one即可。Linux安装目录:/var/lib/zerotier-one/
Windows安装目录:C:\ProgramData\ZeroTier\One\
网络测试
加入moon后,通过私有网络访问服务器的延迟大幅度降低,中继也变成了直连(感觉之前大概是握手失败了?)。即使无法直连,走moon服务器中继的延迟和稳定性也要远比官方服务器好得多。
网络延迟测试: