節點軟體

安裝 Vonode 節點

節點軟體將一台裝有行動網路模組的 64 位元 Linux 電腦變成 Vonode App 管理的節點。它沒有網頁介面:安裝好、和 App 配對,之後的一切都在 App 裡管理。

  1. 準備硬體主機、模組、SIM 卡
  2. 安裝systemd 安裝套件
  3. 配對 App掃描一次性 QR Code
  4. 免費方案或訂閱在 App 中選擇

準備硬體

購買硬體前,請先在硬體頁面查看完整清單。

主機

  • 64 位元 x86(amd64)Linux:Debian 12、Ubuntu 22.04 以上版本,或 Fedora
  • root 權限和完整的 iproute2 套件
  • ARM(arm64)開發板:預計在 1.3.1 提供,本版本不支援
主機需求 →

行動網路模組

  • 具備序列埠和 QMI 介面、採用高通平台的 Quectel 模組。目前已實測:DJI Cellular 模組(內建 EG25-G)
  • 主天線和分集天線都要接上
  • 連接多個模組時,請使用有外接電源的 USB 集線器
支援的模組 →

SIM 卡與網路

  • 已關閉 PIN 碼的 SIM 卡;如需 eSIM,請使用可插拔 eUICC 卡
  • 手機能連到 TCP 2222 連接埠:在路由器上設定連接埠轉送,或使用 WireGuard、Tailscale 等 VPN
  • 電信業者已在資費方案中開通 Wi-Fi 通話
SIM 卡與電信業者說明 →

開始前,先停用會搶占模組序列埠的 ModemManager,並確認 Linux 已辨識模組:

$ sudo systemctl disable --now ModemManager
$ lsusb | grep -i -E 'quectel|2c7c|qualcomm|05c6'
$ ls /dev/ttyUSB* /dev/cdc-wdm*

每個模組應顯示一行 Quectel 資訊、四個 ttyUSB 連接埠和一個 cdc-wdm 連接埠。

安裝

本版本請使用 systemd 安裝套件:它把節點安裝為兩個系統服務,不需要 Docker。Docker Compose 方式即將推出,下面列出的步驟僅供參考,商用映像檔尚未發布。兩種方式的配對和方案用法完全相同。

本版本建議的安裝方式。systemd 安裝套件把節點安裝為兩個系統服務,不需要 Docker。

  1. 下載並驗證安裝套件

    下載對應版本的發行套件,並核對它的 SHA-256 檢查碼。

    $ curl -fLO https://github.com/vonode/vonode-releases/releases/download/<version>/vonode_<version>_linux_amd64_commercial.tar.gz
    $ curl -fLO https://github.com/vonode/vonode-releases/releases/download/<version>/vonode_<version>_linux_amd64_commercial.tar.gz.sha256
    $ sha256sum -c vonode_<version>_linux_amd64_commercial.tar.gz.sha256
    $ tar -xzf vonode_<version>_linux_amd64_commercial.tar.gz
  2. 執行安裝程式

    安裝程式會把程式放到 /opt/vonode,保留既有的設定和資料庫,建立系統使用者 vonode-gateway,並啟動兩個服務:vonode,以及 App 連線用的加密 SSH 閘道服務 vonode-gateway。

    $ cd vonode_<version>_linux_amd64_commercial
    $ sudo ./install.sh
  3. 顯示配對 QR Code

    填寫手機連到節點時使用的位址。如果轉送的是其他連接埠,請加上 -port <連接埠>。

    $ sudo /opt/vonode/vonode pair -c /opt/vonode/config/config.yaml -host node.example.com

商用 Docker 映像檔尚未發布。

在映像檔發布之前,setup.sh 會停下並要求指定映像檔:請傳入發行說明中的 --image vonode/vonode@sha256:<digest>,或者改用 (在安裝套件最上層目錄、也就是 docker/ 的上一層執行 sudo ./install.sh),這是本版本支援的安裝方式。

  1. 安裝 Docker Engine 和 Compose

    Docker 官方的便利指令碼適用於 Debian、Ubuntu 和 Fedora。最後一道指令必須輸出 Compose v2 的版本號碼。

    $ curl -fsSL https://get.docker.com | sh
    $ sudo systemctl enable --now docker
    $ docker compose version
  2. 下載並驗證安裝套件

    每個版本都發布在 Vonode 節點發行頁 上,附有 SHA-256 檢查碼、軟體物料清單(SBOM),以及其中 GPL 和 LGPL 元件的原始碼。

    $ curl -fLO https://github.com/vonode/vonode-releases/releases/download/<version>/vonode_<version>_linux_amd64_commercial.tar.gz
    $ curl -fLO https://github.com/vonode/vonode-releases/releases/download/<version>/vonode_<version>_linux_amd64_commercial.tar.gz.sha256
    $ sha256sum -c vonode_<version>_linux_amd64_commercial.tar.gz.sha256
    $ tar -xzf vonode_<version>_linux_amd64_commercial.tar.gz
  3. 執行安裝指令碼

    --host 是手機連到節點時使用的網域名稱或 IP 位址。指令碼會檢查主機、列出找到的模組、啟動 vonode 和 vonode-gateway 兩個容器,等兩者都正常運作後顯示配對 QR Code。

    $ cd vonode_<version>_linux_amd64_commercial/docker
    $ sudo ./setup.sh --host node.example.com
    sudo ./setup.sh --host node.example.com 的終端機輸出:偵測到兩個 Quectel 2c7c:0125 模組及其裝置節點、部署摘要、Docker Compose 啟動 vonode 和 vonode-gateway 容器,以及 Both containers are healthy 一行
    再次執行 setup.sh 會保留設定和資料。sudo ./setup.sh --uninstall 會停止節點並保留全部資料;加上 --purge 則全部刪除。

配對 App

從 App Store 安裝 Vonode(免費下載)。在主機防火牆上允許 TCP 2222 連接埠;如果手機要從外部網路連線,還需在路由器上設定連接埠轉送。配對碼 5 分鐘內有效,只能使用一次。

Vonode App 在中國大陸以外的 App Store 國家和地區提供,台灣、香港和澳門的 App Store 均可下載;中國大陸的 App Store 目前不提供。

$ sudo ufw allow 2222/tcp
Vonode App 的首次連線頁面「連接你的節點」:QR Code 掃描框、手動登入入口和 App 審核碼輸入欄
掃描開啟 Vonode App,在「連接你的節點」頁面點一下掃描框,把相機對準終端機上的 QR Code。
配對後的 Vonode App 首頁:節點及其號碼和狀態(審核演示用的合成資料)
已連線App 透過 SSH 連線到節點,固定節點的主機金鑰,並列出它的號碼。

之後需要新的配對碼?再次執行 pair 指令:

$ sudo /opt/vonode/vonode pair -c /opt/vonode/config/config.yaml -host node.example.com

免費方案或訂閱

未訂閱時,節點以免費方案執行。其他功能都需要在 App 內購買訂閱;一份訂閱解鎖一個節點。

免費方案下 Vonode App 的「號碼」標籤頁:「選擇你的免費號碼」卡片和節點上的號碼(測試用合成資料)
免費方案開啟「號碼」標籤頁,選擇一個你想查看簡訊的號碼。選定後不能更換。
免費方案下 Vonode App 的「更多」標籤頁:免費方案卡片和「查看方案」按鈕(測試用合成資料)
訂閱開啟「更多」,點「查看方案」。節點幾秒內就會解鎖;之後用「新增模組」加入更多模組,並為每張 SIM 卡開啟 Wi-Fi 通話。

日常維運

使用 systemd 安裝套件時,節點以 vonode 和 vonode-gateway 兩個服務執行。Docker 方式推出後,對應的指令在安裝套件的 docker/ 目錄下執行。

查看狀態和記錄

$ systemctl status vonode vonode-gateway
$ journalctl -u vonode -f

兩個服務都應顯示 active (running)。

重新啟動

$ sudo systemctl restart vonode

忘記管理員密碼

$ sudo systemctl stop vonode
$ sudo /opt/vonode/vonode reset-password -c /opt/vonode/config/config.yaml
$ sudo systemctl start vonode

停止服務、重設密碼,再啟動服務。所有手機都會登出,需要重新配對。

Docker(即將推出)

$ sudo docker compose ps
$ sudo docker compose logs -f vonode

Docker 方式下查看狀態和記錄,在 docker/ 目錄下執行。

重新啟動或停止最多需要兩分鐘:節點會先取消註冊 Wi-Fi 通話並關閉通道。請保留已配對手機所固定的 SSH 主機金鑰:Docker 方式下它保存在 vonode_gateway-private 磁碟區中,所以不要執行 docker compose down -v。

疑難排解

ModemManager 正在執行

ModemManager 會比 Vonode 先占用序列埠。停用它,然後重新啟動節點(使用 Docker 時改為重新執行 sudo ./setup.sh):

$ sudo systemctl disable --now ModemManager
$ sudo systemctl restart vonode
偵測不到模組

如果 lsusb 裡沒有 Quectel(2c7c)裝置,請換一條線或換一個連接埠,使用有外接電源的集線器,並用 dmesg 查看 USB 供電錯誤。如果 lsusb 看得到模組但沒有 /dev/ttyUSB*,請載入驅動程式,然後重新插拔模組:

$ sudo modprobe -a option qmi_wwan
App 連不上節點

在你的網路之外的裝置上測試連接埠。沒有回應表示路由器轉送或防火牆設定有誤,或者網路服務供應商使用了電信級 NAT;這時請在手機和主機之間建立 VPN,並用主機的 VPN 位址配對。

$ nc -vz node.example.com 2222
配對碼已過期或已使用

配對碼 5 分鐘內有效,只能使用一次。用「配對 App」一節中的 pair 指令產生新的配對碼。

需要更詳細的說明?

逐步指南涵蓋硬體選購、setup.sh 的全部選項、移轉到新硬體和更多疑難排解。

節點軟體是 VONODE LLC 的專有軟體。第三方元件及其授權條款列在安裝套件的 THIRD_PARTY_NOTICES.txt 和 SBOM 中。其中包括 strongSwan(GPL-2.0-or-later)以及靜態連結的 glibc 和 GMP(LGPL),對應的原始碼隨每個版本發布。Vonode 不是緊急通訊服務:請只在你有權使用的 SIM 卡、號碼和網路上使用。