zerotier自建planet内网穿透详细配置教程 - IT苦行僧

news/2025/10/15 15:50:44/文章来源:https://www.cnblogs.com/liuqifeng/p/19143564

zerotier自建planet内网穿透详细配置教程

配置过程,遇到不懂的问题,可以直接复制代码或者报错信息给AI,帮助你答疑解惑。

前言

本文使用Zerotier,这个软件官方也提供免费通道,但是很不稳定,所以本文是自建Planet实现稳定的内网穿透。

配置前提:

  • 一台拥有公网IP的云服务器,最好是干净的,刚装完系统的,可以是NAT型的,不影响。
  • 如果有云服务器提供商开了默认的防火墙或者安全组,请把所有端口全部开放。
  • 本地客户端能正常上网。
  • 确保客户端的网络运营商没有对UPD进行限制(因为Zerotier使用UDP协议),同时确保网络运营商没有限制上传速率。
  • 要求云服务器能够ping通回环地址(127.0.0.1),否则zerotier-one无法正常启动。

云服务器的推荐配置:

  • 系统:Ubuntu 22.0 版本以上/Debian 12.0 版本以上
  • CPU:1核
  • 内存:1G

这里需要注意为什么用Linux系统,因为这个更适合搭建Zerotier。

1.Zerotier介绍

ZeroTier 是一款强大的 内网穿透 工具,它能让你在互联网上搭建属于自己的虚拟局域网。通过它,你可以轻松实现远程访问家中设备的需求 - 比如在公司用手机直接访问家里的 NAS。最重要的是,设备之间是点对点直连的,无需经过中转服务器,既保证了速度,又提升了安全性。

它的工作原理是这样的:通过 ZeroTier One 客户端,在不同设备(如笔记本、手机、服务器等)之间建立 内网 连接,即使这些设备都在 NAT 后面也没问题。它使用了 STUN 等技术,可以穿透大多数类型的 NAT,实现设备间的直接通信。如果实在无法直连,才会通过中转服务器进行通信。

简单来说,ZeroTier 就像是一个跨越互联网的"虚拟交换机",让分布在世界各地的设备,都能像在同一个局域网内一样方便地相互访问。

image

 

ZeroTier 网络中的关键概念

PLANET(行星服务器):ZeroTier 网络的核心根服务器,负责网络发现和初始连接。相当于整个网络的"中枢"。

MOON(卫星服务器):用户可以自建的私有根服务器。它可以作为区域性的代理节点,帮助就近的设备更快地建立连接,提升网络性能。

LEAF(叶子节点):所有接入 ZeroTier 网络的终端设备,如电脑、手机、服务器等。这些设备通过 PLANET 和 MOON 的协调来相互发现和通信。

本教程将指导您搭建一个私有的 PLANET 服务器,让您完全掌控自己的 ZeroTier 网络。

2:服务器端配置

2.1:准备条件

2.1.1:切换国内软件源

首先SSH连接到云服务器,记住要使用root用户。连上去以后不要切换目录。

Ubantu/Debian的默认软件源很多是国外的,下载可能会中断或者速度很慢,所以切换软件源为国内清华源(如果你的VPS是海外线路,那么这块不执行也可以):

cat > /etc/apt/sources.list << EOF
deb https://mirrors.tuna.tsinghua.edu.cn/debian/ bookworm main contrib non-free non-free-firmware
deb https://mirrors.tuna.tsinghua.edu.cn/debian/ bookworm-updates main contrib non-free non-free-firmware
deb https://mirrors.tuna.tsinghua.edu.cn/debian/ bookworm-backports main contrib non-free non-free-firmware
deb https://security.debian.org/debian-security bookworm-security main contrib non-free non-free-firmware
EOF

修改软件源配置文件以后,我们更新一下软件包索引,否则白改了:

apt update

2.1.2:安装curl

安装curl工具,用来下载特定软件。

apt install curl -y

2.1.3:安装1Panel和Docker

安装Docker和1Panel面板,用这个就图个配置方便,用命令也是能同样实现的。
这是docker的安装命令,默认选第一个一直回车就行。

curl -sSL https://linuxmirrors.cn/docker.sh -o docker.sh && bash docker.sh

这是1Panel面板的安装命令,用这个就图个配置方便,用命令也是能同样实现的。可以全部采用默认配置,也可以自己修改一下,安装完成后会输出访问地址和用户名密码,记得保存下来。

curl -sSL https://resource.fit2cloud.com/1panel/package/quick_start.sh -o quick_start.sh && bash quick_start.sh

配置docker加速镜像,更修改软件源一样,用来加速下载docker镜像。

tee /etc/docker/daemon.json <<EOF
{"registry-mirrors": ["https://docker.mirrors.aster.edu.pl","https://docker.mirrors.imoyuapp.win"]
}
EOF

应用docker配置。

systemctl daemon-reload

重启docker,使配置生效。

systemctl restart docker

2.1.4:安装git

安装git,后面下载docker-zerotier-planet存储库要用到。

apt install git -y

2.1.5:安装ufw防火墙(用于配置端口转发)

执行命令安装ufw防火墙,用来端口转发,下面的命令一行一行执行,井号后面的可别执行嗷,那是注释!

apt install ufw -y

2.2:下载项目源码

下载docker-zerotier-planet存储库,该项目用于自建Zerotier Planet。

git clone https://ghproxy.imoyuapp.win/https://github.com/xubiaolin/docker-zerotier-planet.git

2.3:执行安装脚本

执行docker-zerotier-planet的安装脚本,按照默认指示就行,安装完成后会打印访问信息,记录下来。

./docker-zerotier-planet/deploy.sh

2.4:配置网络

浏览器访问<云服务器ip>:3443,输入默认的用户名和密码(admin/password),进去后先改一下密码,默认的不安全。

2.4.1:新建网络

进入以后,先点击Add network按钮,然后输入Network name,这个随便输,最后点击Create Network按钮。
image


2.4.2:分配网络IP

点击Easy setup按钮。
image

Network address in CIDR notation 输入11.11.11.0/24,下面两个输入框的内容应该会自动生成,然后点击Submit按钮,看到xxx Successful的字样,点击上方Networks按钮,这个页面先放着,不要关掉。
image


2.5:配置ufw防火墙

2.5.1:通过命令开放ssh以及1Panel端口
# 开放ssh端口,如果你用NAT型云服务器,那你得把22改成自己连接ssh的端口号
ufw allow 22/tcp# 开放1Panel访问端口,这个每个人不一样,如果你忘了那么你得去看一下刚刚安装完1Panel以后打印的内容。把下main命令里的尖括号内容改成1Panel访问端口。
ufw allow <1Panel端口>/tcp# 启用ufw防火墙
ufw --force enable

2.5.2:通过1Panel开放所有端口(可仅开放Zerotier需要的端口)

打开1Panel页面,开放防火墙所有端口,也可以只开发特定的,按自己的需求来,我这个只是演示用。
image
image


2.6:配置Zerotier

2.6.1:安装Zerotier

在服务器中安装zerotier,用来与客户端取得联系,以便后续把请求转发到客户端。

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

2.6.2:替换planet文件

转移自建的planet文件至zerotier-one目录。

cp /root/docker-zerotier-planet/data/zerotier/dist/planet /var/lib/zerotier-one/

重启zerotier-one服务,使配置生效。

service zerotier-one restart

2.6.3:加入网络

Zerotier加入服务器的Network ID,这个Network ID可以在刚刚保留的页面获取到,看下图红框的位置,每个人的Network ID不一样,别把我图里的给放上去了。
image

执行命令,把<Network ID>替换成自己的。

zerotier-cli join <Network ID>

看到200 join OK字样,我们再次返回之前保留的zerotier页面,等个十几秒刷新一下。


2.6.4:授权并分配服务器IP

看到列表中多一行,Member name输入本机,然后点击IP assignment
image

输入11.11.11.99,点左边的➕,然后点右上角的Back按钮。
image

勾选AuthorizedActive bridge两个复选框,然后点击左下角Refresh按钮。
image


至此,服务器端配置完成。

3:客户端配置

3.1:Windows 配置

3.1.1:安装zerotier-one

下载zerotier-one并安装,下载地址:https://download.zerotier.com/dist/ZeroTier One.msi 。


3.1.2:替换planet文件

将 planet 文件覆盖粘贴到C:\ProgramData\ZeroTier\One中。

  • 这个目录是个隐藏目录,需要设置允许查看隐藏目录,不会的话百度下。
  • planet文件在云服务器的/root/docker-zerotier-planet/data/zerotier/dist/planet

3.1.3:使新的planet生效

按Win+S键,输入service,打开服务。
image

找到ZeroTier One,并且重启服务。
image


3.1.4:加入网络

使用管理员身份打开PowerShell。
执行如下命令,看到join OK字样就成功了。

PS C:\Windows\system32> zerotier-cli.bat join <Network ID>(刚服务器端那边用的Network ID)
200 join OK
PS C:\Windows\system32

3.1.5:授权并分配客户端IP

去zerotier管理端网页做刚刚服务器端一样的设置,只不过IP换成11.11.11.11,记得勾选AuthorizedActive bridge两个复选框并刷新页面。
image


3.1.6:验证网络连通性

等个十几秒之后,试着在客户端的cmd里ping一下11.11.11.99,能ping通就可以了。


3.2:Linux 配置

3.2.1:安装zerotier-one

下载zerotier-one并安装

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

3.2.2:替换planet文件

将 planet 文件上传到linux客户端。

在 planet 文件所在目录执行以下命令,覆盖客户端安装的zerotier-one自带的planet。

cp planet /var/lib/zerotier-one/

3.2.3:使新的planet生效

重启zerotier-one服务。

service zerotier-one restart

3.2.4:加入网络

执行如下命令,看到200 join OK字样就成功了。

zerotier-cli join join <Network ID>(刚服务器端那边用的Network ID)

3.2.5:授权并分配客户端IP

去zerotier管理端网页做刚刚服务器端一样的设置,只不过IP换成11.11.11.11,记得勾选AuthorizedActive bridge两个复选框并刷新页面。
image


3.2.6:验证网络连通性

等个十几秒之后,试着在客户端ping一下11.11.11.99,能ping通就可以了。


3.3:安卓 配置

Zerotier 非官方安卓客户端


3.4:MacOS 配置

3.4.1:安装zerotier-one

下载地址:https://download.zerotier.com/dist/ZeroTier One.pkg


3.4.2:替换planet文件

进入 /Library/Application\ Support/ZeroTier/One/ 目录,并替换目录下的 planet 文件


3.4.3:使新的planet生效

重启 ZeroTier-One

cat /Library/Application\ Support/ZeroTier/One/zerotier-one.pid | sudo xargs kill

3.4.4:加入网络
zerotier-cli join 网络 id

3.4.5:授权并分配客户端IP

去zerotier管理端网页做刚刚服务器端一样的设置,只不过IP换成11.11.11.11,记得勾选AuthorizedActive bridge两个复选框并刷新页面。
image


3.4.6:验证网络连通性

等个十几秒之后,试着在客户端的cmd里ping一下11.11.11.99,能ping通就可以了。


3.5:OpenWRT 配置

3.5.1:安装zerotier-one

这个在openwrt商店里可以下载到。


3.5.2:替换planet文件

进入 /etc/config/zero/planet 目录,并替换目录下的 planet 文件。


3.5.3:使新的planet生效

在openwrt网页后台先关闭zerotier服务,再开启zerotier服务。


3.5.4:加入网络

在openwrt网页后台输入服务器端生成的网络ID,然后加入。


3.5.5:授权并分配客户端IP

去zerotier管理端网页做刚刚服务器端一样的设置,只不过IP换成11.11.11.11,记得勾选AuthorizedActive bridge两个复选框并刷新页面。
image


3.5.6:验证网络连通性

等个十几秒之后,试着在客户端的cmd里ping一下11.11.11.99,能ping通就可以了。


3.6:iOS 配置

方案一: 越狱后安装ZeroTie,然后替换planet文件

方案二: 使用Wireguard接入到ZeroTier网络


4:端口转发配置

打开服务器端1Panel,切换到系统——防火墙——端口转发页面。
image

协议选tcp/udp,源端口就是服务器这边对应的端口,目标IP填zerotier为客户端分配的IP,目标端口填写客户端的被转发的端口,最后点击确认。
image

最后用云服务器IP:源端口访问一下,此时应该可以访问了。

 ===================================================================================================================================

服务端自建planet

1、为什么要自建PLANET 服务器

自建 PLANET 服务器有以下几个重要原因:
提升网络稳定性:官方服务器位于海外,国内用户访问延迟高且不稳定。自建服务器可以大幅提升连接质量。
加快连接速度:本地化的 PLANET 服务器可以更快地帮助设备建立 P2P 连接。
增强网络控制:自建服务器让您完全掌控网络配置,可以根据需求进行优化调整。
提高安全性:私有化部署意味着网络流量不经过第三方服务器,更加安全可靠。
降低依赖:避免因官方服务器故障或网络波动影响您的业务正常运行。

2、拉取git源码

#官方地址
git clone https://github.com/xubiaolin/docker-zerotier-planet.git
#加速地址
git clone https://ghproxy.imoyuapp.win/https://github.com/xubiaolin/docker-zerotier-planet.git

3、执行安装脚本

cd docker-zerotier-planet
./deploy.sh
#根据提示选择 这里选择输入1
欢迎使用zerotier-planet脚本,请选择需要执行的操作:
1. 安装
2. 卸载
3. 更新
4. 查看信息
5. 退出
请输入数字:

4、设置端口 与默认一致

5、安装完成

6、下载 planet 文件

脚本运行完成后,会在 ./data/zerotier/dist 目录下生成 planet 和 moon 配置文件。
将这两个文件妥善保管 后续客户端配置需要用到

7、如果是云服务器记得在控制台打开 9994 3443 3000 端口

三. 创建网格等配置

1、登录

浏览器进入 http://服务端ip:3443
使用默认账号为:admin 默认密码为:password
登录后直接到修改密码页面,修改后记好密码

2、点击"Add Network"按钮创建新网络

3、分配IP - 点击easy setup

 

四. 客户端配置(centos)

1、命令一键下载

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

2、进入目录 /var/lib/zerotier-one 并替换刚才服务端生成的planet文件

3、重启 zerotier-one 服务

service zerotier-one restart

4、加入网络 zerotier-cli join 网络 id

 zerotier-cli join xxxxxx

5、管理后台同意加入请求

五. 客户端配置(windows)

1、zerotier官网下载客户端:官网

2、点击msi文件,开始安装

3、将 planet 文件覆盖粘贴到C:\ProgramData\ZeroTier\One中(这个目录是个隐藏目录,需要运允许查看隐藏目录才行)

4、重启zerotier one服务

5. 加入网络

#使用管理员身份打开PowerShell
#zerotier-cli.bat join 网络id
zerotier-cli.bat join xxxxx

6、管理后台同意加入请求

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/937593.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

【2025-10-11】适应变化

20:00劳作是眼能看见的爱。如果你进行劳作时不是满怀着爱,而是带着厌恶心里,还不如丢下工作,到庙门去等待高高兴兴劳作者们的周济——纪伯伦人性最厌讨的事物之一就是变化。但是,人类的发展只能依靠变化。所以,克…

C语言的学习——常量

常量的输出方式有四种 1.第一种是输出整数整数的输出需要用d来表示占位符 2.第二种是输出小数小数的输出需要用f来表示占位符 3.第三种是输出字符字符的输出需要用c来表示占位符,同时也需要用引号来引注输出的内容 4.…

会充电的CANoe,高效完成即插即充(PnC)智能充电功能测试

ISO 15118-2标准中描述的PnC功能,可以实现插枪即充电,识别、计费信息、充电参数都通过高级别通信在EV和EVSE之间自动交换。简化了电动汽车的充电过程,提高了用户体验,为电动汽车行业带来了更智能、更便捷的充电解决…

Bridge 2025超详细保姆级下载安装全教程(含软件下载)

目录一、Adobe Bridge 2025 软件介绍二、Adobe Bridge 2025 下载方式三、Adobe Bridge 2025 详细安装步骤步骤 1:解压 Bridge 2025 安装包步骤 2:以管理员身份运行安装程序步骤 3:选择是否修改安装路径步骤 4:自定…

legit torrents, legit trackers

http://www.legittorrents.info/ is dead.but that site recommends the following ones:PlaneShift Revision3 gameupdates.org vodo.net Pure Pwnage Cube 2: Sauerbraten Linuxtracker Public Domain Torrents

python 数学计算 32位精度

from decimal import Decimal, getcontext# Set precision high enough to handle 32 decimal places getcontext().prec = 50# Calculate step by step result = Decimal(20) / Decimal(6) / Decimal(3) / Decimal(3)…

2025年锅炉厂家最新权威推荐榜:燃气采暖锅炉/电热水锅炉/生物质锅炉/真空热水锅炉/蒸汽发生器全品类深度解析

2025年锅炉厂家最新权威推荐榜:燃气采暖锅炉/电热水锅炉/生物质锅炉/真空热水锅炉/蒸汽发生器全品类深度解析行业背景与发展趋势锅炉作为工业生产与民用供热领域的核心设备,其技术发展与市场需求正经历深刻变革。随着…

容器技术k8s - 指南

容器技术k8s - 指南pre { white-space: pre !important; word-wrap: normal !important; overflow-x: auto !important; display: block !important; font-family: "Consolas", "Monaco", "C…

c语言之对齐函数代码示例

#define ALIGNMENT 8// 内存对齐:将size向上对齐到最近的ALIGNMENT倍数 static size_t align_size(size_t size) {if(size==0)return ALIGNMENT;// 对齐公式:(size + 对齐数 - 1) & ~(对齐数 - 1)return (size +…

PyAutoGUI库自动化测试脚本工具模拟键盘鼠标操作

PyAutoGUI主要用于模拟鼠标和键盘操作,支持Windows、macOS和Linux桌面环境。 其所有用法尽在此处:import pyautogui import timedef moveDemo():print("鼠标位置:",pyautogui.position()) # 显示当前鼠标…

什么是Barriers IO

什么是Barriers I/O 目录什么是Barriers I/O1. 为什么需要 Barriers I/O?2. Barriers I/O 的核心原理3. 应用场景:哪里会用到它?4.Barriers I/O 与普通 I/O 核心差异对比表5.Barriers I/O 启用与验证操作指南(Linu…

2025 年床上用品厂家最新推荐排行榜:从老牌实力到新锐创新的品质之选,涵盖批发与婚嫁选购指南

当下床上用品市场呈现 “新旧交织” 的复杂格局:一方面老牌品牌阵营中,部分产品固守传统工艺,难以适配年轻群体的个性化需求;另一方面近五年涌现的新锐品牌凭借技术创新快速崛起,但消费者对其品质与服务缺乏有效认…

现代C++对象工厂模式实现解析

View Post现代C++对象工厂模式实现解析这篇文章将介绍一个基于现代C++特性的对象工厂实现方案,该方案采用了模板元编程和静态注册技术,为创建对象提供了灵活且类型安全的机制。 核心设计理念这个工厂模式实现包含三个…

MySQL中NULL值的5个反直觉行为,扭到了吗?

核心原则:NULL和任何值比较(=、!=、>、<),结果都是NULL,不是TRUE也不是FALSE。1、NULL = NULL 返回NULL 正确的NULL判断 -- ❌ 错误写法 SELECT * FROM user WHERE phone = NULL; -- 0 rows(查不到任何数据…

企业身份认证系统选型:Azure AD 与 Keycloak 效果详解

pre { white-space: pre !important; word-wrap: normal !important; overflow-x: auto !important; display: block !important; font-family: "Consolas", "Monaco", "Courier New", …

2025 年射线防护服生产厂家最新推荐排行榜:覆盖 X 射线 / 医用 / 中子射线防护服及防护裙、防护屏等品类,为医疗安检领域精选优质品牌

在医疗放射诊疗、机场车站安检等场景中,射线防护服是守护工作人员健康的核心装备。当前市场上,射线防护服需求持续增长,但部分厂家为压缩成本使用劣质材料,导致防护性能不达标,给使用者健康埋下隐患;同时,不同场…

2025 最新阳澄湖大闸蟹权威推荐排行榜,揭秘优质品牌的独特魅力大闸蟹蟹卡 / 大闸蟹礼盒 / 大闸蟹礼券 / 好蟹汇大闸蟹选择指南

引言阳澄湖大闸蟹,作为美食界的明星产品,以其鲜美滋味和醇厚口感,每年都吸引着无数食客。然而,当下阳澄湖大闸蟹市场鱼龙混杂,诸多问题层出不穷。一些不良商家用非正宗的大闸蟹冒充阳澄湖原产,消费者难辨真伪,花…

碳中和背景下的能源数字化:MyEMS 为企业提供精准碳管理方案

一、双碳目标下,企业碳管理陷入 “数据困境”​ 随着 “碳达峰、碳中和” 目标纳入我国生态文明建设整体布局,“十四五” 规划明确提出加快能源结构调整、推动重点领域节能降碳的要求。在此背景下,企业作为碳减排的…

在 VS Code 中集成 LaTeX 环境并创建第一个文档

在 VS Code 中集成 LaTeX 环境并创建第一个文档在 VS Code 中集成 LaTeX 环境并创建第一个文档 概述 LaTeX 是一款专业的文档排版系统,特别适合学术论文、技术文档和书籍的编写。本文将详细介绍如何在 VS Code 中配置…

2025 年月子会所推荐:女王臻瑷专注母婴护理 10 年,西安口碑之选的高端母婴护理服务解析

行业背景随着现代家庭对产后护理重视程度的不断提升,月子会所行业迎来快速发展期,但市场格局却呈现出 “良莠不齐” 的态势。部分小型机构存在护理人员专业度不足、设施简陋、服务流程不规范等问题,难以满足产后妈妈…