说明
zerotier 可以作为一款 p2p 的 vlan 内网穿透工具,功能强大且易用,同类产品还有 frp 和 LanProxy 等。最近有个朋友有创建 p2p vlan 的需求,在简单调研之后决定使用 zerotier 作为基础工具。
官方给出的使用方案比较简单。首先需要一个中心的节点用于两个内网节点的握手,该中心节点需要有一个公网 IP。zerotier 官网提供了中心节点相关服务,免费账户有一定的使用限制,但是由于其节点位于国外,延迟比较高,且可能还需要科学上网才能使用。除此之外,zerotier 也支持自己搭建中心节点服务器,也叫做 MOON 服务器。下面是它的搭建步骤。
MOON服务器配置
操作系统版本是 Ubuntu 18.04
, Zerotier One
版本是 v1.2.10
, 公网 (也就是 MOON 服务器) 地址是 1.1.1.1
。
1. 通过官网文档根据不同操作系统选择不同的安装方式,这里直接通过命令行安装
如果上述命令运行失败,那么使用下面命令
2. 将 MOON 服务器加入 Zerotier 局域网
虽然搭建了 MOON 服务器,我们还是需要借助 zerotier network,也就是需要先通过 zerotier 官网创建一个 network,并且内网节点需要使用 join
命令加入该网络才能实现内网节点的互通,换句话说 MOON 节点只起到了加速的作用,虚拟网络的分配和管理还是需要 zerotier 服务端参与。
2. 生成配置文件
3. 修改配置文件 moon.json
,主要是添加公网 IP,修改内容如下,9993
是默认端口
还需要注意 moon.json
中的 id 值,它是 MOON 服务器的 ID,是一个 10 位的字符串,我的为 efe9e9a259
,也可以用 sudo zerotier-cli info
查看,后面会用到。
4. 生成 moon 文件
5. 在 /var/lib/zerotier-one
目录下新建 moons.d
文件夹中,并将生成的 moon 文件放到该文件夹下,我的 moon 文件名为 000000efe9e9a259.moon
6. 重启 zerotier-one
内网节点配置
1. 在内网节点安装 zerotier,安装方法和上面类似,根据文档选择不同操作系统的方法进行安装即可。请参考文章《ZeroTier 无公网 IP 实现内网穿透》
2. 将 MOON 节点添加到常规节点
如果没返回 200 orbit OK
的话,需要手动拷贝生成的 moon 文件 000000efe9e9a259.moon
文件到常规节点的机器上,位置如下:
然后重启 zerotier-one
3. 查看节点列表,出现根服务器的 MOON 节点表示成功
4. 我们再在内网节点上运行 ifconfig
(windows 是 ipconfig
),可以看到 zerotier vlan 分配给其的内网 IP
这里的 10.147.18.127
就是其虚拟局域网的 IP,在另外一个局域网中通过上述过程配置另外一个节点,它的虚拟局域网 IP 为 10.147.18.30
,两个节点通过 ping
可以互相通信,说明配置成功
推荐本站淘宝优惠价购买喜欢的宝贝:
本文链接:https://hqyman.cn/post/3920.html 非本站原创文章欢迎转载,原创文章需保留本站地址!
休息一下~~