使用神奇的Zerotier 如何搭建私有根服务器和创建虚拟局域网

先来介绍下Zerotier是干啥的

ZeroTier 是一款基于 软件定义网络(SDN) 技术的虚拟网络工具,旨在为用户提供简单、安全、高效的 点对点(P2P)网络连接。它的核心功能是让不同设备(如电脑、手机、服务器等)通过互联网直接连接,形成一个虚拟的局域网(LAN),就像它们在同一物理网络中一样。

ZeroTier 的主要用途和特点:

  1. 虚拟局域网(Virtual LAN)
    • ZeroTier 可以创建一个虚拟的局域网,将分布在全球各地的设备连接在一起,无论它们实际位于何处。
    • 例如,您可以将家中的电脑、办公室的服务器和手机连接到同一个虚拟网络中,方便访问和共享资源。
  2. 点对点连接(P2P)
    • ZeroTier 使用 P2P 技术,设备之间可以直接通信,而无需通过中心服务器中转,从而降低延迟并提高效率。
    • 如果 P2P 连接无法建立,ZeroTier 会通过其全球的 中继服务器(Relay Server) 进行中转。
  3. 跨平台支持
    • ZeroTier 支持多种操作系统和设备,包括 Windows、macOS、Linux、iOS、Android 以及嵌入式设备(如树莓派)。
  4. 简单易用
    • 用户只需安装 ZeroTier 客户端,加入一个网络(通过 Network ID),即可与其他设备连接。
    • ZeroTier 提供了 Web 管理界面,方便用户管理网络和设备。
  5. 安全性
    • ZeroTier 使用端到端加密(AES-256)技术,确保数据传输的安全性。
    • 每个网络都有唯一的 Network ID,只有经过授权的设备才能加入。
  6. 开源和免费
    • ZeroTier 的核心代码是开源的,用户可以免费使用基础功能。
    • 对于企业用户,ZeroTier 也提供了付费的高级功能和服务。

ZeroTier 的典型应用场景:

  • 远程办公:将公司内部的服务器和员工的设备连接到一个虚拟网络中,方便远程访问资源。
  • 家庭网络:将家中的智能设备(如 NAS、摄像头)连接到虚拟网络,实现远程管理和访问。
  • 游戏联机:为游戏玩家创建虚拟局域网,实现低延迟的联机游戏。
  • 物联网(IoT):连接分布在不同地点的物联网设备,方便管理和数据传输。

以上信息来自DS。

废话不多说,直接上干货。

一、运行控制器

假设我的外网IP地址是x.x.x.x,运行如下命令来启动ui容器

docker run -d \
--name zt-ui \
-v /data/docker/zt-ui/zerotier-one:/var/lib/zerotier-one \
-v /data/docker/zt-ui/ztncui/etc:/opt/key-networks/ztncui/etc \
-p 4000:4000 \
-p 9993:9993 \
-p 9993:9993/udp \
-e MYADDR=x.x.x.x \
-e HTTP_PORT=4000 \
-e HTTP_ALL_INTERFACES=yes \
-e ZTNCUI_PASSWD=admin123 \
--restart=always \
hausen1012/ztncui

二、生成planet文件

docker exec -it zt-ui bash /tmp/patch.sh && \
docker restart zt-ui

生成后的文件在/data/docker/zt-ui/zerotier-one里面,先下载下来,然后后面安装客户端有用

运行如下命令查看结果

docker exec -it zt-ui zerotier-cli listmoons

得到如下结果

三、创建私有网络

使用http://x.x.x.x:4000使用账号密码admin/admin123登录。登录完记得修改账号密码哦。

创建完之后点击Easy setup初始化网络

下一步就是要设置子网掩码是什么了

这里我设置10.10.10.0/24段,根据个人喜好

四、安装客户端

llinux系统的可以使用docker方式来安装

docker run -d \
--name=zt-cli \
--device=/dev/net/tun \
--net=host \
--cap-add=NET_ADMIN \
--cap-add=SYS_ADMIN -d \
-v /data/docker/zt-client/zerotier-one:/var/lib/zerotier-one \
--restart unless-stopped \
hausen1012/zerotier

替换成我们自己的planet文件,文件目录在/data/docker/zt-ui/zerotier-one

重启docker

docker restart zt-cli

查看是否成功

docker exec -it zt-cli zerotier-cli listpeers

命令会输出你的x.x.x.x/9993这样,就是你的根服务器的外网IP地址

最后一部加入虚拟网络就可以了,后面的ID是刚刚创建的

docker exec -it zt-cli zerotier-cli join 4c946f49ac99eb5d

最后还需要授权下

IP也可以自己修改,自己玩。

五、windows版客户端

去官网下载客户端

https://download.zerotier.com/dist/ZeroTier%20One.msi

然后双击安装点击下一步下一步

安装完之后替换下planet

文件目录在C:\ProgramData\ZeroTier\One

然后重启服务

打开CMD输入service,找到如下服务重启动

测试下

"C:\Program Files (x86)\ZeroTier\One\zerotier-cli.bat" peers

输出信息就不贴了,和linux一样

授权也一样,不写了,麻烦

最后ping下对面的IP通不通

完事了,其他的不写了,太麻烦了。

镜像下不下来的评论区留言,我发出来。

还有写在最后:

官网:https://www.zerotier.com/

开源github:

参考资料:

发表评论

后才能评论