ZeroTier 搭建 moon 服務器


前言

前文實現了 ZeroTier 內網穿透 。但是由於 ZeroTier 的官方 moon 中轉服務器在國外,國內客戶端可能出現使用延遲大,甚至出現訪問不了的問題。可以自己搭建 moon 中轉服務器,來實現穩定的服務。

注意:

  • 1.2.4 版本之后的 ZeroTier 才支持 moon 服務器。

moon 安裝 ZeroTier 並加入虛擬網絡

請參閱:ZeroTier 內網穿透

moon 服務器配置

  • 進入 ZeroTier 配置文件目錄。

    cd /var/lib/zerotier-one
    
  • 生成 moon.json 簽名文件。

    sudo -s
    zerotier-idtool initmoon identity.public >>moon.json
    
  • 編輯

    vim moon.json
    

    可以看到如下信息:

    moon.json
      
      {
       "id": "0123456789",
       "objtype": "world",
       "roots": [
        {
         "identity": "xxxxxxxx:0:xxxxxxxx",
         "stableEndpoints": []
        }
       ],
       "signingKey": "xxxxxxxx",
       "signingKey_SECRET": "xxxxxxxx",
       "updatesMustBeSignedBy": "xxxxxxxx",
       "worldType": "moon"
      }
        

    注意:記錄下 moon.json 文件中的 id 。

  • 修改信息。

    找到 "stableEndpoints": []

    添加 "IPv4地址/9993" 或者 "IPv4地址/9993","IPv6地址/9993"

    示例:

    "stableEndpoints": ["1.2.3.4/9993","2001:abcd:abcd::1/9993" ]
    
  • 生成 .moon 簽名文件

    zerotier-idtool genmoon moon.json
    

    顯示:

    wrote 0000006xxxxxxxxx.moon (signed world with timestamp 15xxxxxxxxxx7)
    
  • 創建 moon 結點文件夾。

    mkdir /var/lib/zerotier-one/moods.d
    
  • 將簽名文件復制到 moods.d 文件夾中

    cp 0000006xxxxxxxxx.moon moons.d/
    
  • 重啟 ZeroTier 服務

    /etc/init.d/zerotier-one restart
    

設備連入 moon 服務器

自動配置

  • 輸入命令:

    sudo zerotier-cli orbit [moon.json 文件中的 id] [moon.json 文件中的 id]
    
  • Windows 有一點不同,需要使用管理員權限的 PowerShell 輸入:

    zerotier-cli orbit [moon.json 文件中的 id] [moon.json 文件中的 id]
    

手動配置

各個系統平台下 ZeroTier 目錄位置 :

 Windows: C:\ProgramData\ZeroTier\One
 Macintosh: /Library/Application Support/ZeroTier/One (在 Terminal 中應為 /Library/Application\ Support/ZeroTier/One)
 Linux: /var/lib/zerotier-one
 FreeBSD/OpenBSD: /var/db/zerotier-one
  • 在對應系統平台下的 ZeroTier 目錄位置,創建 moods.d 文件夾。

    sudo mkdir /var/lib/zerotier-one/moods.d
    
  • 將 moon 服務器生成的 0000006xxxxxxxxx.moon 拷貝到 moods.d 文件夾下。

  • 重啟 zerotier-one 服務。

    • Linux :/etc/init.d/zerotier-one restart
    • Windows :
      • 按下 windows鍵+r ,打開 “運行” 窗口。
      • 輸入 services.msc 回車。
      • 找到 ZeroTier One 服務,右鍵選擇 “重新啟動” 。

檢測生效

  • 在非 moon 的客戶端,輸入命令:

    zerotier-cli listpeers
    
  • Windows 有一點不同,需要使用管理員權限的 PowerShell 輸入:

    zerotier-cli listpeers
    

如果出現如下情況:

  • moon 服務器的 ID 、IP 地址出現在列表中,證明聯通 moon 服務器。
200 listpeers <ztaddr> <path> <latency> <version> <role>
...................
200 listpeers 6xxxxxxxxx [moon IPv4地址]/60723;11450;11405 -1 1.4.6 MOON
...................


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM