聊聊云服务器 篇五:私有化部署zerotier planet服务器
之前我介绍过如何搭zerotier的moon服务器,这次我来介绍如何搭建zerotier的planet服务器。如果只接入自己搭建的zerotier planet服务器,基本相当于私有化部署zerotier。(私有化部署是不是瞬间有感觉了)在上主菜前先上小菜:我介绍过部署moon服务器的方案,现在补充一个通过docker搭建zerotier的方法,通过docker搭建让整个过程变得异常简单。
zerotier moon服务器的docker镜像开源地址:https://github.com/rwv/docker-zerotier-moon
使用起来非常简单:
#运行zerotier-moon
sudo docker run --name zerotier-moon -d --restart always -p 9993:9993/udp -v /home/set/zerotiermoon:/var/lib/zerotier-one seedgou/zerotier-moon -4 1.2.3.4
#查看moon节点编号
sudo docker logs zerotier-moon
获得moon节点之后,用下面命令加入moon服务器即可:
sudo zerotier-cli orbit moon编号 moon编号
接下来上主菜:
如何部署zerotier的planet服务器
在部署zerotier服务器之前你必须要有一台具有公网IP的主机或者云服务器。6月/11月时入手云服务器一般价格最低,之前11月腾讯云和阿里云都有不足200元3年的2核4G轻量云服务器方案,现在都已近没有了(只有企业用户还有2核4G轻量服务器的3年优惠价)。如果想尝尝鲜建议买个50元1年的轻量服务器,5M宽带勉勉强强也能用。
有了服务器,接下来需要用到一个开源镜像,开源地址:https://github.com/sbilly/docker-zerotier-controller。只不过整个镜像不能直接使用,需要根据自己的实际情况进行编译才能运行。首先下载安装包,可以用curl也可以直接git clone下来:
#下载安装包
sudo curl -LJO https://codeload.github.com/sbilly/docker-zerotier-controller/zip/refs/heads/main
sudo unzip docker-zerotier-controller-main.zip
#进入安装包修改配置文件
cd docker-zerotier-controller-main/patch
sudo vim planets.json
在进行编译前首先要修改planet.json这个配置文件。这个文件主要有3个内容:location这个无关紧要,Identity是认证的公钥,Endpoints是终端地址(服务器地址,IP选默认的9993)
{
"planets": [
{
"Location": "Guangzhou", // Where this planet located
"Identity": "a4de2130c2:0:ab5257bb05cd2fb8044fe26483f6d27b57124ca7b350fb3e0f07d405c68c4416094dbc836bf62ed483072501aa3384dff3c74ac50050c1bfbb1dc657001ef6a1", // The planet's public key, ex: identity.public
"Endpoints": ["127.0.0.1/9993"] // The list of endpoints in 'ip/port' format. IPv6 is supportted
}
]
}
接下来回到主目录,用如下命令进行编译:
sudo docker build --force-rm . -t sbilly/zerotier-controller:latest
整个编译过程耗时比较久,如果网络条件不好可能还会卡主。如果出现这种情况,ctrl+c退出后重新执行上面的命令即可(我的小主机大概编译了半个多小时中间卡主了四五次):
编译成功之后就可以运行docker镜像了,官方有3种运行方式。最推荐用第二、三种,我介绍一下第二种:
sudo docker run --rm -ti -e ZU_SECURE_HEADERS=false -e ZU_CONTROLLER_ENDPOINT=http://127.0.0.1:9993/ -e ZU_DEFAULT_USERNAME=admin -e ZU_DEFAULT_PASSWORD=zero-ui -p 4000:4000 -p 3000:3000 -p 9993:9993 -p 9993:9993/udp sbilly/zerotier-controller:latest
上面的命令自行修改服务器地址,登陆用户名和密码,登陆zero-ui时会用到:
接下来就可以在浏览器中用:http://IP:4000访问控制端了,界面和zerotier的主界面有相似之处。用账户密码登陆后,点击create network就可以创建自己的虚拟网络,这时候会生成一个net ID:
接下来我们还要下载一个叫planet的文件,这个文件的下载地址是:http://IP:4000/app/static/planet
将这个planet文件替换你安装zerotier的客户端中的plant文件,就可以用zerotier加入你自己的planet服务器了(比如Ubuntu的目录是/var/lib/zerotier-one):
事情到这里就结束了吗?不做到完美怎么符合我的性格,接下来我要介绍如何安装两个非官方客户端:安卓端和Linux端。因为官方的安卓端不能自主选择planet服务器,而官方Linux没有deb安装包也没有图形界面。重要的是我们是自主部署的zerotier如果使用官方客户端,万一升级后失效了呢?
Linux端的开源地址https://github.com/tralph3/ZeroTier-GUI
下载源码后解压,然后执行编译安装的命令即可:
./make_deb.sh
安卓端的开源地址https://github.com/kaaass/ZerotierFix
安卓端就更加简单了,直接下载release里面的最新版本安装,安装后在设置里加载你下载的planet文件即可。
window端没有修改版,直接用官方版本就可以了。不过一些朋友可能找不大planet文件的目录,那就参考我下面的截图地址:
文章写到这里,基本是一个成熟完整的解决方案了。最后,我不得不称赞zerotier团队,直接开放到可以实现私有化部署。当然也离不开很多程序猿大神的助力,但这精神不服不行。
Gee_Fan
校验提示文案
bhuang123
校验提示文案
MoonStones
校验提示文案
benzking
去看看
校验提示文案
星之海
校验提示文案
星之海
校验提示文案
eowyn_n
校验提示文案
ecomics
校验提示文案
Arbre
校验提示文案
值友6679198093
编译这一步出现上面这段怎么办
校验提示文案
天地会铁血少年团
校验提示文案
值友5378669333
校验提示文案
值友5378669333
校验提示文案
雨大
校验提示文案
威力小钢炮
校验提示文案
值友2573993444
校验提示文案
值友2573993444
校验提示文案
威力小钢炮
校验提示文案
雨大
校验提示文案
值友5378669333
校验提示文案
值友5378669333
校验提示文案
天地会铁血少年团
校验提示文案
值友6679198093
编译这一步出现上面这段怎么办
校验提示文案
Arbre
校验提示文案
ecomics
校验提示文案
eowyn_n
校验提示文案
Gee_Fan
校验提示文案
星之海
校验提示文案
星之海
校验提示文案
benzking
去看看
校验提示文案
MoonStones
校验提示文案
bhuang123
校验提示文案