Skip to content

Oracle Cloud Always Free ARM 实例(最高4 OCPU、24GB内存、200GB存储)可免费运行 OpenClaw Gateway。核心配置步骤:创建 Ubuntu 24.04 实例,安装 Tailscale 实现 SSH 和 Serve,将 Gateway 绑定到 loopback 并使用 token 认证,最后锁定 VCN 仅开放 UDP 41641 端口。适合希望零成本长期运行个人 AI 网关的用户,但免费层 ARM 容量有限,可能遇到“Out of capacity”错误。

在 Oracle Cloud 免费 ARM 实例上部署 OpenClaw

在 Oracle Cloud 的永久免费 ARM 实例(最高 4 OCPU、24 GB 内存、200 GB 存储)上运行持久化的 OpenClaw Gateway,完全零成本。

前置条件

配置步骤

第一步:创建 OCI 实例

  1. 登录 Oracle Cloud 控制台
  2. 进入 Compute > Instances > Create Instance
  3. 配置如下:
    • 名称: openclaw
    • 镜像: Ubuntu 24.04(aarch64)
    • 实例规格: VM.Standard.A1.Flex(Ampere ARM)
    • OCPU: 2(最多 4)
    • 内存: 12 GB(最多 24 GB)
    • 启动卷: 50 GB(最多 200 GB 免费)
    • SSH 密钥: 添加你的公钥
  4. 点击 Create,记录公网 IP 地址。

提示:如果实例创建报“Out of capacity”,换一个可用域重试,或等待非高峰时段。免费层 ARM 实例容量有限。

第二步:连接并更新系统

bash
ssh ubuntu@YOUR_PUBLIC_IP

sudo apt update && sudo apt upgrade -y
sudo apt install -y build-essential

build-essential 是编译某些 ARM 依赖所必需的。

第三步:配置用户和主机名

bash
sudo hostnamectl set-hostname openclaw
sudo passwd ubuntu
sudo loginctl enable-linger ubuntu

启用 linger 让用户服务在注销后继续运行。

第四步:安装 Tailscale

bash
curl -fsSL https://tailscale.com/install.sh | sh
sudo tailscale up --ssh --hostname=openclaw

此后通过 Tailscale 连接:ssh ubuntu@openclaw

第五步:安装 OpenClaw

bash
curl -fsSL https://openclaw.ai/install.sh | bash
source ~/.bashrc

当提示“How do you want to hatch your bot?”时,选择 Do this later

第六步:配置 Gateway

使用 token 认证配合 Tailscale Serve 实现安全远程访问。先设置 Gateway 绑定到 loopback、开启 token 认证,再启用 Tailscale Serve 模式:

bash
openclaw config set gateway.bind loopback
openclaw config set gateway.auth.mode token
openclaw doctor --generate-gateway-token
openclaw config set gateway.tailscale.mode serve
openclaw config set gateway.trustedProxies '["127.0.0.1"]'

systemctl --user restart openclaw-gateway.service

注意:gateway.trustedProxies=["127.0.0.1"] 仅用于本地 Tailscale Serve 代理的转发 IP / 本地客户端处理,不是 gateway.auth.mode: "trusted-proxy"。此配置下,Diff 查看器路由保持 fail-closed 行为,未经代理头转发的原始 127.0.0.1 请求可能返回 Diff not found。如果需要可分享的查看链接,使用 mode=file / mode=both 处理附件,或主动启用远程查看器并设置 plugins.entries.diffs.config.viewerBaseUrl(或传代理的 baseUrl)。

第七步:锁定 VCN 安全规则

在网络边缘屏蔽所有非 Tailscale 流量:

  1. 在 OCI 控制台进入 Networking > Virtual Cloud Networks
  2. 点击你的 VCN,然后 Security Lists > Default Security List
  3. 删除所有入站规则,只保留 0.0.0.0/0 UDP 41641(Tailscale)。
  4. 保留默认出站规则(允许所有出站)。

这样会在网络边缘屏蔽 22 端口的 SSH、HTTP、HTTPS 及其他一切,从此只能通过 Tailscale 连接。

第八步:验证

bash
openclaw --version
systemctl --user status openclaw-gateway.service
tailscale serve status
curl http://localhost:18789

从 tailnet 上的任意设备访问控制界面:

https://openclaw.<tailnet-name>.ts.net/

&lt;tailnet-name&gt; 替换为你的 tailnet 名称(可在 tailscale status 中查看)。

验证安全策略

VCN 锁定后(仅开放 UDP 41641),Gateway 绑定到 loopback,公网流量在网络边缘被阻断,管理员访问仅限于 tailnet。传统 VPS 加固步骤已不需要:

传统步骤是否需要原因
UFW 防火墙VCN 在流量到达实例前已拦截。
fail2ban端口 22 被 VCN 阻断,无暴力破解面。
sshd 加固Tailscale SSH 不使用 sshd。
禁用 root 登录Tailscale 通过 tailnet 身份认证,非系统用户。
SSH 密钥仅认证同上,tailnet 身份替代系统 SSH 密钥。
IPv6 加固通常不需要取决于 VCN/子网设置,需检查实际分配和暴露情况。

仍建议执行:

  • chmod 700 ~/.openclaw 限制凭据文件权限。
  • openclaw security audit 执行 OpenClaw 专属安全检查。
  • 定期 sudo apt update && sudo apt upgrade 打操作系统补丁。
  • 定期在 Tailscale 管理控制台 审查设备。

快速验证命令:

bash
# 确认无公网端口监听
sudo ss -tlnp | grep -v '127.0.0.1\|::1'

# 验证 Tailscale SSH 激活
tailscale status | grep -q 'offers: ssh' && echo "Tailscale SSH active"

# 可选:确认 Tailscale SSH 正常后禁用 sshd
sudo systemctl disable --now ssh

ARM 注意事项

免费层是 ARM(aarch64)架构。大多数 OpenClaw 功能正常工作,少量原生二进制需要 ARM 构建:

  • Node.js、Telegram、WhatsApp(Baileys):纯 JavaScript,无问题。
  • 多数带原生代码的 npm 包:提供预构建的 linux-arm64 制品。
  • 可选 CLI 辅助工具(例如由技能分发的 Go/Rust 二进制):安装前检查是否有 aarch64 / linux-arm64 版本。

uname -m 确认架构(应输出 aarch64)。对于没有 ARM 构建的二进制,可自行从源码编译或跳过该功能。

持久化与备份

OpenClaw 状态数据位于:

  • ~/.openclaw/openclaw.json、每个智能体的 auth-profiles.json、渠道/供应商状态、会话数据。
  • ~/.openclaw/workspace/ — 智能体工作区(SOUL.md、记忆、工件)。

重启后数据保留。制作便携快照:

bash
openclaw backup create

备用方案:SSH 隧道

如果 Tailscale Serve 无法正常工作,可在本地机器上用 SSH 隧道:

bash
ssh -L 18789:127.0.0.1:18789 ubuntu@openclaw

然后打开 http://localhost:18789

常见问题

创建实例报“Out of capacity”怎么办?

免费层 ARM 实例容量有限。换一个可用域重试,或在非高峰时段(如凌晨)再次尝试。

Tailscale 无法连接?

运行 sudo tailscale up --ssh --hostname=openclaw --reset 重新认证。确认 Tailscale 服务运行:sudo systemctl status tailscaled

为什么访问 Diff 文件返回“Diff not found”?

当前使用 gateway.trustedProxies=["127.0.0.1"] 且并未启用远程代理转发,Diff 查看器默认 fail-closed(直接访问 127.0.0.1 的请求会被拦截)。改用 mode=filemode=both 处理附件,或设置 plugins.entries.diffs.config.viewerBaseUrl 启用客户端代理来获得可分享的 Diff 链接。

下一步

相关