type
status
date
slug
summary
tags
category
icon
password

1、ZeroTier 介绍

Todo
 
参考资料:
 

2、OpenWRT 中配置 ZeroTier

2.1、安装 ZeroTier

打开 OpenWRT,搜索 zerotier,并且安装对应的软件包。
notion image
 
 

2.2、配置 ZeroTier

登陆到 OpenWrt 中,可以使用 OpenWrt 网页中的 「TTYD 终端」,也可以 ssh 到 OpenWrt 中。
打开配置文件,`/etc/config/zerotier`, 编辑并保存。
notion image
配置说明:
  • 修改为 1,表示启动 zerotier。
  • list join 后面配置你在 zerotier 中创建的网络ID。

2.3、启动 ZeroTier

打开 「系统」 - 「启动项」,启动 zerotier。
notion image
 
启动完成后,运行命令查看网络连接。
notion image
 
红色部分为 zerotier 的网卡部分,一会儿配置 OpenWrt 时需要使用。
 

3、配置 OpenWrt 的网络接口

 

3.1、新建 ZeroTier 接口

打开 「网络」 - 「选择添加新接口」,按照下图进行配置,接口选择上一步中 ZeroTier 新创建的接口。
notion image
点击完成如下,
notion image
 

3.2、配置防火墙规则

 
点击「网络」-「防火墙」,修改 zerotier 的接口规则。
notion image
 
修改配置如下,
  • 转发:更改为 “接收”
  • IP 动态伪装:勾选
  • 允许转发到「目标区域」:选择 LAN
  • 允许从「源区域」转发:选择 LAN
notion image
 
接着增加通信规则,创建新的「入站规则」,把 ZeroTier 默认的 9993 端口打开。
notion image
 
添加完后,点击修改对应的规则,
  • 启用:勾选。
  • 源区域:任意区域
  • 目标区域:设备(输入)
  • 目标端口:9993
  • 动作:接收(accept)
 
点击保存并应用,重启 OpenWrt 中的 ZeroTier 服务。
 
 

4、配置外网服务器访问家里设备

通过第 3 步中的配置,我们在 OpenWrt 上安装了 ZeroTier 的服务,这样的话,我们所有外面的服务都可以通过 ZeroTier 连接到 OpenWrt 上面。
此时,如果我们希望访问到局域网内的设备,那么就只需要通过 OpenWrt 上的 ZeroTier 转发到内网服务器即可。
 
如下图所示,
外网服务器访问局域网设备(来自于 韩风Talk 的视频,强烈推荐)
外网服务器访问局域网设备(来自于 韩风Talk 的视频,强烈推荐)
 

4.1、配置 ZeroTier 路有转发

打开 ZeroTier 的网络管理,
notion image
添加路有转发规则,
  • 第一个输入框输入:家庭局域网网段
  • 第二个输入框输入:OpenWrt ZeroTier 分配的 IP地址。
添加完成后,测试。
 
登陆外部服务器,ping 测试家庭局域网的设备,成功。
notion image
 
如果不能访问,尝试勾选下列选项,设置:“勾选”状态。
notion image
 

4.2、局域网内的设备访问外部的 ZeroTier 设备

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

5、自建 ZeroTier Moon

前提:
  • 有一台公网的云主机,且云主机的防火墙放开 UDP 9993 端口。
    • notion image
  • 在云主机已经安装 ZeroTier
我云主机的操作系统版本为 Ubuntu 22.04 版本。
 

5.1、生成 moon 配置文件

 
编辑生成出来的 moon.json 文件,修改 stableEndpoints 为自己的云主机的公网 IP 地址,
notion image
类似于:`[”1.2.3.4/9993”]`,9993 为 moon 是用的 UDP 端口。
 
生成 moon 节点的配置文件,
生成了个 0000002093f31234.moon 文件,其中除掉前面的 0 外,`2093f31234`为 Moon 节点的 ID。
 
启动 Moon 节点,
 
注意:记住 MOON 节点的 ID 后面会用到。

5.2、加入 MOON 节点

登陆需要加入 MOON 节点的客户端节点,运行,
 
检查 MOON 节点的状态,
notion image
 
VSCODE Go 多版本管理博客增加评论功能
Loading...