LEDE 配置ZeroTier网络教程

本文摘要在LEDE中配置ZeroTier(含Moon加速)LEDE的酷软中心为使用OpenWRT的用户提供了一个方便的应用安装配置环境,大大降低了OpenWRT的使用难度。ZeroTier类似一款虚拟路由软件,可以将不同地方的不同网络通过虚拟的方式进行连接,以方便进行网络共享。本文基于LEDE 2.32版本进行介绍。一、注册ZeroTier帐号访问 ZeroTier.com 官方网站注册帐号,登录后点击 ...

在LEDE中配置ZeroTier(含Moon加速)

LEDE的酷软中心为使用OpenWRT的用户提供了一个方便的应用安装配置环境,大大降低了OpenWRT的使用难度。ZeroTier类似一款虚拟路由软件,可以将不同地方的不同网络通过虚拟的方式进行连接,以方便进行网络共享。本文基于LEDE 2.32版本进行介绍。

一、注册ZeroTier帐号

  1. 访问 ZeroTier.com 官方网站注册帐号,登录后点击 Create a Network 创建一个网络。

    ZeroTier网络详细信息页面

  2. IPv4 Auto-Assign(IPv4地址自动分配)中,选中一个网络段。

    IPv4自动分配设置

二、在LEDE上安装运行ZeroTier

  1. 在酷软中心安装ZeroTier插件,安装完成后打开ZeroTier,在 Network ID 中输入自己在ZeroTier上分配的网络ID,勾选 开启ZeroTier,点击 开始运行 按钮。
  2. 运行后,修改配置文件,在终端输入以下命令:

    vi /etc/config/zerotier

    找到以下两处进行修改:

    • config zerotier sample_config 下的 option enabled 0,将 0 改为 1
    • list join ‘8056c2e21c000001’,替换为自己的网络ID。

    其它默认即可。按 Esc 键,输入 :wq 保存退出,然后执行 reboot 重启。

    你也可以使用 WINSCP 等软件直接修改文件。

  3. 在LEDE Web界面中,点击 网络 → 防火墙,在 基本设置区域设置 里,将 转发 改为 接受。区域下方的三行(出站、入站、转发)均选择 接受,其它保持不动。

    防火墙 → 自定义规则 页面,增加以下三条规则:

    iptables -I FORWARD -i ztc3qwyx5l -j ACCEPT
    iptables -I FORWARD -o ztc3qwyx5l -j ACCEPT
    iptables -t nat -I POSTROUTING -o ztc3qwyx5l -j MASQUERADE

    注意:ztc3qwyx5l 是LEDE的ZeroTier虚拟接口名称,可通过终端 ifconfig 命令查看,请自行替换。

    设置完成后,点击 重启防火墙

三、配置ZeroTier网络路由

在ZeroTier网络的 Members 部分,勾选已出现的网络成员进行授权。稍等片刻,ZeroTier会为每个成员分配管理IP。

Managed Routes(管理路由)部分,将子网与管理IP对应,设置路由,如图所示。可以将多个子网通过ZeroTier连接在一起,形成一个虚拟局域网。

管理路由配置示例

ZeroTier路由设置详情

四、测试

通过以上设置,LEDE的ZeroTier网络配置已完成。可以在LEDE上Ping家中的网关地址(例如 192.168.102.1)测试连通性。

五、配置Moon(进阶)

Moon 又称自定义根服务器,通过自定义的服务器作为跳板加速内网机器之间的相互访问。如果LEDE有固定公网IP,建立Moon节点可显著提高ZeroTier在不同子网间的访问速度。

启用ZeroTier后,发现其安装目录 /var/lib/zerotier-one(实际链接到 /var/lib/zerotier-one_sample_config)是临时目录,重启后会被清除。必须修改配置文件以持久化Moon配置。

1. 修改配置

修改 /etc/config/zerotier,加入以下行:

option config_path '/etc/zerotier'

配置文件修改示例

注意:LEDE 2.33 的目录已修改为 /tmp/lib/zerotier-one_sample_config。若从2.32保留配置升级到2.33,ZeroTier将无法正常启动,需重新安装和配置。

2. 生成Moon文件

进入ZeroTier目录(其他OpenWrt版本一般在 /var/lib/zerotier-one):

cd /etc/zerotier

运行以下两条命令:

zerotier-idtool generate identity.secret identity.public
zerotier-idtool initmoon identity.public >> moon.json

将在当前目录生成 moon.json 文件。

3. 修改Moon配置文件

修改 moon.json 文件中 "stableEndpoints" 字段为LEDE路由的公网IP,端口默认为 9993

注意:LEDE 2.33(2.34版本中已无此内容)生成的 moon.json 文件,需要将多余的签署密钥部分删除(下图绿框部分),否则无法生成签名文件。

moon.json文件编辑示例

4. 生成签名文件

执行命令:

zerotier-idtool genmoon moon.json

会生成签名文件,例如 00000005ff20a0f6.moon

5. 将Moon节点加入网络

/etc/zerotier 目录下创建 moons.d 子目录,将生成的 .moon 文件复制到该文件夹,并重启设备。

其他设备加入Moon节点的方法:

  • 方法一:找到ZeroTier安装目录,新建 moons.d 文件夹,将 00000005ff20a0f6.moon 复制到该文件夹中,重启设备。
    各系统ZeroTier安装目录:

    • Windows: C:\ProgramData\ZeroTier\One
    • Mac: /Library/Application Support/ZeroTier/One (Terminal中为 /Library/Application\ Support/ZeroTier/One)
    • Linux: /var/lib/zerotier-one
    • FreeBSD/OpenBSD: /var/db/zerotier-one
  • 方法二:在终端执行命令:

    zerotier-cli orbit 5ff20a0f6    # 请将ID替换为实际的Moon节点ID

6. 验证测试

在其他设备上执行以下命令查看是否已使用Moon:

zerotier-cli listpeers

输出中常见标识:

  • PLANET:行星服务器,ZeroTier官方的根服务器。
  • MOON:卫星级服务器,即用户自建的私有根服务器,起中转加速作用。
  • LEAF:叶子节点,每台连接到该网络的设备。

若某行显示 MOON 字样,表示Moon已生效。

注意:本机不能查看自身,需要在其他设备上验证。

后记(2020-06-29)

最近将LEDE 2.33保留配置升级到2.35后,ZeroTier无法启用。解决方法如下:

  • 删除ZeroTier插件后重装。
  • 如果仍不能启动,修改 /etc/config/zerotier,将 option enabled 改为 1list join 后的值替换为实际的ZeroTier网络ID。
  • 再次进入酷软界面启动ZeroTier。

另一种方法:进入LEDE的Shell环境,运行命令:

zerotier-one -d

觉得内容不错?我要

评论 暂无评论
暂无评论,快来抢沙发吧~