Contexte problématique : OpenClaw fonctionne mais le port 18789 ne doit pas servir depuis l’internet non filtré, alors que postes mobiles, pipelines CI et bastions gardent encore besoin du même petit périmètre de confiance pour clore CLIs/canaux. Lecture courte : alignez gateway.bind avec la sémantique tailnet et utilisez HuJSON Tailscale pour attribuer précisément 18789/tcp. Séquence conseillée : openclaw gateway status, pings mesh, puis un chat minimaliste. Cartographie docs : triangle avec 《checklist TLS Nginx/Caddy》, 《Cloudflare Tunnel + systemd》 (internet public, tunnels sortants, mesh pur). Détails conteneurisés : 《Docker Compose pairing》 et 《Mac distant zero trust SSH/Tunnel》.
Sans exposition publique, il reste des ACL trop larges, des DNS antagonistes ou des problèmes de MTU avant de pointer du doigt vos jetons ou modèles.
*:* : tous les membres peuvent tenter TCP 18789.GATEWAY_URL, d’où pings Tailscale verts mais anciens chemins encore utilisés par la passerelle OpenClaw.Considérez HuJSON comme le pare-feu intérieur ; poursuivez aussi la rigueur de sécurisation CVE / firewall minimal.
| Modèle | Préalables | Compromis |
|---|---|---|
| Internet + reverse‑proxy TLS | Webhooks tiers, clients mobiles flottants sans agent standard. | Certificats, WAF et rate‑limit ; suivre checklist TLS. |
| Cloudflare Tunnel (ou analogue) | Masquer IP source sans carte NAT entrante dédiée. | Dépendance POP ; suivre runbook Tunnel. |
tailnet‑only et gateway.bind=tailnet |
Inventaires déjà enrolés ; passerelle Linux ou Mini distant multi‑régions. | Documentation fine des ACL ; hors mesh = inaccessible par conception. |
Le tailnet remplace‑il vos contrôles d’audit ? Non. Associer un tag générique group:dev à des droits ICMP illimités ruinera vos analyses post‑incident sur 18789.
Sur G, n’exposez TCP 18789 que via tags whitelist. Sur O, OPENCLAW_GATEWAY_URL pointe uniquement MagicDNS ou IP tailnet. Nettoyage des entrées LAN héritées.
Pour runners CI, cloisonnez tag:ci contre tag:gateway:18789 exclusivement TCP.
Les matrices décision SSH/tunnel : suivre également l’article zero trust Mac distant.
tailscale status.tailnet ; fichier ~/.openclaw/openclaw.json ou volume synchrone.Schémas version‑dépendants.openclaw gateway status && doctor; si échec, logs contrôle & hôte corrélés UTC.curl -v --max-time 5 puis conversation minimale ; poursuivez avec Doctor post‑install.{
"gateway": {
"mode": "local",
"bind": "tailnet",
"port": 18789,
"auth": {
"mode": "token",
"token": "${OPENCLAW_GATEWAY_TOKEN}"
}
}
}
// NOTE : exemple ; vérifiez le schéma livré puis redémarrez le service/container.
// Esquisse ACL : uniquement ops → gateway:18789 (renommez les tags)
{
"groups": { "group:ops": ["[email protected]"] },
"tagOwners": { "tag:gateway": ["autogroup:admin"], "tag:ops": ["autogroup:admin"] },
"acls": [
{
"action": "accept",
"src": ["tag:ops"],
"dst": ["tag:gateway:18789"],
"proto": "tcp"
}
]
}
tailscale ping avant élargissement bind.Voyages / mise en veille / uplink domestique perturbent les SLAsur 18789; Apple Silicon dédiée multi‑régions offre meilleure prévisibilité.
RACI doit couvrir chaque vecteur ; lorsque matériel et cycles locatifs rejoignent l’architecture, vérifiez tarifs publics Mac mini cloud et centre d’aide.
Sans tableau blanc succinct, vos JSON deviendront folklore MagicDNS ; périmètre tailnet, c’est la capacité d’expliquer en phrases courtes quel flux passe.
Itérez Compose, Tunnel, TLS public ou durcissement selon SLA.
FAQ
Faut‑il rejeter Docker ?
Non. Réutilisez 《Compose pairing》 : gardez IPs tailnet hôte + mapping publish synchrones.
SSH bastion combiné ?
Oui, grâce à 《Mac distant zero trust》 ; préservez entrées ACL séparées 18789 vs 22.