Skip to content
广告 · 本站推荐广告

网络模型

Gateway 支持多种网络拓扑(Network Topology),从纯本地到跨互联网远程访问。本文档介绍各种连接架构及其配置。

网络拓扑概览

text
┌─────────────────────────────────────────────┐
│                  互联网                       │
│                                             │
│   ┌──────────────┐    ┌──────────────┐      │
│   │  远程客户端   │    │  LLM 提供商   │      │
│   └──────┬───────┘    └──────┬───────┘      │
│          │                   │              │
│          │    ┌──────────────┤              │
│          │    │  NAT / 防火墙 │              │
│          │    └──────┬───────┘              │
│          │           │                      │
│   ┌──────┴───────────┴──────────────────┐   │
│   │           局域网 (LAN)               │   │
│   │                                     │   │
│   │  ┌──────────┐     ┌──────────┐      │   │
│   │  │  Gateway  │ ←── │ 本地客户端│      │   │
│   │  └──────────┘     └──────────┘      │   │
│   └─────────────────────────────────────┘   │
└─────────────────────────────────────────────┘

本地连接

Loopback(回环)模式

默认模式,Gateway 仅监听 127.0.0.1,只接受本机连接。

json5
{
  "gateway": {
    "host": "127.0.0.1",   // 仅本机
    "port": 18789
  }
}
  • ✅ 最安全 — 外部无法访问
  • ✅ 无需额外配置
  • ❌ 仅限同一台机器

LAN(局域网)模式

绑定到所有网络接口,允许局域网内的其他设备连接。

json5
{
  "gateway": {
    "host": "0.0.0.0",     // 所有接口
    "port": 18789
  }
}
  • ✅ 局域网内多设备共享
  • ⚠️ 需要配置认证
  • ❌ 无 TLS 加密(局域网内可接受)

安全提醒

绑定到 0.0.0.0 时,务必确保已配置 Token 认证。参阅 认证

远程连接

NAT 穿越(NAT Traversal)

大多数家庭和办公网络位于 NAT(网络地址转换)后面,需要额外配置才能从外部访问。

方案对比

方案复杂度安全性适用场景
Tailscale VPN推荐 — 个人/小团队
反向代理 + 端口转发有公网服务器
云部署企业/团队
路由器端口转发不推荐

端口转发

不推荐

直接将 Gateway 端口暴露到公网存在严重安全风险。强烈建议使用 Tailscale 或反向代理方案。

如果确实需要端口转发,必须同时:

  1. 启用 TLS 加密
  2. 配置强 Token 认证
  3. 启用速率限制
  4. 配置防火墙规则

反向代理

通过 Nginx 或 Caddy 等反向代理(Reverse Proxy)提供 HTTPS 接入:

nginx
server {
    listen 443 ssl;
    server_name gateway.example.com;

    ssl_certificate     /path/to/cert.pem;
    ssl_certificate_key /path/to/key.pem;

    location / {
        proxy_pass http://127.0.0.1:18789;
        proxy_http_version 1.1;
        proxy_set_header Upgrade $http_upgrade;
        proxy_set_header Connection "upgrade";
        proxy_set_header Host $host;
        proxy_set_header X-Real-IP $remote_addr;
    }
}
text
gateway.example.com {
    reverse_proxy 127.0.0.1:18789
}

Caddy 自动 HTTPS

Caddy 会自动申请和续期 Let's Encrypt 证书,是最简单的反向代理方案。

VPN 隧道

使用 Tailscale 或 WireGuard 等 VPN 创建安全隧道:

text
┌──────────┐     Tailscale 隧道     ┌──────────┐
│  Client   │ ◀──────────────────▶ │  Gateway  │
│ (远程)    │     端到端加密         │ (家庭)    │
└──────────┘                       └──────────┘

详见 Tailscale 集成

连接架构选型指南

text
只在本机使用?
  └─ 是 → Loopback 模式(默认)
  └─ 否 → 在同一局域网?
              └─ 是 → LAN 模式 + Token 认证
              └─ 否 → 需要远程访问
                        └─ 个人使用 → Tailscale VPN
                        └─ 团队/公开 → 反向代理 + HTTPS
                        └─ 企业 → 云部署 + 完整安全配置

网络诊断

bash
# 检查 Gateway 监听状态
openclaw status --network

# 测试从其他设备的连接
curl http://192.168.1.10:18789/health

# 检查端口是否可达
nc -zv 192.168.1.10 18789

相关文档

基于MIT协议开源 | 内容翻译自 官方文档,同步更新