docker方式部署Zerotier Planet(Zerotier根服务器)

ZeroTier 介绍(参考:GitHub - xubiaolin/docker-zerotier-planet: 私有部署zerotier-planet服务)

安装docker

curl -fsSL https://get.docker.com | bash -s docker --mirror Aliyun

启动 Docker

systemctl start docker

开机自启动

systemctl enable docker

可以通过修改daemon配置文件/etc/docker/daemon.json来使用加速器

sudo mkdir -p /etc/docker
sudo tee /etc/docker/daemon.json <<-'EOF'
{
  "registry-mirrors": ["你的地址"]
}
EOF
sudo systemctl daemon-reload
sudo systemctl restart docker

安装git

yum update && yum install git -y 

下载项目源码

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

执行安装脚本

cd docker-zerotier-planet
./deploy.sh

根据提示来选择即可,操作完成后会自动部署

下载 planet 文件

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

新建网络

访问 http://ip:3443 进入controller页面

使用默认账号为: admin

默认密码为: password

客户端配置

Windows 配置

首先去zerotier官网下载一个zerotier客户端

将 planet 文件覆盖粘贴到 C:ProgramDataZeroTierOne

重启ZeroTier One 服务

加入网络

使用管理员身份打开PowerShell

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

zerotier-cli.bat join 网络id

登录管理后台可以看到有个个新的客户端,勾选Authorized就行

执行如下命令:

PS C:Windowssystem32> zerotier-cli.bat peers
200 peers
<ztaddr>   <ver>  <role> <lat> <link> <lastTX> <lastRX> <path>
fcbaeb9b6c 1.8.7  PLANET    52 DIRECT 16       8994     1.1.1.1/9993
fe92971aad 1.8.7  LEAF      14 DIRECT -1       4150     2.2.2.2/9993
PS C:Windowssystem32>

可以看到有一个 PLANTET 和 LEAF 角色,连接方式均为 DIRECT(直连)

到这里就加入网络成功了

Linux 客户端

步骤如下:

安装linux客户端软件
进入目录 /var/lib/zerotier-one
替换目录下的 planet 文件
重启 zerotier-one 服务(service zerotier-one restart)
加入网络 zerotier-cli join 网络 id
管理后台同意加入请求
zerotier-cli peers 可以看到 planet 角色

OpenWrt更新planet

root@OpenWrt:~# find / -name planet
/etc/config/zero/planet

安卓客户端配置

Zerotier 非官方安卓客户端发布:支持自建 Moon 节点 - V2EX

https://github.com/kaaass/ZerotierFix/releases

MacOS 客户端配置

步骤如下:

进入 /Library/Application Support/ZeroTier/One/ 目录,并替换目录下的 planet 文件
重启 ZeroTier-One:cat /Library/Application Support/ZeroTier/One/zerotier-one.pid | sudo xargs kill
加入网络 zerotier-cli join 网络 id
管理后台同意加入请求
zerotier-cli peers 可以看到 planet 角色

管理面板SSL配置

管理面板的SSL支持需要自行配置,参考Nginx配置如下:

upstream zerotier {
  server 127.0.0.1:3443;
}

server {

  listen 443 ssl;

  server_name {CUSTOME_DOMAIN}; #替换自己的域名

  # ssl证书地址
  ssl_certificate    pem和或者crt文件的路径;
  ssl_certificate_key key文件的路径;

  # ssl验证相关配置
  ssl_session_timeout  5m;    #缓存有效期
  ssl_ciphers ECDHE-RSA-AES128-GCM-SHA256:ECDHE:ECDH:AES:HIGH:!NULL:!aNULL:!MD5:!ADH:!RC4;    #加密算法
  ssl_protocols TLSv1 TLSv1.1 TLSv1.2;    #安全链接可选的加密协议
  ssl_prefer_server_ciphers on;   #使用服务器端的首选算法


  location / {
    proxy_pass http://zerotier;
    proxy_set_header HOST $host;
    proxy_set_header X-Forwarded-Proto $scheme;
    proxy_set_header X-Real-IP $remote_addr;
    proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
    }
}

server {
    listen       80;
    server_name  {CUSTOME_DOMAIN}; //替换自己的域名
    return 301 https://$server_name$request_uri;
}

卸载

docker rm -f zerotier-planet

 

阅读剩余
THE END