Tailscale (панель управления шлюза)
OpenClaw может автоматически настраивать Tailscale Serve (tailnet) или Funnel (публичный) для панели управления шлюза и порта WebSocket. Это держит шлюз привязанным к loopback, в то время как Tailscale предоставляет HTTPS, маршрутизацию и (для Serve) заголовки идентификации.
Режимы
- serve: Serve только для Tailnet через tailscale serve. Шлюз остается на 127.0.0.1.
- funnel: Публичный HTTPS через tailscale funnel. OpenClaw требует общий пароль.
- off: По умолчанию (нет автоматизации Tailscale).
Аутентификация
Установите gateway.auth.mode для контроля рукопожатия:
- token (по умолчанию, когда установлен OPENCLAW_GATEWAY_TOKEN)
- password (общий секрет через OPENCLAW_GATEWAY_PASSWORD или config)
Когда tailscale.mode = "serve" и gateway.auth.allowTailscale равно true, действительные запросы Serve proxy могут аутентифицироваться через заголовки идентификации Tailscale (tailscale-user-login) без предоставления токена/пароля. OpenClaw проверяет идентичность, разрешая адрес x-forwarded-for через локальный демон Tailscale (tailscale whois) и сопоставляя его с заголовком перед принятием. OpenClaw рассматривает запрос как Serve только тогда, когда он прибывает от loopback с заголовками Tailscale x-forwarded-for, x-forwarded-proto и x-forwarded-host. Чтобы требовать явные учетные данные, установите gateway.auth.allowTailscale: false или принудительно gateway.auth.mode: "password".
Примеры конфигурации
Только Tailnet (Serve)
\{
gateway: \{
bind: "loopback",
tailscale: \{ mode: "serve" \}
\}
\}
Открыть: https://<magicdns>/ (или ваш настроенный gateway.controlUi.basePath)
Только Tailnet (привязка к IP Tailnet)
Используйте это, когда вы хотите, чтобы шлюз слушал напрямую на IP Tailnet (без Serve/Funnel).
\{
gateway: \{
bind: "tailnet",
auth: \{ mode: "token", token: "your-token" \}
\}
\}
Подключение с другого устройства Tailnet:
- UI управления: http://<tailscale-ip>:18789/
- WebSocket: ws://<tailscale-ip>:18789
Примечание: loopback (http://127.0.0.1:18789) не будет работать в этом режиме.
Публичный интернет (Funnel + общий пароль)
\{
gateway: \{
bind: "loopback",
tailscale: \{ mode: "funnel" \},
auth: \{ mode: "password", password: "replace-me" \}
\}
\}
Предпочитайте OPENCLAW_GATEWAY_PASSWORD вместо фиксации пароля на диске.
Примеры CLI
openclaw gateway --tailscale serve
openclaw gateway --tailscale funnel --auth password
Примечания
- Tailscale Serve/Funnel требует установки CLI tailscale и входа в систему.
- tailscale.mode: "funnel" отказывается запускаться, если режим аутентификации не password, чтобы избежать публичного открытия.
- Установите gateway.tailscale.resetOnExit, если вы хотите, чтобы OpenClaw отменил конфигурацию tailscale serve или tailscale funnel при завершении работы.
- gateway.bind: "tailnet" - это прямая привязка Tailnet (без HTTPS, без Serve/Funnel).
- gateway.bind: "auto" предпочитает loopback; используйте tailnet, если вы хотите только Tailnet.
- Serve/Funnel открывают только UI управления шлюза + WS. Узлы подключаются через ту же конечную точку WS шлюза, поэтому Serve может работать для доступа к узлам.
Управление браузером (удаленный шлюз + локальный браузер)
Если вы запускаете шлюз на одной машине, но хотите управлять браузером на другой машине, запустите хост узла на машине браузера и держите обе на одном tailnet. Шлюз будет проксировать действия браузера на узел; не нужен отдельный сервер управления или URL Serve.
Избегайте Funnel для управления браузером; рассматривайте сопряжение узла как доступ оператора.
Предварительные условия и ограничения Tailscale
- Serve требует включения HTTPS для вашего tailnet; CLI предложит, если он отсутствует.
- Serve вводит заголовки идентификации Tailscale; Funnel не делает этого.
- Funnel требует Tailscale v1.38.3+, MagicDNS, включенного HTTPS и атрибута узла funnel.
- Funnel поддерживает только порты 443, 8443 и 10000 через TLS.
- Funnel на macOS требует варианта приложения Tailscale с открытым исходным кодом.
Узнать больше
- Обзор 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