【Zerotier】通过docker自建PLANET服务器

在如今全球互联的时代,我们对于互联网的依赖程度越来越高。然而,传统的网络连接方式在某些情况下可能会受到一些限制,例如局域网的范围限制、防火墙的阻断或者设备所处的多层NAT等。但是,现在有一个名为ZeroTier的工具出现了,它为我们提供了一种创新的解决方案,可以打破这些限制,搭建一个私密的P2P网络。事实上,ZeroTier可以被看作是在互联网上搭建一个与局域网类似的网络环境。

简单来说,ZeroTier充当了一个点对点的虚拟私有网络(VPN),将你的各个设备连接在一起,使其可以直接互联,就好像它们在同一个局域网内一样。这意味着,你可以轻松地在公司使用手机访问家里的NAS,或者直接与遥远的团队成员共享文件,而无需经过繁琐的设置和第三方服务器的中转。与传统VPN相比,ZeroTier有其独特的优势。它通过使用STUN和隧道技术,允许设备直接在NAT后进行通信,绕过了繁琐的端口映射和配置。这种P2P连接方式不仅提供了更好的网络性能和安全性,还可以在跨越不同网络和地理位置的设备之间建立起即时可用的连接。

无论是远程办公、跨地域协作还是私人网络搭建,ZeroTier都为我们提供了一种简单又强大的解决方案。它彻底改变了传统网络连接的限制,为我们的数字生活带来了更大的便捷和灵活性。让我们深入探索ZeroTier,发现这个令人激动的技术如何在当今互联网时代引领我们进入全新的网络连接方式。

简单拓扑图

在这里插入图片描述

专有名词

PLANET :行星服务器,Zerotier 根服务器

MOON :卫星服务器,起到代理加速的作用

LEAF :网络客户端,就是每台连接到网络节点。

为什么要自建PLANET服务器

必要条件

  • 具有公网ip的服务器
  • 安装 docker
  • 防火墙开放TCP端口 3443/9993 和UDP端口 9993

复制项目源码

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

运行deploy.sh脚本

./docker-zerotier-planet/deploy.sh
欢迎使用zerotier-planet脚本,请选择需要执行的操作:
1. 安装
2. 更新
3. 复制planet文件到当前目录
其他任意键退出

截图如下:在这里插入图片描述根据提示选择即可,操作完成会自动部署
整个脚本预计需要 3-10 分钟,具体需要看网络与机型
当您看到类似如下字样时,表示安装成功
在这里插入图片描述

注意在此处项目里面自动启动的DOCKER镜像,因为没有数据固化,每次重启后,登录ztncui的用户名密码,以及配置信息都会丢失。我们需要删除DOCKER镜像,重新用以下命令开启。

docker rm -f -v  zerotier-planet
docker volume create zerotier-app
docker volume create zerotier-one
docker run -d -v zerotier-app:/app -v zerotier-one:/var/lib/zerotier-one -p 9993:9993 -p 9993:9993/udp -p 127.0.0.1:3443:3443 --name zerotier-planet --restart unless-stopped zerotier-planet

以下是对上面命令行的详细解释:

docker rm -f -v zerotier-planet

这条命令用于强制删除名为zerotier-planet的Docker容器,并移除与容器关联的卷(如果存在)。-f选项表示强制删除容器,即使它正在运行。-v选项表示同时移除与容器关联的卷。

docker volume create zerotier-app
docker volume create zerotier-one

这两条命令分别用于创建两个Docker Volume。第一个命令创建名为zerotier-app的卷,而第二个命令创建名为zerotier-one的卷。

docker run -d -v zerotier-app:/app -v zerotier-one:/var/lib/zerotier-one -p 9993:9993 -p 9993:9993/udp -p 127.0.0.1:3443:3443 --name zerotier-planet --restart unless-stopped zerotier-planet

这条命令用于运行一个名为zerotier-planet的Docker容器。其中:

-d选项表示将容器在后台运行(以守护态运行)。
-v zerotier-app:/app选项将名为zerotier-app的卷挂载到容器的/app目录。
-v zerotier-one:/var/lib/zerotier-one选项将名为zerotier-one的卷挂载到容器的/var/lib/zerotier-one目录。
-p 9993:9993选项表示将主机的端口9993映射到容器的端口9993,用于TCP流量。
-p 9993:9993/udp选项表示将主机的端口9993映射到容器的端口9993,用于UDP流量。
-p 127.0.0.1:3443:3443选项表示将主机的端口127.0.0.1:3443映射到容器的端口3443,只允许本地访问。
--name zerotier-planet选项为容器指定名称为zerotier-planet
--restart unless-stopped选项表示当容器停止后除非手动停止,否则会自动重新启动。
zerotier-planet是要运行的镜像名称,由该名称的解析来自于Docker镜像仓库。

访问http://ip:3443进入controller页面
在这里插入图片描述默认用户名: admin
默认密码:password
在这里插入图片描述根据自己情况重置密码即可。
在这里插入图片描述

下载 planet 文件

脚本运行完成后,会在/tmp/目录下有个planet 文件

下载该文件以备用

客户端配置

关于客户端的配置请参阅github项目作者的介绍。

私有部署zerotier-planet服务

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

工程安全监测无线振弦采集仪在建筑物的应用分析

工程安全监测无线振弦采集仪在建筑物的应用分析 工程安全监测无线振弦采集仪是一种在建筑物中应用的重要设备。它通过无线采集建筑物内部的振动信息,对建筑物的安全性进行监测和评估,为建筑物的施工和使用提供了可靠的技术支持。本文将详细介绍工程安全…

了解 3DS MAX 3D摄像机跟踪设置:第 2 部分

推荐: NSDT场景编辑器助你快速搭建可二次开发的3D应用场景 1. 项目设置 步骤 1 打开“后效”。 打开后效果 步骤 2 转到合成>新合成以创建新合成。 将“宽度”和“高度”值分别设置为 1280 和 720。将帧速率设置为 25,将持续时间设置为 12 秒。单…

C#中未能找到为main方法指定的XXX.Program怎么解决

有时在修改项目名称后,报错未能找到为main方法指定的XXX.Program 解决办法: 点击进入项目属性,将启动对象设置为空或者你要指定的XXX.Program(改名后的)

Redis两种持久化机制RDB和AOF详解(面试常问,工作常用)

redis是一个内存数据库,数据保存在内存中,但是我们都知道内存的数据变化是很快的,也容易发生丢失。幸好Redis还为我们提供了持久化的机制,分别是RDB(Redis DataBase)和AOF(Append Only File)。 在这里假设你已经了解了redis的基础…

超详细图文教程:3DS Max 中创建低多边形游戏长剑模型

推荐: NSDT场景编辑器助你快速搭建可二次开发的3D应用场景 在此,由两部分组成的教程的第一部分中,我将向您展示如何: 对剑柄进行建模剑的护手模型剑刃建模 1. 如何制作剑柄 步骤 1 在本教程中使用正交视图。要更改视图&#x…

图数据库Neo4j学习二——cypher基本语法

1命名规范 名称应以字母字符开头,不以数字开头,名称不应包含符号,下划线除外可以很长,最多65535( 2^16 - 1) 或65534字符,具体取决于 Neo4j 的版本名称区分大小写。:PERSON和:Person是:person三个不同的标签&#xff…

Redis在云服务器上的安装与客户端连接配置

文章目录 Redis1.Redis的安装2.设置远程连接3.客户端连接3.1 客户端下载 Redis 1.Redis的安装 yum 安装 redis,使用以下命令,直接将 redis 安装到 linux 服务器: yum -y install redis 启动 redis使用以下命令,以后台运行方式启…

Unity中的MonoBehaviour 及其生命周期

关于MonoBehaviour 类的类图的详细介绍: Unity中的MonoBehaviour脚本-基础知识和继承关系_拂面清风三点水的博客-CSDN博客 关于MonoBehaviour 类的生命周期: Unity - Manual: Order of execution for event functions: Awake:当…

Spring 中一个少见的引介增强 IntroductionAdvisor

我们平时做 AOP 开发的时候,基本上都是增强某一个方法,在某一个方法执行之前或者执行之后做一些事情,这种叫做 PointcutAdvisor,实际上,Spring 中的 Advisor 大致可以分为两种类型,除了 PointcutAdvisor 之…

学习笔记--TCP/IP协议

TCP/IP协议 TCP (Transmission Control Protocol)传输控制协议,传输层协议。 一、协议的分层 ISO网络层分为7层 二、分层的作用 具体通信情况: 三、报文传输 三次握手连接,四次挥手释放 参考链接: https://zhuanlan.zhih…

Java网络编程(一)基本网络概念

一、网络 网络(network) 是几乎可以实时相互发送和接收数据的计算机和其他设备的集合。网络通常用线缆连接,数据位转换为电磁波,通过线缆移动。不过,无线网络会通过无线电波传输数据,许多长距离的传输现在会用通过玻璃纤维发送可见…

关于运算符你真的了解吗?

目录 前言 1. 基本四则运算符&#xff1a;加减乘除模( - * / %) 2. 增量运算符 - * % 3.自增/自减运算符 -- 4. 关系运算符 ! < > < > 5. 逻辑运算符&& || !和& | 5.1 && || ! 5.2 & | 6.位运算符& | ~ ^ 7. 移位运算&l…

Windows10 下 Neo4j1.5.8 安装教程

前言 Neo4j 是一个高性能的、NOSQL 图形数据库&#xff0c;它将结构化数据存储在网络上而不是表中。基于磁盘的、具备完全的事务特性的 Java 持久化引擎&#xff0c;这里就不把他和常用关系型数据库做对比了。因为篇幅有限&#xff0c;我这里也是第一次使用&#xff0c;所以以…

“内卷之王”雪糕品牌,夏日营销如何花式出招?小红书数据分析!

酷夏已至&#xff0c;冰淇淋行业号称营销“内卷之王”&#xff0c;品牌们开始各显身手&#xff0c;掀起2023年的夏日冰淇淋大战。今年出现了哪些新的内容趋势&#xff1f;雪糕行业有哪些品牌营销趋势值得关注&#xff1f;笔者将通过小红书数据分析与内容洞察&#xff0c;带你一…

通过ETL自动化同步飞书数据到本地数仓

一、飞书数据同步到数据库需求 使用飞书的企业都有将飞书的数据自动同步到本地数据库、数仓以及其他业务系统表的需求&#xff0c;主要是为了实现飞书的数据与业务系统进行流程拉通或数据分析时使用&#xff0c;以下是一些具体的同步场景示例&#xff1a; 组织架构同步&#…

一个简单的 Android 版本目录(Version catalog)实现指南

一个简单的 Android 版本目录实现指南 使用 TOML 格式 在本文中&#xff0c;我们将探讨版本目录以及如何实现它。 版本目录 Gradle 版本目录使您能够以可扩展的方式添加和维护依赖项和插件。因此&#xff0c;不必在各个构建文件中硬编码依赖项名称和版本&#xff0c;而是在目…

STM32 中断优先级管理(一)

STM32 NVIC 中断优先级管理 CM3内核支持256个中断&#xff0c;其中包含了16个内核中断和240个外部中断&#xff0c;并且有256级的可编程中断设置。 但STM32并没有使用CM3内核的全部东西&#xff0c;只用了一部分。 STM32有84个中断&#xff0c;包括16个内核中断和68个可屏蔽…

从零开始学习CTF

前言 CTF简介 中文一般译作夺旗赛&#xff0c;在网络安全领域中指的是网络安全技术人员之间进行技术竞技的一种比赛形式 CTF起源于1996年DEFCON全球黑客大会&#xff0c;以代替之前黑客们通过互相发起真实攻击进行技术比拼的方式 竞赛模式 解题模式&#xff1a; 在解题模式…

使用PHP实现登录注册功能的完整指南

&#x1f3c6;作者简介&#xff0c;黑夜开发者&#xff0c;全栈领域新星创作者✌&#xff0c;2023年6月csdn上海赛道top4。多年电商行业从业经验&#xff0c;对系统架构&#xff0c;数据分析处理等大规模应用场景有丰富经验。 &#x1f3c6;本文已收录于PHP专栏&#xff1a;PHP…

如何高效进行客户管理?这几点很重要

管理客户是任何业务的重要组成部分。通过建立良好的关系&#xff0c;提供良好的客户服务并满足客户的需求&#xff0c;可以帮助吸引新客户并保留现有客户&#xff0c;这对于业务的长期成功非常重要。 因此&#xff0c;本篇文章将为您介绍如何做客户管理&#xff0c;客户管理的…