80后的细娃儿

ZeroTier 中级教程

這篇中階教程從這個網絡拓撲圖説起。

《ZeroTier 中级教程》
ZeroTier 中階教程

本文教大家如何通過 ZeroTier 讓拓撲圖中的 兩台 PC、兩台 Router、兩台 Server、iPhone 之間可以互相訪問。

初階方案

如果讀過初階教程,那一定能想得到最容易的方法:在所有的設備上都安裝 Zerotier 就可以實現互相訪問的目的。但這也是最麻煩的方法,畢竟要在所有設備上安裝 ZeroTier。

正確的做法是什麼?

只需要在兩台 Router上安裝 ZeroTier 並正確配置 路由表 和 防火牆 即可。

正式開始

  1. 在 Router1 上安裝 Zerotier,並填寫 network ID 加入 ZeroTier 網絡
  2. 假設 ZeroTier 為 Router1 分配的 IP 為 10.10.10.11
  3. 在 ZeroTier 官網設置 Managed Routes 選項 如下圖填寫:
    《ZeroTier 中级教程》
    ZeroTier 中階教程
  4. 點擊加號,等待生效。
  5. 配置 Router1 的防火牆(以 OPENWRT 路由器為例)
  6. 為了測試 iPhone 安裝並運行 ZeroTier 並加入 ZeroTier 網絡

如此 Router1 下的所有設備和 iPhone 可以互相訪問了,也就是説 iPhone、Router1、PC1、Server1 任意兩個之間都可以 ping 通。

比如在 iPhone 上 ping 10.10.10.11(Router1)、192.168.10.1(Router1)、192.168.10.100(PC1)、192.168.10.200(Server1) 都是沒問題的。

更進一步

將 Router2 網絡加入 ZeroTier,過程和 Router1 類似。

  1. 在 Router2 上安裝 Zerotier,並填寫相同 network ID 加入 ZeroTier 網絡
  2. 假設 ZeroTier 為 Router2 分配的 IP 為 10.10.10.12
  3. 在 ZeroTier 官網設置 Managed Routes 選項 如下圖填寫:
    《ZeroTier 中级教程》
    ZeroTier 中階教程
  4. 點擊加號,等待生效。
  5. 配置 Router2 的防火牆(以 OPENWRT 路由器為例)

至此,拓撲圖上的所有設備都可以互相訪問了。而 Router1 和 Router2 所在的兩個網絡被無縫連接在了一起,如果兩個網絡在異地,那就是所謂的異地組網了。

ZeroTier 的 Managed Routes 功能

按上面教程設置後, Managed Routes 如下圖,

《ZeroTier 中级教程》
ZeroTier 中階教程

對於熟悉路由表的朋友應該沒什麼難度,但對於對於網絡瞭解很少的朋友可能會有些困難。這裏簡單説明下:

  • networks/bits:填寫需要被訪問的網段
  • (lan):網絡中接入 ZeroTier 的設備被分配的 IP

所以前面的教程例子很容易理解了,以 Router1 為例:

  • 需要被訪問的是 Router1 下的設備,就是 Router1 的 lan IP 段,拓撲圖上可以看出 Router1 lan IP 段為 192.168.10.1/24
  • 這部分網絡,接入 ZeroTier 的是 Router1 ,被分配的 IP 為 10.10.10.11
  • 所以 networks/bits 為 192.168.10.1/24,(lan)為 10.10.10.11

用相同的思路分析 Router2 的網絡,也能得到:networks/bits 為 192.168.5.1/24,(lan)為 10.10.10.12

ZeroTier 會根據你的設置,自動(智能)下發路由表到設備中,從而實現多個網段互聯互通。

感興趣的朋友可以按照教程組網,然後查看設備上路由表。

需要注意

  • 組網的多個局域網,IP 段不能衝突,
    • 如拓撲圖中 Router1 192.168.10.1/24 和 Router2 192.168.5.1/24 是不衝突的。
  • 防火牆的配置可能因設備而異
    • 主要的目的是放行 ZeroTier 的數據包和 SNAT 轉換。

其他 FAQ

  1. ZeroTier 一定要安裝路由器上才能實現組網嘛?
    • 不,只要能運行 ZeroTier 的設備加上正確的路由表都可以實現。只是在路由器(網關上)某些配置更加方便。
  2. 只能兩個局域網互相訪問嘛?
    • 當然可以更多
  3. 延遲如何?
    • 實測在 4G 網絡下十分不穩定。
    • 在固網(寬帶)的情況下很穩定
点赞

发表评论