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目录:
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中生成的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已被本机标识了。
注意:本机不能看自己,所以只能在别的设备上看。