當你希望 OpenClaw 閘道只聽 127.0.0.1,又要在 vpshalo 多區 VPS 上對外提供穩定入口時,可以刻意不走 overlay DNS(與 Tailscale MagicDNS 那篇 分流:那裡談固定 FQDN 與 ACL;這裡談 loopback 綁定+SSH 反向遠端轉發 -R),再疊上短期存取令牌輪換健康探針合併告警,把落地步驟壓到最小可複現。

全球入口、GeoDNS 與 SSH 延遲取捨,請先對照 Halo 式全球入口決策矩陣;若你同時在意建置物回源與 Split-horizon,可並讀 Split-horizon 與 p95 驗收。本文假設各區已各有一台可作跳板的 vpshalo 主機,且你具備以金鑰登入、調整 sshd_config 的權限。

安全邊界(先劃線再開洞)

預設拒絕:OpenClaw 管理/控制 API 不應直接暴露在公網 0.0.0.0/0 無鑑別狀態。實務上常見做法是閘道行程僅綁 loopback,由受控通道(此處為 SSH 隧道)把遠端埠轉回本機。

閘道「非 loopback 須認證」規則(敘述):多數類 OpenClaw 閘道在設計上會區分「本機維運面」與「對外資料面」。當監聽位址仍是 127.0.0.1 時,健康檢查或本機自動化可用輕量路徑;一旦你把服務綁到非 loopback(例如 0.0.0.0 或區網 IP),控制平面會強制要求帶有效 Bearer/HMAC 等令牌才允許管理類路由,以避免誤設定把無鑑別介面推到可被路由掃到的位址。本文刻意維持 127.0.0.1 綁定,把「誰能從網路碰到那個埠」收斂成「誰能建立 SSH 隧道」這一條邊界,再於隧道外層用防火牆/安全群組限縮來源。

  • 允許:跳板機上僅對內或白名單開放轉發埠;隧道使用專用系統帳號,於 sshd_configMatch User 限縮該帳號僅能建立所需遠端轉發,並關閉 X11Forwarding 等非必要功能。
  • 禁止:把長效 root 密碼或明文 API 金鑰寫進可被世界讀取的 repo;在無 mTLS 的情況下把同一個高權限令牌同時貼給探針與人類操作員。
  • 審計:SSH 與閘道日誌分開保存;令牌輪換與隧道重連事件應能對齊時間線。Runbook 範本可對照 說明與支援中心

最小可複現步驟

以下以「閘道跑在 A(筆電/內網機/遠端 Mac),對外入口在 B(東京/新加坡等 vpshalo 節點)」為模型;多區時在每區各重複一組 B,A 端則依資料落地策略決定是否一對多。

  1. 綁 loopback:將 OpenClaw HTTP/控制埠設為只聽 127.0.0.1:PORTPORT 依發行版文件)。確認本機 curl -fsS http://127.0.0.1:PORT/healthz(或等效健康路徑)回 200。
  2. 開反向隧道:在 A 上對 B 建立 ssh -N -R 0.0.0.0:REMOTE_PORT:127.0.0.1:PORT user@vpshalo-b。若 sshd 要求,於 B 啟用 GatewayPorts clientspecified 或等價設定,並用防火牆只允許必要來源;切勿在未設限時把 REMOTE_PORT 對全網開放。
  3. 常駐與自啟:systemd 服務或 autossh 包住上述指令,設定 Restart=always、合理 StartLimitInterval,並用 IdentityFile 指定跳板專用金鑰。
  4. 令牌輪換:將閘道讀取的 API/管理令牌放在僅 root 或服務帳號可讀的路徑;以每 24–72h(或你方合規要求)的 systemd timer/cron 觸發「產生新令牌 → 原子替換檔案 → systemctl reload 或優雅重啟」。輪換窗口內暫停會打滿重試的批次任務,避免把隧道打滿。
  5. 探針與告警合併:探針仍只打 A 的 127.0.0.1 健康端點(不經公網),另以低頻從「中立觀測點」打 B 的 REMOTE_PORT 驗證隧道與防火牆鏈路。於 Alertmanager/自寫 bot 對同一 alertname 在滑動時間窗內做多區折疊,正文列出「區域 → 最後錯誤摘要」,避免同一根因刷 N 則。
# 範例:本機確認閘道僅 loopback(埠號請替換)
ss -lntp | grep 127.0.0.1

# 範例:反向隧道(REMOTE_PORT/user/host 請替換)
ssh -N -o ServerAliveInterval=30 -o ExitOnForwardFailure=yes \
  -R 0.0.0.0:8443:127.0.0.1:18789 user@tyo.vpshalo.example

節點與計費請以 公開價格方案 為準;選定區域後再決定每區 B 的規格與頻寬,避免隧道成為隱形瓶頸。

FAQ

為何不直接讓 OpenClaw 聽 0.0.0.0? 公網全介面監聽會把「誰能打進管理面」放大到整個網際網路掃描面;loopback+SSH 把暴露面縮成「能登入跳板的那批金鑰持有人」,再靠防火牆二次收斂。

和 MagicDNS 方案互斥嗎? 不必互斥:overlay 解「名稱與身分」,隧道解「只信本機埠」。可依合規區隔:內部自動化走 tailnet,對特定供應商回呼走 VPS 公網+隧道。詳見 MagicDNS 實戰文

隧道斷線時告警怎麼不誤判? 要求「本機 loopback 探針」與「對 B 的遠端埠探針」在合併規則中帶不同標籤;僅遠端失敗時優先懷疑網路/SSH,而非模型本身掛掉。

效能會不會被 SSH 壓扁? 控制與小 payload 通常足夠;大檔與建置產物請走物件儲存或區內回源,論證方法可參考 artifact 與 p95 文

免責:OpenClaw 具體設定鍵、健康路徑與預設埠以你所用的發行版為準;sshd 選項名稱與預設行為以 OpenSSH 官方文件為準。vpshalo 產品邊界以官網公開頁為準。
公開頁 · 立即對照方案

用對的區域跳板承載 OpenClaw 與自動化

先劃清 loopback 與隧道邊界,再挑低延遲 vpshalo 節點承載 -R 與探針;以下皆為官網公開入口,無需登入即可瀏覽。

價格方案 購買/開通 技術部落格
返回首頁選節點