Tailscale (tableau de bord de la Gateway (passerelle))¶
OpenClaw peut configurer automatiquement Tailscale Serve (tailnet) ou Funnel (public) pour le tableau de bord de la Gateway (passerelle) et le port WebSocket. Cela permet de conserver la Gateway liĂ©e au loopback tandis que Tailscale fournit HTTPS, le routage et (pour Serve) des en-tĂȘtes dâidentitĂ©.
Modes¶
serve: Serve uniquement sur le tailnet viatailscale serve. La Gateway reste sur127.0.0.1.funnel: HTTPS public viatailscale funnel. OpenClaw requiert un mot de passe partagé.off: Par défaut (aucune automatisation Tailscale).
Authentification¶
Définissez gateway.auth.mode pour contrÎler la négociation :
token(par défaut lorsqueOPENCLAW_GATEWAY_TOKENest défini)password(secret partagé viaOPENCLAW_GATEWAY_PASSWORDou la configuration)
Lorsque tailscale.mode = "serve" et que gateway.auth.allowTailscale est true,
les requĂȘtes proxy Serve valides peuvent sâauthentifier via les en-tĂȘtes dâidentitĂ© Tailscale
(tailscale-user-login) sans fournir de jeton/mot de passe. OpenClaw vérifie
lâidentitĂ© en rĂ©solvant lâadresse x-forwarded-for via le dĂ©mon Tailscale
local (tailscale whois) et en la faisant correspondre Ă lâen-tĂȘte avant de lâaccepter.
OpenClaw ne considĂšre une requĂȘte comme Serve que lorsquâelle arrive depuis le loopback avec
les en-tĂȘtes Tailscale x-forwarded-for, x-forwarded-proto et x-forwarded-host.
Pour exiger des identifiants explicites, définissez gateway.auth.allowTailscale: false ou
forcez gateway.auth.mode: "password".
Exemples de configuration¶
Tailnet uniquement (Serve)¶
{
gateway: {
bind: "loopback",
tailscale: { mode: "serve" },
},
}
Ouvrez : https://<magicdns>/ (ou votre gateway.controlUi.basePath configuré)
Tailnet uniquement (liaison Ă lâIP du Tailnet)¶
Utilisez ceci lorsque vous souhaitez que la Gateway Ă©coute directement sur lâIP du Tailnet (sans Serve/Funnel).
{
gateway: {
bind: "tailnet",
auth: { mode: "token", token: "your-token" },
},
}
Connexion depuis un autre appareil du Tailnet :
- Interface de contrĂŽle :
http://<tailscale-ip>:18789/ - WebSocket :
ws://<tailscale-ip>:18789
Remarque : le loopback (http://127.0.0.1:18789) ne fonctionnera pas dans ce mode.
Internet public (Funnel + mot de passe partagé)¶
{
gateway: {
bind: "loopback",
tailscale: { mode: "funnel" },
auth: { mode: "password", password: "replace-me" },
},
}
PrĂ©fĂ©rez OPENCLAW_GATEWAY_PASSWORD plutĂŽt que dâenregistrer un mot de passe sur le disque.
Exemples CLI¶
openclaw gateway --tailscale serve
openclaw gateway --tailscale funnel --auth password
Notes¶
- Tailscale Serve/Funnel nécessite que la CLI
tailscalesoit installĂ©e et connectĂ©e. tailscale.mode: "funnel"refuse de dĂ©marrer sauf si le mode dâauthentification estpasswordafin dâĂ©viter une exposition publique.- DĂ©finissez
gateway.tailscale.resetOnExitsi vous souhaitez quâOpenClaw annule la configurationtailscale serveoutailscale funnelĂ lâarrĂȘt. gateway.bind: "tailnet"est une liaison directe au Tailnet (pas de HTTPS, pas de Serve/Funnel).gateway.bind: "auto"privilĂ©gie le loopback ; utiliseztailnetsi vous souhaitez un accĂšs uniquement Tailnet.- Serve/Funnel nâexposent que lâinterface de contrĂŽle de la Gateway + WS. Les nĆuds se connectent via le mĂȘme point de terminaison WS de la Gateway, donc Serve peut fonctionner pour lâaccĂšs des nĆuds.
ContrÎle du navigateur (Gateway distante + navigateur local)¶
Si vous exĂ©cutez la Gateway sur une machine mais souhaitez piloter un navigateur sur une autre machine, exĂ©cutez un hĂŽte de nĆud sur la machine du navigateur et maintenez les deux sur le mĂȘme tailnet. La Gateway transmettra les actions du navigateur au nĆud ; aucun serveur de contrĂŽle sĂ©parĂ© ni URL Serve nâest nĂ©cessaire.
Ăvitez Funnel pour le contrĂŽle du navigateur ; traitez lâappairage des nĆuds comme un accĂšs opĂ©rateur.
Prérequis et limites Tailscale¶
- Serve requiert que HTTPS soit activĂ© pour votre tailnet ; la CLI vous y invite sâil manque.
- Serve injecte des en-tĂȘtes dâidentitĂ© Tailscale ; Funnel ne le fait pas.
- Funnel requiert Tailscale v1.38.3+, MagicDNS, HTTPS activĂ© et un attribut de nĆud funnel.
- Funnel ne prend en charge que les ports
443,8443et10000via TLS. - Funnel sur macOS nĂ©cessite la variante open source de lâapplication Tailscale.
En savoir plus¶
- Présentation de Tailscale Serve : https://tailscale.com/kb/1312/serve
- Commande
tailscale serve: https://tailscale.com/kb/1242/tailscale-serve - Présentation de Tailscale Funnel : https://tailscale.com/kb/1223/tailscale-funnel
- Commande
tailscale funnel: https://tailscale.com/kb/1311/tailscale-funnel