一些問題
異地組網,管理友善,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右側的小圖示可以進行複制

用戶端安裝,推薦使用<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)進入該網絡的管理界面,授權該用戶端加入該網絡
(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>節點
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作為網關,跳到對應的網絡
K2P使用
以下内容搬運自恩山論壇csl0524的文章,稍微做了些修改,如果侵權,請聯系删除
<code>open-zerotier.sh</code>腳本:
儲存open-zerotier.sh腳本,放入/etc/storage目錄下
自定義腳本中添加以下指令
到zerotier背景看應該有裝置連接配接上來了,在Auth項打勾授權
切換到/etc/storage目錄,在該目錄下建立一個ZT的檔案夾,再打開<code>/opt/var/lib/zerotier-one/</code>目錄,複制<code>authtoken.secret identity.publicidentity.secret</code>三個檔案到剛才的ZT檔案夾。這三個檔案夾包含着本機zerotier的網絡号,每次開機zerotier自動安裝好後會把這三個檔案恢複,不然每次開機zerotier會重新生成一個網絡号并且要背景重新授權