目录
- 1.简介
- 1.1.基本概念
- 1.1.1.节点
- 1.它可以是:
- 2.每个节点都有以下特征:
- 3.节点的主要功能包括:
- 1.1.2.根服务器
- 1.定义:
- 2.功能:
- 3.特点:
- 4.角色:
- 5.安全性:
- 6.与普通节点的区别:
- 7.自托管选项:
- 1.1.3.节点网络控制器
- 1.定义:
- 2.主要功能:
- 3.部署选项:
- 4.与节点的交互:
- 5.安全性:
- 6.可扩展性:
- 7.API支持:
- 8.多网络支持:
- 9.与根服务器的区别:
- 2.ubuntu安装zerotier
- 2.1.在官网建立账号
- 2.2.安装
- 2.3.查看安装是否成功
- 2.4.加入网络
- 2.5.设备认证
- 2.6.查看设备加入网络是否成功
- 2.7.其他有用的网络命令
- 3.windows安装zerotier
- 3.1.安装
- 3.2.加入网络
- 3.4.查看设备加入网络是否成功
- 3.5.查看zerotier在windows平台上的虚拟网卡信息
- 4.使用moon加速
- 4.1.搭建moon
- 4.1.1.查看节点地址
- 4.1.2.moon服务器配置
- 4.2.ubuntu节点接入moon服务器
- 4.3.windows节点接入moon服务器
- 参考资料
1.简介
zerotier用于建立VPN.
1.1.基本概念
1.1.1.节点
在ZeroTier网络中,节点通常被称为"Node"或"Peer".节点(Node)是指ZeroTier网络中的任何设备或端点。
1.它可以是:
- 物理设备(如电脑、服务器、智能手机等)
- 虚拟机
- 容器
- 或任何能够运行ZeroTier软件的计算实例
2.每个节点都有以下特征:
- 唯一的10位节点ID(Node ID)
- 可以加入一个或多个ZeroTier网络
- 能够与同一ZeroTier网络中的其他节点直接通信
3.节点的主要功能包括:
- 加入和参与ZeroTier虚拟网络
- 与其他节点建立加密的点对点连接
- 在需要时通过TURN服务器进行NAT穿透
- 从网络控制器获取网络配置和路由信息
在ZeroTier的架构中,所有节点本质上都是对等的,不存在传统的客户端-服务器区分。每个节点都可以直接与网络中的其他节点通信,形成一个分布式的网状网络结构。 总之,节点(Node)是ZeroTier网络的基本组成单元,代表网络中的每一个参与设备或实例。
1.1.2.根服务器
在ZeroTier网络中,根服务器被称为"Root Servers"。它们在ZeroTier的基础设施中扮演着关键角色。以下是关于ZeroTier根服务器的一些重要信息:
1.定义:
根服务器是ZeroTier网络基础设施的核心组件,它们维护着全球ZeroTier网络的顶层结构。
2.功能:
- 提供全球节点定位服务
- 帮助新节点引导进入ZeroTier网络
- 协助NAT穿透和连接建立
- 分发网络成员资格和配置信息
3.特点:
- 公开可访问:根服务器的地址是公开的,所有ZeroTier节点都知道如何连接它们
- 分布式:为了提高可靠性和性能,根服务器分布在全球多个地理位置
- 高度可信:根服务器由ZeroTier公司直接运营和维护
4.角色:
- 引导:新节点首次加入ZeroTier网络时,会联系根服务器来获取初始网络信息
- 发现:帮助节点发现彼此,特别是在NAT后的节点
- 中继:在直接点对点连接无法建立时,可以作为中继帮助节点通信
5.安全性:
- 根服务器使用强加密和认证机制
- 它们不能访问网络内的实际数据流量,只处理元数据和网络管理信息
6.与普通节点的区别:
- 根服务器是基础设施的一部分,而不是用户网络的成员
- 它们有特殊的权限和责任,普通节点没有这些
7.自托管选项:
- ZeroTier允许高级用户设置自己的根服务器,这在企业环境或特殊网络配置中可能有用
理解根服务器对于深入了解ZeroTier的工作原理很重要。它们是使ZeroTier能够创建全球分布式虚拟网络的关键基础设施组件。
1.1.3.节点网络控制器
在ZeroTier中,网络控制器(Network Controller)是一个关键组件,负责管理和控制特定ZeroTier网络。以下是关于ZeroTier网络控制器的详细解释:
1.定义:
网络控制器是管理特定ZeroTier网络的服务器或服务。它负责网络配置、成员管理和权限控制。
2.主要功能:
a. 成员管理:
- 授权或拒绝节点加入网络
- 管理网络成员列表
b. 网络配置:
- 定义和分发网络规则和设置
- 管理IP地址分配
c. 路由管理:
- 配置和分发网络路由表
- 管理网络拓扑
d. 安全控制:
- 实施访问控制策略
- 管理加密密钥和证书
e. 监控和日志:
- 跟踪网络活动和连接状态
- 提供网络使用情况的统计数据
3.部署选项:
a. ZeroTier Central(托管服务):
- ZeroTier提供的云托管控制器
- 适用于大多数用户,易于使用和管理
b. 自托管控制器:
- 可以在自己的基础设施上运行
- 提供更多的控制和隐私,适合企业或高级用户
4.与节点的交互:
- 节点加入网络时,会向控制器请求授权和配置信息
- 控制器定期向节点推送更新的网络配置
5.安全性:
- 使用强加密保护通信
- 实施严格的身份验证机制
6.可扩展性:
- 能够管理从小型家庭网络到大型企业网络的各种规模
7.API支持:
- 提供API接口,允许自动化和与其他系统集成
8.多网络支持:
- 一个控制器可以管理多个独立的ZeroTier网络
9.与根服务器的区别:
- 根服务器是全局基础设施,而网络控制器是特定于单个ZeroTier网络的
网络控制器是ZeroTier架构中的一个核心组件,它使管理员能够精细控制网络行为、成员资格和安全策略。无论是使用ZeroTier Central还是自托管解决方案,网络控制器都为ZeroTier网络提供了必要的管理和控制功能。
2.ubuntu安装zerotier
2.1.在官网建立账号
官网:https://www.zerotier.com/,使用微软账号登录,新建一个虚拟局域网,保存好网络ID.
2.2.安装
sudo curl -s https://install.zerotier.com | sudo bash
2.3.查看安装是否成功
sudo zerotier-cli info
返回如下内容说明安装成功
200 info 1cc1d9db61 1.14.1 ONLINE
1cc1d9db61
为节点地址.
2.4.加入网络
登录zerotier官网,得到网络ID
2.5.设备认证
登录zerotier进行设备认证
根据设备节点地址找到对应设备,然后保证认证通过.例如1cc1d9db61
为刚才加入网络的设备.
2.6.查看设备加入网络是否成功
sudo zerotier-cli listnetworks
返回信息说明
200 listnetworks <nwid> <name> <mac> <status> <type> <dev> <ZT assigned ips>
200 listnetworks 363c67c55ab2181b yangnianlin 1a:04:73:83:1e:06 OK PRIVATE zt6ntnlxkb 10.147.20.76/24
#第一行说明每个字段的含义
363c67c55ab2181b: 私有网络ID
yangnianlin: 私有网络名称
1a:04:73:83:1e:06 : 设备节点MAC地址
OK:加入成功
PRIVATE:网络类型为私有网络
zt6ntnlxkb:为ubuntu上zerotier虚拟的网络接口,使用ifconfig可以列出
10.147.20.76/24: 为ubuntu上zerotier虚拟的网络接口的ip地址
2.7.其他有用的网络命令
#1.查看ip地址,可以列出ubuntu所有的网络接口
ip a
#2.查看ip地址,另一命令
ifconfig
现在这台ubuntu设备作为节点安装配置完成,可以在建立的私有网络中使用了.
3.windows安装zerotier
3.1.安装
在zerotier官网上下载windows平台的zerotier客户端,进行安装.
安装后找到zerotier客户端程序,并运行.
3.2.加入网络
在系统托盘区找到,加入新的网络即可
## 3.3.设备认证
和ubuntu操作相同.
3.4.查看设备加入网络是否成功
使用powershell运行以下命令
zerotier-cli.bat listnetworks
返回信息说明
200 listnetworks <nwid> <name> <mac> <status> <type> <dev> <ZT assigned ips>
200 listnetworks 363c67c55ab2181b yangnianlin 1a:0f:bb:d9:ac:68 OK PRIVATE ethernet_32774 10.147.20.235/24
#第一行说明每个字段的含义
363c67c55ab2181b: 私有网络ID
yangnianlin: 私有网络名称
1a:0f:bb:d9:ac:68 : 设备节点MAC地址
OK:加入成功
PRIVATE:网络类型为私有网络
ethernet_32774:为windows上zerotier虚拟的网络接口名称
10.147.20.235/24: 为windows上zerotier虚拟的网络接口的ip地址
3.5.查看zerotier在windows平台上的虚拟网卡信息
使用powershell运行以下命令
ipconfig /all
返回信息节选
Ethernet adapter ZeroTier One [363c67c55ab2181b]:
Connection-specific DNS Suffix . :
Description . . . . . . . . . . . : ZeroTier Virtual Port
Physical Address. . . . . . . . . : 1A-0F-BB-D9-AC-68
DHCP Enabled. . . . . . . . . . . : No
Autoconfiguration Enabled . . . . : Yes
Link-local IPv6 Address . . . . . : fe80::775a:2de9:cc02:67f1%14(Preferred)
IPv4 Address. . . . . . . . . . . : 10.147.20.235(Preferred)
Subnet Mask . . . . . . . . . . . : 255.255.255.0
Default Gateway . . . . . . . . . : 25.255.255.254
DHCPv6 IAID . . . . . . . . . . . : 689573819
DHCPv6 Client DUID. . . . . . . . : 00-01-00-01-2E-98-5D-FB-00-E0-4C-60-04-51
NetBIOS over Tcpip. . . . . . . . : Enabled
现在这台windows设备作为节点安装配置完成,可以在建立的私有网络中使用了.
4.使用moon加速
使用发现zerotier很慢,影响日常使用.可以使用moon进行加速.加速需要使用公网一个设备节点,这里使用腾讯云虚拟机主机进行加速的,在活动优惠期间话费79元/年租赁了一台云主机.
4.1.搭建moon
4.1.1.查看节点地址
登录到腾讯云虚拟主机,安装zerotier并加入网络,记录下节点地址:
sudo zerotier-cli info
返回信息
200 info 5b579f0b2e 1.14.0 ONLINE
5b579f0b2e
是腾讯虚拟主机的zerotier设备节点地址.
4.1.2.moon服务器配置
cd /var/lib/zerotier-one/
sudo zerotier-idtool initmoon identity.public >> moon.json
sudo vim moon.json
#将配置文件中的 "stableEndpoints": [] 修改成 "stableEndpoints": ["ServerIP/9993"],将 ServerIP 替换成云服务器的公网IP。
#生成 .moon 签名文件
sudo zerotier-idtool genmoon moon.json
#将生成的 000000xxxxxxxxxx.moon 移动到 moons.d 目录
sudo systemctl restart zerotier-one.service
4.2.ubuntu节点接入moon服务器
sudo zerotier-cli orbit 5b579f0b2e 5b579f0b2e
#5b579f0b2e: moon服务器的节点地址
查看是否生效
sudo zerotier-cli listpeers
返回信息
200 listpeers <ztaddr> <path> <latency> <version> <role>
200 listpeers 02f3bc1c7f 192.168.2.220/9993;4846;17878 55 1.14.1 LEAF
200 listpeers 170983690f 192.168.56.1/21801;2813;2806 61 1.14.0 LEAF
200 listpeers 363c67c55a 35.206.119.108/21043;2813;6281 -1 1.14.1 LEAF
200 listpeers 5b579f0b2e 122.51.253.179/9993;2813;2797 38 1.14.0 MOON
200 listpeers 778cde7190 103.195.103.66/9993;2813;17645 310 - PLANET
200 listpeers cafe04eba9 84.17.53.155/9993;2813;17634 284 - PLANET
200 listpeers cafe9ccda7 66.90.98.98/9993;2813;17560 373 - PLANET
200 listpeers cafe9efeb9 104.194.8.134/9993;2813;17648 307 - PLANET
节点5b579f0b2e
的角色是MOON
,说明生效.
4.3.windows节点接入moon服务器
以管理员身份打开 PowerShell,将命令中的两组 xxxxxxxxxx
都替换成 moon 的节点ID。
zerotier-cli.bat orbit 5b579f0b2e 5b579f0b2e
检查是否添加成功
zerotier-cli.bat listpeers
参考资料
No.1 简单搭建 Zerotier Moon 为虚拟网络加速