Tailscale
Gateway ダッシュボード向けの統合 Tailscale Serve / Funnel。
OpenClaw は Tailscale Serve(テールネット)または Funnel(パブリック)を自動的に構成できます
Gateway ダッシュボードと WebSocket ポート。これにより Gateway はループバックにバインドされ、
Tailscale が HTTPS、ルーティング、(Serve の場合)ID ヘッダーを提供します。
モード
tailscale serve 経由のテールネットのみ。Gateway は 127.0.0.1 に留まります。
tailscale funnel 経由のパブリック HTTPS。OpenClaw は共有パスワードを必要とします。
デフォルト(Tailscale 自動化なし)。
Authentication
ハンドシェイクを制御するために gateway.auth.mode を設定します:
(OPENCLAW_GATEWAY_TOKEN が設定されている場合のデフォルト)
(OPENCLAW_GATEWAY_PASSWORD または設定の共有シークレット経由)
tailscale.mode = "serve" かつ gateway.auth.allowTailscale が true の場合、
有効な Serve プロキシリクエストは Tailscale ID ヘッダー経由で認証できます
(tailscale-user-login) トークン/パスワードを提供せずに。OpenClaw は検証します
ローカル Tailscale 経由で x-forwarded-for アドレスを解決して ID を識別し、
デーモン (tailscale whois) を使用してヘッダーと照合し、受け入れる前に確認します。
ループバックからリクエストが到着すると、OpenClaw はそれを Serve としてのみ扱います
Tailscale の x-forwarded-for、x-forwarded-proto、x-forwarded-host
ヘッダー。
明示的な認証情報を要求するには、gateway.auth.allowTailscale: false または
gateway.auth.mode: "password" を強制します。
Configuration examples
#
テールネットのみ(Serve)
{
gateway: {
bind: "loopback",
tailscale: { mode: "serve" },
},
}開く:https://<magicdns>/(または設定した gateway.controlUi.basePath)
#
テールネットのみ(Tailnet IP にバインド)
Gateway を Tailnet IP で直接リッスンしたい場合(Serve/Funnel なし)はこれを使用します。
{
gateway: {
bind: "tailnet",
auth: { mode: "token", token: "your-token" },
},
}別の Tailnet デバイスから接続します:
コントロール UI:http://<tailscale-ip>:18789/
WebSocket:ws://<tailscale-ip>:18789
注意:ループバック(http://127.0.0.1:18789)はこのモードでは動作しません。
#
パブリックインターネット(Funnel + 共有パスワード)
{
gateway: {
bind: "loopback",
tailscale: { mode: "funnel" },
auth: { mode: "password", password: "replace-me" },
},
}パスワードをディスクに保存するよりも OPENCLAW_GATEWAY_PASSWORD を優先します。
CLI examples
openclaw gateway --tailscale serve openclaw gateway --tailscale funnel --auth password
Notes
Tailscale Serve/Funnel には tailscale CLI のインストールとログインが必要です。
tailscale.mode: "funnel" は、公開露出を避けるために認証モードが password でない限り起動を拒否します。
OpenClaw に tailscale serve を取り消させたい場合は、gateway.tailscale.resetOnExit を設定します
または終了時の tailscale funnel 設定。
gateway.bind: "tailnet" は直接 Tailnet バインディング(HTTPS なし、Serve/Funnel なし)。
gateway.bind: "auto" はループバックを優先します。Tailnet のみを使用する場合は tailnet を使用します。
Serve/Funnel は Gateway コントロール UI + WS のみを公開します。ノード接続は
同じ Gateway WS エンドポイント経由で行われるため、Serve をノードアクセスに使用できます。
ブラウザ制御(リモート Gateway + ローカルブラウザ)
1 台のマシンで Gateway を実行しているが、別のマシンからブラウザを操作したい場合、
ブラウザマシンで ノードホスト を実行し、両方を同じテールネットに保持します。
Gateway はブラウザ操作をノードにプロキシします。別のコントロールサーバーまたは serve URL は不要です。
ブラウザ制御には Funnel を避けてください。ノードペアリングをオペレーターアクセスとして扱います。
Tailscale の前提条件 + 制限
Serve にはテールネットの HTTPS が有効になっている必要があります。ない場合、CLI がプロンプトを表示します。
Serve は Tailscale ID ヘッダーを挿入します。Funnel は挿入しません。
Funnel には Tailscale v1.38.3+、MagicDNS、HTTPS 有効、Funnel ノード属性が必要です。
Funnel は TLS 上のポート 443、8443、10000 のみをサポートします。
macOS 上の Funnel にはオープンソースの Tailscale アプリバリアントが必要です。
Learn more
Tailscale Serve の概要:https://tailscale.com/kb/1312/serve
tailscale serve コマンド:https://tailscale.com/kb/1242/tailscale-serve
Tailscale Funnel の概要:https://tailscale.com/kb/1223/tailscale-funnel
tailscale funnel コマンド:https://tailscale.com/kb/1311/tailscale-funnel