当前位置:
文章详情

Zerotier 安装使用保姆级心得2023(下篇)

2023-05-22 16:27:29 19点赞 104收藏 26评论

接上篇,接着写。



4. openwrt版安装

openwrt也是很常见的软路由系统,这里以x86版本为例,arm bcm ramips等构架的请自行尝试。

首先如果你是下载的大佬的版本,比如lean,immortalwrt, lionel等,因为这些版本luci一般都配有图形界面,所以比较简单。如过没有安装,可以去这里找最新版本安装:

https://op.supes.top/packages/x86_64/

搜索luci-app-zerotier就能找到,下载下来,上传到openwrt了,或者直接ssh连接到openwrt执行下面命令:

wget "https://op.supes.top/packages/x86_64/luci-app-zerotier_git-24.066.45618-e029599_all.ipk"

然后执行 opkg install luci-app-zerotier_*.ipk 就能安装了。(上面是当前版本)

之后登陆openwrt网页,打开服务 > zerotier,看下图设置(图来自 筷子铺的博客):

luci-zerotier设置luci-zerotier设置

先点上面启用,中间输入zerotier的网络ID,再点右边的加号图标,最后点下面“自动运行客户端NAT”,这样就设置完成,点“保存&应用”。


如果因为各种原因,比如无法安装,怕不安全,用的原版openwrt等等,无法使用luci-app,那就手动安装zerotier并配置。

原版openwrt系统按照zerotier官网推荐的https://github.com/mwarning/zerotier-openwrt 安装,看起来简单,但没成功。方法介绍如下:

(1)先从官网下载预编译包

https://openwrt.org/downloads

具体地址如下(当前版本22.03.5,x86版本):

https://downloads.openwrt.org/releases/22.03.5/packages/x86_64/packages/zerotier_1.10.3-1_x86_64.ipk

(2)上传到openwrt里,然后用下面命令安装(提前ssh连到openwrt上):

opkg install zerotier_*.ipk

然后配置:

uci set zerotier.sample_config.enabled='1'

uci commit zerotier


最后启动zerotier:

/etc/init.d/zerotier start


安装没有问题,但是在启动时报错:

openwrt出错openwrt出错

这个问题是配置文件有问题,所以要手动修改配置文件。Zerotier配置文件位置:/etc/config/zerotier

配置文件内容修改如下:

openwrt配置文件openwrt配置文件

(1) 配置文件名称,可自定义

(2) 启动配置文件,填写‘1’

(3) join 后面的数字“e4da7455b259b81e”改成你自己要加入的网络ID,

(4) 同上面图形界面的“自动运行客户端NAT”,填写‘1’

(如果使用的是vi,打开文件后,先按i进编辑模式,修改好以后,按一次esc键,再输入 :wq 回车就保存好了。)

这样就可以再次启动了:

/etc/init.d/zerotier start


安装好zerotier以后,还要设置防火墙

在openwrt网页上,防火墙 > 区域部分, 点下面的添加,如图设置:

添加zerotier区域添加zerotier区域

保存并应用,显示如下:

防火墙配置防火墙配置

保存并应用后,重启openwrt。

如果安装好zerotier后已经有防火墙区域了,自行调整就可以了。

这样,openwrt也连上了zerotier,ip:192.168.196.107。

测试ping之前的192.168.196.101和192.168.196.105 也都通了。


5. Linux版安装

Linux以Debian/Ubuntu为例,安装脚本如下:

安装脚本安装脚本

更为安全的安装脚本(需要先安装gpg)

安装脚本(gpg)安装脚本(gpg)

安装成功后,使用下面命令节点加入虚拟网络:

sudo zerotier-cli join e4da7455b259b81e


加入成功,得到ip:192.168.196.103

安装TUN安装TUN

如果安装失败,先检查TUN是否安装:

modinfo tun

如果没有,那就先安装:

modprobe tun

如果安装失败,那可能是机器不支持TUN设备,需要检查系统设置配置文件等。

至此,共给4台机器安装了zerotier,分别属于2个网段,192.168.196.101和192.168.196.103属于192.168.20.x网段,192.168.196.105和192.168.196.107属于192.168.10.x网段。接下来就是让两个网段连接起来,而不仅仅局限于4台客户端连接。


6.不同网段互联配置

之前上篇1.3的高级配置部分里关于路由的部分,是不同网段互联的主要部分,现在开始配置。

现在有2个网段4个客户端,实际互联起来只要每个网段有一个客户端就行了,所以选在192.168.10.x网段的192.168.196.107作为连接192.168.10.x网段的节点,选在192.168.20.x网段的192.168.196.103作为连接192.168.20.x网段的节点进行配置,如下图:

zerotier路由配置zerotier路由配置

配置需要先在Destination里输入目标网段192.168.20.0/23,记得加上"/23"后缀,再后面的"Via"里面填目标网段里zerotier客户端的ip,上面就是192.168.196.103,然后点Submit提交,这样上面就会出现设置的路由信息了。

在客户端也会出现配置信息。

配置好的路由信息配置好的路由信息

这样完成配置后,装有zerotier客户端的机器,就可以访问2个网段内的设备了,比如在192.168.20.x网段的192.168.196.103的客户端,可以访问192.168.10.x网段的其它设备,同样在192.168.10.x网段的192.168.196.107的客户端,也可以访问192.168.20.x网段的其它设备。这样,2个网段内装有客户端的设备,可以直接访问不同网段的设备了,就像在一个局域网一样。唯一局限:要先安装客户端并连接上zerotier服务。


7.后续目标

现在访问不同网段,还需要安装zerotier客户端,很多值友可能想更进一步,就是在192.168.10.x网段的任意设备也能访问192.168.20.x的任意设备,而不需要安装zerotier客户端。这么目标现在还没折腾出来。这样的目标,应该需要把zerotier客户端安装在主路由上,再配置路由。这个还需要慢慢折腾。如有大佬已经实现,也希望能分享一下!

后续自建moon和server的安装使用心得也准备安排上!



8. 注意事项

1. zerotier安装需要系统有TUN设备,不然安装不了

2. zerotier安装使用都需要root权限哦,

3. 类linux系统,都需要开启网络转发的内核参数(openwrt是默认开启的)

net.ipv4.ip_forward=1

这样设置,才能让别的网段的设备通过当前zerotier客户端的转发,来访问这个网段内没有装zerotier的设备。

Windows版不清楚是否能够转发。建议以linux客户端作为转发客户端。

4. 注意要连接的各个网段ip地址不要重复,比如第一个网段设为192.168.10.x,第二个网段设为192.168.20.x,第三个网段设为192.168.30.x等等。还有尽量不要使用192.168.0.x和192.168.1.x这2个网段,默认是这2个网段的设备太多,容易出现奇怪的问题。

5. 注意防火墙设置,注意网络安全设置


总结:

这篇zerotier安装使用保姆级心得,其实都是折腾闹得。网络连接问题最好的解决办法就是公网IP地址,不管v4还是v6都可以。我这里使用电信v4+ddns+端口映射,简单高效稳定外加网速还快!如果是ipv6,也可以通过ddns+防火墙设置,来给设备进行直连访问,提供网络速度。


第一次写作,内容如有疏漏,偏差,错误,望轻喷,怕疼!特别是几个IP地址,已经尽力检查了,但还可能有眼花的地方没找出错误的,见谅。

有问题欢迎在评论区问哈。


感谢观看,真心希望能帮到大家!

作者声明本文无利益相关,欢迎值友理性交流,和谐讨论~

展开 收起
26评论

  • 精彩
  • 最新
  • 这个好像很难连接上,国内可以直接使用神卓互联的ITG组网

    校验提示文案

    提交
    现在有种情况是第一次连服务器比较难连 [惊喜] ,第一次连上以后再连接就没问题了。如果有ipv6的话,可以试试第一次连接只用ipv6来连接,成功率高点,第一次连上以后就可以ipv4连接使用了。 [高兴]

    校验提示文案

    提交
    收起所有回复
  • 问个问题,远端有外网,远端也设置好了。如何设置本地的openwrt让他用远端的网关上网。这样这边的机器就能通过这个路由器上外网了。现在我都是通过这边每台都装zt来实现的,麻烦

    校验提示文案

    提交
    这个openwrt是旁路由把,主路由不知道行不行,提供一下思路,大概有2个步骤的设置,第一,先把你要通过外网上网的本地机器,添加一个路由,这个路由指向本地的openwrt,然后在本地的openwrt添加一个路由,对本地的特定机器的来源,路由到外部的机器上,具体操作搞过一次,但是效果好像不好,属于盲区了。 [惊喜]

    校验提示文案

    提交
    简单点说就是,把本地机器路由到本地op,把本地op路由到远端机器,这个步骤是有zt的内网来路由的,所以最好的方法是这个op是旁路由,

    校验提示文案

    提交
    还有4条回复
    收起所有回复
  • 感谢值友的分享,写得很详细,我一个小白都能跟着操作完成,前面多台设备网络互通都完成了,但是通过一其中一台装了客户端的设备去转发,达到外网其它装了客户端的设备也能访问内网其它设备的这一步卡住了,我用Ubuntu装客户端去转发,后台上Managed Routes也设置了,客户端上也显示了路由转发信息。Ubuntu上也设置了net.ipv4.ip_forward=1,可要就是无法访问Ubuntu内网的其它设备 [喜极而泣]

    校验提示文案

    提交
    可能是Ubuntu上路由的问题,如果有openwrt当主路由,可以在openwrt主路由上安装试试,

    校验提示文案

    提交
    收起所有回复
  • 不太懂网络这一块,“192.168.196.101和192.168.196.103属于192.168.20.x网段,192.168.196.105和192.168.196.107属于192.168.10.x网段”,这咋理解,我的认知里他们不都是192.168.196.x段吗,楼主能教教我吗

    校验提示文案

    提交
    你每个机器上有2个ip地址,192.168.10.x是物理机上的网段,192.168.196.x是zt虚拟的网段,192.168.10.x的2个机器是同一网段,192.168.20.x的2个机器是另一个网段,192.168.196.x是zt虚拟的网段,就虚拟ip的话,4个机器都是在同一个网段的,物理机器分10网段和20网段,zt是zerotier简写。不知解释清楚了没 [喜极而泣]

    校验提示文案

    提交
    哈哈,我以为楼主好长时间不更新,不会看到我的留言呢,非常感谢楼主。有点明白了,楼主,这样做得目的是为了让物理网段1装有客户端的机a器可以通过网段2的某个客户端随意访问网段2的机器b,即使这个机器b没有客户端,这样变相突破了zt,25台设备的限制。我还有一个问题:我今天试了下,局域网1下一个黑群晖nas,一个win10电脑,连上去自动分配了虚拟ip,192.168.196.229(nas),192.168.196.210(电脑);局域网2下面一台笔记本电脑连上去自动分配虚拟ip,192.168.196.249(或者是239,记不清了)这时候局域网2的笔记本是能ping通nas,但ping不通电脑,这是我将笔记本的虚拟ip修改为192.168.196.211后,笔记本可以同时ping通电脑和nas了,这是正常了吗?zt不是25台内免费互通吗,自动分配的3个ip为啥没通?楼主有空就帮忙解惑下,感谢

    校验提示文案

    提交
    还有1条回复
    收起所有回复
  • 那问题来了。。。如何重装op的zerotier呢。。。 多设备情况下有时候会误删设备,win还好重新找到设备码单独添加进去就行了。op就完了,添加进去的设备一直无法重新获取Ip得重装才行。。有几次都是路由器重装才行。。。。 linux盲区。。。对了现在ZT有设备上限了,25台。。。

    校验提示文案

    提交
    op的客户端也有设备码,zerotier-cli info 好像可以查看,具体忘记了,要等我机器上试一下, [惊喜]

    校验提示文案

    提交
    老哥有方法不,主要是我不懂代码,op如果误删,后续想要重新加入进去基本上只能重装op,这样太麻烦了 [小怒] [小怒]

    校验提示文案

    提交
    还有6条回复
    收起所有回复
  • 大佬,openwrt这部分少一块操作步骤,我昨晚配置以后,只有路由器能ping通zerotier的设备,反过来不行。后来参考B站视频调整了下终于成功了(去看看,2分35秒处)
    具体是在配置防火墙策略前,需要先配置zerotier的虚拟网卡,然后通讯规则里打开zerotier的端口。
    这样zerotier过来的流量才能正常通过服务器。

    校验提示文案

    提交
  • 还是得ipv4公网,v6要求双方都是IPV6才能访问有点麻烦,就算用手机4G网有时候也不能获得V6地址,有时候连别人的WIFI没有v6,就连不回家里的群辉,用QC又太慢,用热点又有时候不稳定,有时候没有v6,只能用ZEROTIER了。

    校验提示文案

    提交
提示信息

取消
确认
评论举报

最新文章 热门文章
目录
104
扫一下,分享更方便,购买更轻松