问小白 wenxiaobai
资讯
历史
科技
环境与自然
成长
游戏
财经
文学与艺术
美食
健康
家居
文化
情感
汽车
三农
军事
旅行
运动
教育
生活
星座命理

使用ZeroTier实现内网穿透并异地组网

创作时间:
作者:
@小白创作中心

使用ZeroTier实现内网穿透并异地组网

引用
1
来源
1.
https://www.cnblogs.com/ubirdy/p/18721780

本文将详细介绍如何使用ZeroTier实现内网穿透和异地组网,包括注册服务、安装客户端、设备连接以及搭建moon服务器等步骤。

一、注册 ZeroTier 服务

  1. 访问官网:ZeroTier官网,注册用户、验证邮箱并登录。

  1. 登录后创建网络

  1. 记下网络ID

点击网络ID后可以编辑

“Basics” 基础。

  • “Network ID” :虚拟网络地址 ID 。
  • “Name” :虚拟网络名称,自拟。
  • “Description” :描述。
  • “Access Control” :访问控制,默认 PRIVATE(私有),以后添加设备需要管理员同意。

“Advanced” 高级。

  • “Managed Routes” :托管路线,设置虚拟网络的 IP 网段。
  • “IPv4 Auto-Assign” :虚拟网络下 IPv4 自动分配,自选。
  • 其他选项保持默认。

二、安装客户端

1、Linux

官方安装说明

我使用的是 ubuntu,复制官方的安装脚本就可以了。

如果没有安装curl,先安装curl

sudo apt install curl

如果已经有curl直接执行下面的安装命令

curl -s https://install.zerotier.com | sudo bash

2、Windows

Windows直接下载安装就可以了。

3、安卓

从Google Play 下载就可以了,目前官方安卓客户端没有加入自建moon的功能,如要连接自建的moon就安装第三方的apk

4、Apple IOS

App Store 下载。

四、设备连接虚拟网络

Linux

记下将要添加的虚拟网络的地址 ID 。

终端命令行输入:

sudo zerotier-cli join [虚拟网络地址ID]

示例:(以下截图是openwrt的截图)
命令返回200就是成功了

ZeroTier 虚拟网络管理页面,找到 “Members” ,可以看到一个设备连接到虚拟网络。勾选后点“Authorize”就可以加入到私有的网络了

设备的IP地址已经自动分配,也可以点击edit图标去手动指定。

在linux终端中查看ZeroTier IP情况

ifconfig

查看加入虚拟网络

zerotier-cli listpeers

现在,设备已经连接虚拟网络。

Windows

右键点击右下角 ZeroTier 图标,点击 “Join Network” 。

窗口中输入要添加的虚拟网络的地址 ID ,点击 “Join” 。

进行手动授权,步骤同 Linux 。

测试ping远程的设备

至此已经实现了远程组网,以下是使用moon服务器提高网络速度与稳定性

五、搭建 ZeroTier moon 服务器

官方 moon 中转服务器在国外,国内客户端使用延迟大,甚至出现访问不了的问题。可以自己搭建 moon 中转服务器,来实现稳定的服务。moon服务器需要一个静态公网IP。下文以我的openwrt设备为例。

moon 服务器配置

进入 ZeroTier 配置文件目录。

cd /var/lib/zerotier-one

生成 moon.json 文件。

zerotier-idtool initmoon identity.public >>moon.json

编辑moon.json

修改信息。

找到

"stableEndpoints": []

。添加

"IPv4地址/9993"

或者

"IPv4地址/9993","IPv6地址/9993"

vi moon.json

注意:记录下 moon.json 文件中的 id 。这个ID是给其它客户端加入moon使用的。

生成 .moon 签名文件

zerotier-idtool genmoon moon.json

这将生成一个名为

0000006eadbeef00.moon

的文件。(这个文件名大家都不一样)

创建 moon 结点文件夹。

mkdir /var/lib/zerotier-one/moons.d

将签名文件复制到 moons.d 文件夹中

cp 0000006eadbeef00.moon moons.d/

重启 ZeroTier 服务

/etc/init.d/zerotier-one restart

六、设备连入 moon 服务器

linux

输入命令:

zerotier-cli orbit [moon.json 文件中的 id] [moon.json 文件中的 id]

windows

使用管理员权限的 PowerShell 输入:

zerotier-cli orbit [moon.json 文件中的 id] [moon.json 文件中的 id]

七、检测生效

在非 moon 的客户端,输入命令:(Windows 有一点不同,需要使用管理员权限)

zerotier-cli listpeers
© 2023 北京元石科技有限公司 ◎ 京公网安备 11010802042949号