由于编译安装需要在系统内安装gcc环境,而导致服务端bt服务器出现故障,无法通过bt下发镜像。

因此,要么在环境内安装好编译环境后生成rpm包再在新的环境进行安装,要么就使用官方的脚本进行安装(实际上还是rpm包)。
之前使用编译安装的文章仅供参考:

解析脚本

官方的脚本为

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

手动下载后,打开搜索centos可以发现

elif [ -n "`cat /etc/redhat-release 2>/dev/null | grep -i centos`" -o -n "`cat /etc/redhat-release 2>/dev/null | grep -i enterprise`" ]; then
    echo "*** Found RHEL/CentOS, creating /etc/yum.repos.d/zerotier.repo"
    baseurl="${ZT_BASE_URL_HTTP}redhat/el/\$releasever"

这行代码,说明脚本是通过/etc/redhat-release这个文件来判断系统类型的。

[root@www ~]# cat /etc/redhat-release
CentOS Linux release 7.8.2003 (Core)

而噢易云的idv客户端与服务端该文件已被修改,导致脚本失效。
由于客户端与服务端本质上都是centos7,因此先保存好/etc/redhat-release原先的内容后,再进行修改,安装完成后再还原即可。

idv-server:

[root@console Cloud_r00t]# cat /etc/redhat-release
VDI release 4.3

idv-client:

[root@idv-489b13 ~]# cat /etc/redhat-release
Idv Client release 7.6.0 (Core)

上文是该文件的原内容。修改成CentOS Linux release 7.8.2003 (Core)即可。

安装zerotier

先使用mount -o remount,rw /让根目录可写。

服务端

处理更新源

由于服务端使用的更新源之一:centos-openstack-liberty已经停止维护了,而且网上也没镜像源。因此需要先禁用这个更新源:

yum-config-manager --disable centos-openstack-liberty

否则yum makecache会报错。记得执行上面的命令后再执行yum makecache

执行脚本

由于zerotier的官网速度不太好,建议先浏览器访问https://install.zerotier.com,获取脚本,将其重命名,我这里重命名为z,给权限后直接执行脚本即可。

[root@console Cloud_r00t]# bash z

*** ZeroTier One Quick Install for Unix-like Systems

*** Tested distributions and architectures:
***   MacOS (10.7+) on x86_64 (just installs ZeroTier One.pkg)
***   Debian (7+) on x86_64, x86, arm, and arm64
***   RedHat/CentOS (6+) on x86_64 and x86
***   Fedora (16+) on x86_64 and x86
***   SuSE (12+) on x86_64 and x86
***   Mint (18+) on x86_64, x86, arm, and arm64

*** Please report problems to contact@zerotier.com and we will try to fix.

*** Detecting Linux Distribution

*** Found RHEL/CentOS, creating /etc/yum.repos.d/zerotier.repo

*** Installing zerotier-one package...
已加载插件:fastestmirror, langpacks
zerotier                                                                      | 2.9 kB  00:00:00     
zerotier/7/primary_db                                                         |  27 kB  00:00:00     
Loading mirror speeds from cached hostfile
 * base: mirrors.ustc.edu.cn
 * epel: d2lzkl7pfhq30w.cloudfront.net
 * extras: mirrors.ustc.edu.cn
 * updates: mirrors.ustc.edu.cn
正在解决依赖关系
--> 正在检查事务
---> 软件包 zerotier-one.x86_64.0.1.6.3-1.el7 将被 安装
--> 解决依赖关系完成

依赖关系解决

=====================================================================================================
 Package                   架构                版本                      源                     大小
=====================================================================================================
正在安装:
 zerotier-one              x86_64              1.6.3-1.el7               zerotier              870 k

事务概要
=====================================================================================================
安装  1 软件包

总下载量:870 k
安装大小:2.3 M
Downloading packages:
zerotier-one-1.6.3-1.el7.x86_64.rpm                                           | 870 kB  00:00:00     
Running transaction check
Running transaction test
Transaction test succeeded
Running transaction
警告:RPM 数据库已被非 yum 程序修改。
** 发现 15 个已存在的 RPM 数据库问题, 'yum check' 输出如下:
kernel-3.10.0-1127.el7.x86_64 有已安装冲突 shim-x64 < ('0', '12', '2'): shim-x64-12-1.el7.centos.x86_64
1:openstack-neutron-openvswitch-7.0.1-5085.noarch 有缺少的需求 openvswitch
1:openstack-neutron-openvswitch-7.0.1-5085.noarch 有缺少的需求 python-openvswitch
1:openstack-nova-12.0.0-5085.noarch 有缺少的需求 openstack-nova-api = ('1', '12.0.0', '5085')
1:openstack-nova-12.0.0-5085.noarch 有缺少的需求 openstack-nova-cells = ('1', '12.0.0', '5085')
1:openstack-nova-12.0.0-5085.noarch 有缺少的需求 openstack-nova-compute = ('1', '12.0.0', '5085')
1:openstack-nova-12.0.0-5085.noarch 有缺少的需求 openstack-nova-conductor = ('1', '12.0.0', '5085')
1:openstack-nova-12.0.0-5085.noarch 有缺少的需求 openstack-nova-console = ('1', '12.0.0', '5085')
1:openstack-nova-12.0.0-5085.noarch 有缺少的需求 openstack-nova-cpert = ('1', '12.0.0', '5085')
1:openstack-nova-12.0.0-5085.noarch 有缺少的需求 openstack-nova-network = ('1', '12.0.0', '5085')
1:openstack-nova-12.0.0-5085.noarch 有缺少的需求 openstack-nova-novncproxy = ('1', '12.0.0', '5085')
1:openstack-nova-12.0.0-5085.noarch 有缺少的需求 openstack-nova-objectstore = ('1', '12.0.0', '5085')
1:openstack-nova-12.0.0-5085.noarch 有缺少的需求 openstack-nova-scheduler = ('1', '12.0.0', '5085')
1:qbittorrent-nox-3.3.7-1.el7.x86_64 有缺少的需求 libtorrent-rasterbar.so.8()(64bit)
usbredir-server-0.7.1-2.el7.x86_64 有缺少的需求 usbredir(x86-64) = ('0', '0.7.1', '2.el7')
  正在安装    : zerotier-one-1.6.3-1.el7.x86_64                                                  1/1 
  验证中      : zerotier-one-1.6.3-1.el7.x86_64                                                  1/1 

已安装:
  zerotier-one.x86_64 0:1.6.3-1.el7                                                                  

完毕!

*** Enabling and starting zerotier-one service...
Created symlink from /etc/systemd/system/multi-user.target.wants/zerotier-one.service to /usr/lib/systemd/system/zerotier-one.service.

*** Waiting for identity generation...

*** Success! You are ZeroTier address [ 973e9d2ebf ].

你可以发现一堆报错,不影响使用。

开机启动

根据之前的经验,

systemctl enable zerotier-one

并不会生效,因此需要用sshd来将其调用而启动。
具体实现方法你可以点击查看,我就不再阐述了。

客户端

修改完/etc/redhat-release后,也是使用mount -o remount,rw /给与根目录权限,然后再下载脚本以及执行即可bash z
客户端的源一切正常,因此不用做过多的处理。

恢复

使用之前储存的内容,恢复/etc/redhat-release内容即可。

使用

使用zerotier-cli join xxxxxx即可,如果网络不好建议自建moon

最后修改:2021 年 02 月 12 日
如果觉得我的文章对你有用,请随意赞赏