ZeroTier 是一個虛擬局域網軟件,局域網內的機器,流量不走公網,降低了風險和費用。而且軟件開源,同一子網下免費使用100個機器,然而在國內如果要用好ZeroTier,最好搭建MOON轉發服務器。
因為我現有公網的機器是windows系統的,但是現在網上的moon服務器搭建教程都是基於Linux的,通過一番折騰,找到windows系統下作moon服務器的方法。
使用步驟
1、 Linux下搭建moon可以參考下這篇文章:
使用ZeroTier組建虛擬內網/如何搭建MOON轉發服務器
https://icodex.org/2020/02/how-to-create-virtual-local-area-network-and-moon-server-with-zerotier/
2、 Windows下搭建moon
到ZeroTier 官網下載windows客戶端ZeroTier One https://www.zerotier.com/download/
安裝ZeroTier One
做moon服務器主要用到的是使用zerotier-idtool initmoon初始化生成moon.json文件,修改zerotier-idtool genmoon,windows系統看起來沒有zerotier-idtool命令,其實使用zerotier-one_x64.exe帶參數運行就可以,zerotier-one_x64.exe一般情況存在於C:\ProgramData\ZeroTier\One文件夾下C:\ProgramData\ZeroTier\One\zerotier-one_x64.exe
打開命令行工具cmd
輸入
-
CD C:\ProgramData\ZeroTier\One\
-
zerotier-one_x64.exe -i
出現如下界面,這就是zerotier-idtool命令
1)生成MOON模板
命令方式和linux一致
zerotier-one_x64.exe -i initmoon identity.public >>moon.json
運行后在C:\ProgramData\ZeroTier\One\目錄下生成moon.json文件
2)修改模板,編輯器打開moon.json,把公網IP地址填到里面去,端口保持默認即可
“stableEndpoints”: [ “8.8.8.8/9993” ] #8.8.8.8 改為你的公網IP
3)生成MOON簽名
zerotier-one_x64.exe -i genmoon moon.json
運行后在C:\ProgramData\ZeroTier\One\目錄下生成類似000000xxxxx.moon的文件
,.moon前面的即這台MOON的ID,后續使用時需要,注意保存
4) 把MOON加入網絡中
運行后在C:\ProgramData\ZeroTier\One\目錄下建立文件夾 moons.d,將剛剛生成的 .moon 文件拷貝進去。
5)重啟 ZeroTier,MOON即可在該網段可用
1 按“WIN+R”鍵,打開運行窗口;2 輸入”services.msc”,回車,運行的服務中找到ZeroTier one,選中點擊右鍵,重啟啟動。
6)在你的其他加入ZeroTier的機器LEAF節點,執行命令
window:
CD C:\ProgramData\ZeroTier\One\
orbit 000000xxxxx 000000xxxxx #moon服務器的ID值,輸入2遍
zerotier-one_x64.exe -q
linux:
zerotier-cli orbit 000000xxxxx 000000xxxxx #moon服務器的ID值,輸入2遍
7)查看客服端是否成功使用moon服務器
你的信令就會經過這台中轉服務器進行轉發,查看是否存在MOON服務器,可以執行命令進行查看
window:
zerotier-one_x64.exe -q
listpeers
linux:
zerotier-cli listpeers
出現下圖,服務器對應ID最后后面顯示moon說明已經加入了moon服務器中,還是leaf說明沒有加入moon服務器
8) 群暉NAS加入moon注意事項
原來群暉NAS加入ZeroTier 后,沒有使用moon服務器時ping值400左右,加入moon后ping值大幅降低
群暉使用ssh登錄后默認沒有啟用root權限,
登錄進群輝,然后輸入“sudo -i”,申請提權。
然后在下一行再次輸入群輝管理員密碼,獲取到root權限。
加入moon
zerotier-cli orbit 000000xxxxx 000000xxxxx #moon服務器的ID值,輸入2遍