LEDE 配置ZeroTier网络教程

LEDE的酷软中心为使用OPENWRT的用户提供了一个方便的应用安装配置环境,大大降低了OPENWRT的使用难度。ZeroTier类似一款虚拟路由软件,可以将不同地方的不同网络通过虚拟的方式进行连接,以方便进行网络共享。在LEDE中配置ZeroTier比较简单,本人使用的LEDE版本为2.32,下面的介绍都针对该版本进行。

一、注册Zeroier帐号:

1、访问ZeroTier.com 官方网站进行网站注册,用帐号登录,点Greate a Network创建一个网络。

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

二、在LEDE上安装运行ZeroTier

1、在酷软中心安装ZeroTier插件,安装完成以后打开ZeroTier,在Network ID(网络ID)中,输入自己在ZeroTier上分配的网络,选中开启ZeroTier选项,点击开始运行按钮运行程序。

2、运行以后,修改配置文件,在终端输入以下命令:

# vi /etc/config/zerotier

找到以下两处进行修改:
config zerotier sample_config
option enabled 0 (这里把0替换成1,让选项生效)
list join ‘8056c2e21c000001’ (替换为自己的网络ID)
其他无需修改

退出VI,按esc,然后按:(冒号)回车,再按wq保存退出编辑界面。然后输入reboot,重启。

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

3、在LEDE上点击网络->防火墙,在基本设置>区域设置里,把转发改为接受区域下面的三行(出站,入站,转发)都选接受,其他选项保持不动。
防火墙->自定义规则页面,增加下面三条记录:

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就会给每个成员分配Managed IPs(管理IP)。

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


四、测试

通过以上设置,LEDE的ZeroTier网络配置就已经完成了,可以在LEDE上PING家里的网关地址192.168.102.1,测试是否可以连通。

五、配置MOON(进阶)

MOON又称为自定义根服务器,通过自定义的服务器作为跳板加速内网机器之间的互相访问。我的LEDE版本是2.32,有固定公网IP,为了提高ZeroTier在不同子网之间互访的速度,建立MOON节点就非常有必要。

在启用ZeroTier后,我发现ZeroTier安装目录/var/lib/zerotier-one(这个目录实际链接到/var/lib/zerotier-one_sample_config)是临时目录 ,在重启后就自动删除,必须修改配置文件,才能保留MOON的配置。

1.修改配置

修改 /etc/config/zerotier,加入下面一行选项:

option config_path '/etc/zerotier'


然后在根目录的/etc/目录下,新建zerotier目录用来存放moons的配置文件。为简化操作,可以将zerotier临时安装目录/var/lib/zerotier-one_sample_config中的所有文件复制一份到该目录中,下面所有的操作都在该目录进行。

注意LEDE2.33的目录已修改为下面的路径,如果是从2.32保留配置升级到2.33,那么 zerotier将不能正常启动,需要重新安装和配置。

/tmp/lib/zerotier-one_sample_config

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.修改MOONS文件

修改 moon.json文件中”stableEndpoints” 字段为LEDE路由的公网IP,9993为端口号。
注意:LEDE2.33(2.34版本中已没有这些内容)中生成的moon.json文件,需要把多余的签署密钥部分删除(下图绿框部分),否则不能生成签名文件。如下图所示:

4.生成签名文件

运行命令:

zerotier-idtool genmoon moon.json

在当前目录下生成签名文件00000005ff20a0f6.moon

5.将MOON节点加入网络

将LEDE本机设为MOON节点。
在/etc/zerotier目录建立moons.d子目录,将生成的00000005ff20a0f6.moon复制到该文件夹中,并重启设备。

其他设备加入MOON节点方法

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

Windows: C:\ProgramData\ZeroTier\One
Macintosh: /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

6.验证测试

查看是否在MOON下运行,执行以下命令:

zerotier-cli listpeers

PLANET :行星服务器,Zerotier 各地的根服务器,有日本、新加坡等地
MOON :   卫星级服务器,用户自建的私有根服务器,起到中转加速的作用
LEAF :     相当于各个枝叶,就是每台连接到该网络的机器节点

如果某一行显示有MOON字样,就证明MOON已被本机标识了。
注意:本机不能看自己,所以只能在别的设备上看。

后记:2020-6-29

最近将LEDE2.33保留配置升级到了2.35,发现ZeroTier不能启用,经过多次试验,找到正确启动方法。

  1. 删除ZeroTier插件后重装。
  2. 如果还不能启动,修改/etc/config/zerotier文件,将option enabled改为1,list join后面的值改为ZeroTier network ID。
  3. 再次进入酷软界面,正常启动ZeroTier。

另一种方法,进入LEDE的shell环境,运行以下命令

zerotir-one -d
上一篇
下一篇