Ubuntu Zerotier 安装

1. 安装与配置

1.1 安装

  • 指令安装
    curl -s https://install.zerotier.com | sudo bash
    
  • 检测是否安装成功
    zerotier-one --version
    
  • 查看当前的 ID
    zerotier-cli info
    

1.2 加入网络

  • 手动启动服务
    sudo zerotier-cli start
    
  • 加入网络
    sudo zerotier-cli join <network-id>
    # 應會回傳200 join OK
    
  • 待批准加入之后检查网络状态
    sudo zerotier-cli status
    
  • 确认ZeroTier有无P2P成功,如果有的话Peers上面会显示LEAF,这样网路会顺畅些。
    sudo zerotier-cli peers
    
  • 离开ZeroTier网路
    sudo zerotier-cli leave "Network ID"
    # 應會回傳200 leave OK
    

1.3 设置开机自启

  • 开机自启
    sudo systemctl start zerotier-one
    sudo systemctl enable zerotier-one
    
  • 如果您的电脑使用Wifi连线,致使要登入桌面才会连上网路的话,则必须启用systemd-networkd-wait-online服务,让ZeroTier在有网路之后才尝试连线
    sudo systemctl enable systemd-networkd-wait-online
    

1.4 安装图形化管理界面 (optional)

  • 先生成可执行文件 ZeroTier-GUI.deb
    git clone https://github.com/tralph3/ZeroTier-GUI.git
    cd ZeroTier-GUI
    ./make_deb.sh
    chmod +x make_deb.sh
    
  • 双击 ZeroTier-GUI.deb 安装

2. 问题

(1) 安装时停留在 Waiting for identity generation

  • The service is probably not running... it could be an issue upgrading from the old package. Hit CTRL+C and try manually restarting it:
    service zerotier-one restart
    

(2) 使用 zerotier-cli 指令返回错误:zerotier-cli: missing port and zerotier-one.port not found in /var/lib/zerotier-one

  • start the service before you use zerotier-cli: sudo zerotier-one -d
  • 如果上一步返回如下的错误:
    /usr/sbin/zerotier-one: fatal error: cannot bind to local control interface port 9993
    
    • 只需要修改默认端口,创建 /var/lib/zerotier-one/local.conf 文件,并输入下面的内容:
      {
        "settings": {
          "primaryPort": 9994
        }
      }
      
    • 注意也需要将 /etc/systemd/system/zerotier-one.service.d/zerotier.conf 中的端口也做修改。

(3) curl -s 没反应

  • 可以直接通过 https://install.zerotier.com 下载可执行文件,然后 chmod +x 设置权限,然后 sh 执行。

(4) Failed to restart zerotier-one.service: Unit zerotier-one.service not found.
如果服务文件不存在,你需要手动创建这个文件。请按照以下步骤操作:
打开一个文本编辑器,比如使用命令 sudo nano /etc/systemd/system/zerotier-one.service 输入以下内容:

[Unit]
Description=ZeroTier One
After=network.target

[Service]
ExecStart=/usr/sbin/zerotier-one
Restart=always
User=root
ExecReload=/bin/kill -HUP $MAINPID
KillMode=process
RestartSec=5s

[Install]
WantedBy=multi-user.target

确保 ExecStart 路径中的 /usr/sbin/zerotier-one 指向你实际安装的 ZeroTier 可执行文件。如果 ZeroTier 安装在不同的路径,需要相应修改这个路径。


3. 参考


20230903
@ RdHotRiver

posted @ 2023-09-04 12:27  RdHotRiver  阅读(3988)  评论(0)    收藏  举报