天天看點

組網神器Zerotier One使用

一些問題

異地組網,管理友善,A、B網段内的IP可以直接互相通路

如果不搭建​<code>​MOON​</code>​節點,直接​<code>​P2P​</code>​的話,速度确實讓人捉急,我感覺這個原因勸退了絕大多數人

應用場景不同。​<code>​Zerotier One​</code>​更适合用來組網,可以把它了解成​<code>​VPN​</code>​,可以直接通過區域網路内IP互相通路。而​<code>​frp​</code>​特點是把内網的某個服務穿透出去,機器一多的話,你就需要記住不同端口号或子網域名。這裡并不是說​<code>​Zerotier One​</code>​比​<code>​frp​</code>​更好用,需要根據自己的業務場景來看。比如你在家裡部署了一個WEB服務,想要給你異地的朋友使用,你不可能讓你的朋友安裝​<code>​Zerotier One​</code>​吧?直接用​<code>​frp​</code>​把該服務反向代理映射出去,直接給他一個域名不是更友善?

開始使用

賬号注冊(略),注意國内通路速度很慢,這個自己解決一下

建立網絡,​​進入網絡管理頁面​​,點選​<code>​Create A Network​</code>​後,自動建立一個網絡,點選網絡ID右側的小圖示可以進行複制

組網神器Zerotier One使用

用戶端安裝,推薦使用​<code>​docker​</code>​

(1)拉取并運作:<code>docker run -d --restart unless-stopped --name zerotier-one --device /dev/net/tun --net host --cap-add NET_ADMIN --cap-add SYS_ADMIN -v /var/lib/zerotier-one:/var/lib/zerotier-one henrist/zerotier-one</code>

(2)将該用戶端A加入網絡:<code>docker exec zerotier-one zerotier-cli join 8bd5124fd655f3bf</code>,注意最後的網絡ID,就是上面複制的,根據自己的進行替換,成功後會顯示<code>200 join OK</code>字段

(3)進入該網絡的管理界面,授權該用戶端加入該網絡

組網神器Zerotier One使用

(4) 重複上面步驟,加入另外的用戶端B

(5)根據圖(3)中配置設定的IP,A、B機器可以互相<code>ping</code>通

(6)如果是<code>Windows</code>,用戶端可以直接下載下傳官方的安裝包,進行安裝,不需要使用<code>Docker</code>

(7)直接使用這種<code>P2P</code>方式連接配接的話,速度較慢,一般至少有<code>200m</code>s的延時

準備一台有公網IP的機器,放行​<code>​9993​</code>​端口

根據​<code>​docker logs -f zerotier-moon​</code>​運作輸出的日志,在用戶端執行該指令添加該​<code>​MOON​</code>​節點

組網神器Zerotier One使用

A、B機器再​<code>​ping​</code>​一下,檢視網絡連接配接是否改善

​<code>​docker exec zerotier-one zerotier-cli listmoons​</code>​可以檢視加入的​<code>​MOON​</code>​

現在考慮一個場景:A機器所在的内網​<code>​lan_A​</code>​有10台Server,B機器所在的内網​<code>​lan_B​</code>​也有10台Server,怎麼讓A、B機器直接通路到對方其它Server?

在這20台Server上分别裝上用戶端,這個可以實作需求,不過管理上比較麻煩。

實際上隻要分别在​<code>​lan_A​</code>​、​<code>​lan_B​</code>​的某台機器上安裝用戶端,開啟核心轉發,然後在Web管理頁面添加兩條路由就可以了。

最簡單的方法當然是分别在A、B機器上安裝用戶端就可以了,但前提是這兩台機器都是​<code>​Linux​</code>​系統,因為需要開啟核心轉發功能。我在官網文檔并沒找到​<code>​Windows​</code>​的配置方法。

如果A、B兩台機器都是​<code>​Windows​</code>​系統的話,需要分别裝上用戶端。然後在各自的内網内找一台Server,安裝用戶端後,開啟核心轉發就可以了

正常在兩台Server上安裝用戶端

兩台機器分别執行以下指令,開啟核心轉發:

登入Web管理添加路由

盡力表示了,還看不懂的話​​看下文檔​​,按照這個方法,添加另外一條路由。

再來概括一下吧:通過​<code>​Zerotier One​</code>​中配置設定的IP作為網關,跳到對應的網絡

組網神器Zerotier One使用

K2P使用

以下内容搬運自恩山論壇​​csl0524的文章​​,稍微做了些修改,如果侵權,請聯系删除

​<code>​open-zerotier.sh​</code>​腳本:

儲存open-zerotier.sh腳本,放入/etc/storage目錄下

自定義腳本中添加以下指令

組網神器Zerotier One使用

到zerotier背景看應該有裝置連接配接上來了,在Auth項打勾授權

切換到/etc/storage目錄,在該目錄下建立一個ZT的檔案夾,再打開​<code>​/opt/var/lib/zerotier-one/​</code>​目錄,複制​<code>​authtoken.secret identity.publicidentity.secret​</code>​三個檔案到剛才的ZT檔案夾。這三個檔案夾包含着本機zerotier的網絡号,每次開機zerotier自動安裝好後會把這三個檔案恢複,不然每次開機zerotier會重新生成一個網絡号并且要背景重新授權

組網神器Zerotier One使用