https://my.zerotier.com 教學: 內網穿透工具 ZeroTier,從簡單到複雜的玩法,毫無保留,一期全部播出_哔哩哔哩_bilibili

修改路由表

區域網路指向旁路由設備 A 區域網路未指向旁路由設備 B 外網設備 C https://my.zerotier.com/network

路由表 A : ZerpTier``192.168.191.0/24 路由表 B : 區域網路 192.168.11.0/24

軟路由安裝了 ZerpTier 後,軟路由就有了 ZerpTier 網路的路由表

  1. 區域網路指向旁路由設備 A 可以訪問外網設備 C 192.168.191.0/24, 指向旁路由的設備 A 就知道如何訪問其他 ZerpTier 的外網設備 C 外網設備 C

  2. 外網設備C 不能訪問 區域網路指向旁路由設備 A

外網設備 C,雖然有 ZerpTier 網路的路由表,但是只能訪問到旁路由 192.168.191.39, 不能訪問 區域網路指向旁路由設備 A

  • 解決

因此需要在 ZeroTier 手動加入路由表, 指向旁路由在 ZeroTier 的 IP 位址 image-20240714164354903.png

相當於給外網設備加入 路由表 B

  1. 區域網路未指向旁路由設備 B 不能訪問 外網設備C

同理,在主路由加入路由資訊,將 192.168.191.0/24 的連線指向旁路由,讓旁路由利用自身路由表路由

ZeroTier异地组网-20241231.png

全隧道模式

讓外網設備透過家裡的軟路由存取網路,不走自身網路,家裡的會再連線

相當於讓一個設備的全部網路走家裡,缺點: 無法 p2p 時速度非常慢

image-20240713112055092.png

image-20240713111941567.png 0.0.0.0/0 相當於 外網設備C 都根據這個路由表,將流量轉送到 軟路由

image-20240713112915122.png

然後打開覆蓋預設路由的選項 Allow Default Router Override

Linux 安裝 ZeroTier 和節點控制器

ZeroTier

連接埠開放 UDP 9993 和 TCP 9993 節點控制器 TCP 3443

此外,解除安裝指令:

dpkg -P zerotier-one
rm -rf /var/lib/zerotier-one/

節點 506f2eff25

ZeroTier

一鍵安裝指令:
curl -s https://install.zerotier.com | sudo bash

解除安裝:dpkg -P zerotier-one rm -rf /var/lib/zerotier-one/

啟動並開啟自動啟動

systemctl start zerotier-one.service
systemctl enable zerotier-one.service

進入安裝目錄 cd /var/lib/zerotier-one/

產生節點設定 zerotier-idtool initmoon identity.public> moon.json

修改 moon.json    stableEndpoints: []改為    stableEndpoints: [47.xx.xx.10/9993]

產生簽章 zerotier-idtool genmoon moon.json

建立目錄 mkdir moons.d

將產生的簽章移動到建立的目錄 mv 00000050c0acc251.moon moons.d/

重新啟動服務 systemctl restart zerotier-one

----加入---

加入 moon 伺服器,使用安裝產生的節點

加入 moon

然後在 openwrt 中加入 zerotier-cli orbit zerotier-cli orbit xxxx xxxx 然後重新啟動 linux : systemctl restart zerotier-one openwrt : service zerotier restart

自建節點控制器

自建的 Moon 伺服器,會根據已連線的裝置,自動選擇走 moon 還是官方 planet 還是 p2p, 但如果官方 planet 無法存取,就用不了 節點網路控制器,因此需要自建 節點網路控制器 來授權節點間的存取 image-20240714112235701.png

docker run -d --name ztncui -p 3000:3000 -e HTTP_ALL_INTERFACES=yes -e HTTP_PORT=3000 -e ZTNCUI_PASSWD=password keynetworks/ztncui

報錯 [version `GLIBCXX_3.4.20 not found 解決方法 - 簡書 (jianshu.com)](https://www.jianshu.com/p/050b2b777b9d)

image-20240714144453289.png 然後 easy setup

然後讓節點控制器,自己加入自己,這樣可以避免公網連接埠存取

zerotier-cli join xxxxx

命令

systemctl restart zerotier-one

netstat -tulnp
sudo systemctl status ztncui
zerotier-cli listpeers


linux : systemctl restart zerotier-one
openwrt :  service zerotier restart

zerotier-cli info -j 

查看 tcpFallbackActive 是否為 true ,如是,則說明當前走的是最慢的 relay 模式,必然不是直連

zerotier-cli peers 
查看相應 LEAF 的 path 欄是否有 ip 位址,如果沒有,表示是 relay,也不是直連
實測。透過 ping 查看延遲,傳輸大檔案查看速率,如果延遲較低、傳輸速度接近上下行頻寬,基本可以確定就是直連了

linux : `systemctl restart zerotier-one`
openwrt :  `service zerotier restart`

測試

1440P

電腦使用軟體, 不連接軟路由,手機流量連接不上,手機 wifi 連接最後 P2P, 快

(戶外手機連接電腦,電腦使用軟路由)電腦使用軟體, 連接軟路由,手機流量連接電腦 zerotier IP , 手機流量可以連接上,慢,延遲 400, 手機 wifi 連接不上

(戶外手機連接軟路由,軟路由連接電腦)電腦不使用軟體, 連接軟路由,手機流量連接區域網路電腦 IP, 會根據路由表轉到軟路由 zerotier IP ,可以連接上 ,超級慢 ,同 wifi 下,還是區域網路電腦 IP, 無意義

自己搭建的 moon 連接非常快,但是測試時不時卡頓,wifi 可以 P2P, 非常流暢,但是手機流量無法p2p

此外因為zerotier本身是代理軟體,手機使用 zerotier 後無法使用clash