type
status
date
slug
summary
tags
category
icon
password
1、ZeroTier 介绍
Todo
参考资料:
2、OpenWRT 中配置 ZeroTier
2.1、安装 ZeroTier
打开 OpenWRT,搜索 zerotier,并且安装对应的软件包。

2.2、配置 ZeroTier
登陆到 OpenWrt 中,可以使用 OpenWrt 网页中的 「TTYD 终端」,也可以 ssh 到 OpenWrt 中。
打开配置文件,`/etc/config/zerotier`, 编辑并保存。

配置说明:
- 修改为 1,表示启动 zerotier。
- list join 后面配置你在 zerotier 中创建的网络ID。
2.3、启动 ZeroTier
打开 「系统」 - 「启动项」,启动 zerotier。

启动完成后,运行命令查看网络连接。

红色部分为 zerotier 的网卡部分,一会儿配置 OpenWrt 时需要使用。
3、配置 OpenWrt 的网络接口
3.1、新建 ZeroTier 接口
打开 「网络」 - 「选择添加新接口」,按照下图进行配置,接口选择上一步中 ZeroTier 新创建的接口。

点击完成如下,

3.2、配置防火墙规则
点击「网络」-「防火墙」,修改 zerotier 的接口规则。

修改配置如下,
- 转发:更改为 “接收”。
- IP 动态伪装:勾选。
- 允许转发到「目标区域」:选择 LAN。
- 允许从「源区域」转发:选择 LAN。

接着增加通信规则,创建新的「入站规则」,把 ZeroTier 默认的 9993 端口打开。

添加完后,点击修改对应的规则,
- 启用:勾选。
- 源区域:任意区域
- 目标区域:设备(输入)
- 目标端口:9993
- 动作:接收(accept)
点击保存并应用,重启 OpenWrt 中的 ZeroTier 服务。
4、配置外网服务器访问家里设备
通过第 3 步中的配置,我们在 OpenWrt 上安装了 ZeroTier 的服务,这样的话,我们所有外面的服务都可以通过 ZeroTier 连接到 OpenWrt 上面。
此时,如果我们希望访问到局域网内的设备,那么就只需要通过 OpenWrt 上的 ZeroTier 转发到内网服务器即可。
如下图所示,

4.1、配置 ZeroTier 路有转发
打开 ZeroTier 的网络管理,

添加路有转发规则,
- 第一个输入框输入:家庭局域网网段
- 第二个输入框输入:OpenWrt ZeroTier 分配的 IP地址。
添加完成后,测试。
登陆外部服务器,ping 测试家庭局域网的设备,成功。

如果不能访问,尝试勾选下列选项,设置:“勾选”状态。

4.2、局域网内的设备访问外部的 ZeroTier 设备
通过上面的配置,网关配置成为 OpenWrt 的网络已经能够成功访问外部的 ZeroTier 设备。
但是,如果网关没有配置成为 OpenWrt 的局域网设备暂时无法访问外部的 ZeroTier 设备,这是因为访问 ZeroTier 设备时,访问的 IP段 对于局域网设备自身来说,是不可知的,也无法进行路有分发。
解决方法:在主路由的路由表上,把 ZeroTier 的网络段配置到 OpenWrt 中即可。我们目前用到的主路由是 OpenWrt。
以 OpenWrt 为例,打开 「网络」-「静态路由」,点击「添加」

- 接口:lan
- 主机 IP:ZeroTier 中的网段
- IPv4 网关:旁路由的网关(即 ZeroTier 节点所在的局域网IP地址)
保存并应用。
5、自建 ZeroTier Moon
前提:
- 有一台公网的云主机,且云主机的防火墙放开 UDP 9993 端口。

- 在云主机已经安装 ZeroTier
我云主机的操作系统版本为 Ubuntu 22.04 版本。
5.1、生成 moon 配置文件
编辑生成出来的 moon.json 文件,修改 stableEndpoints 为自己的云主机的公网 IP 地址,

类似于:`[”1.2.3.4/9993”]`,9993 为 moon 是用的 UDP 端口。
生成 moon 节点的配置文件,
生成了个
0000002093f31234.moon
文件,其中除掉前面的 0 外,`2093f31234
`为 Moon 节点的 ID。启动 Moon 节点,
注意:记住 MOON 节点的 ID 后面会用到。
5.2、加入 MOON 节点
登陆需要加入 MOON 节点的客户端节点,运行,
检查 MOON 节点的状态,

- 作者:zouying
- 链接:https://haha.ai/article/zerotier-for-homelab
- 声明:本文采用 CC BY-NC-SA 4.0 许可协议,转载请注明出处。