Appearance
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,完全零成本。
前置条件
- Oracle Cloud 账号(注册)——如果遇到问题,参考社区注册指南
- Tailscale 账号(tailscale.com 免费注册)
- 一对 SSH 密钥
- 约 30 分钟
配置步骤
第一步:创建 OCI 实例
- 登录 Oracle Cloud 控制台。
- 进入 Compute > Instances > Create Instance。
- 配置如下:
- 名称:
openclaw - 镜像: Ubuntu 24.04(aarch64)
- 实例规格:
VM.Standard.A1.Flex(Ampere ARM) - OCPU: 2(最多 4)
- 内存: 12 GB(最多 24 GB)
- 启动卷: 50 GB(最多 200 GB 免费)
- SSH 密钥: 添加你的公钥
- 名称:
- 点击 Create,记录公网 IP 地址。
提示:如果实例创建报“Out of capacity”,换一个可用域重试,或等待非高峰时段。免费层 ARM 实例容量有限。
第二步:连接并更新系统
bash
ssh ubuntu@YOUR_PUBLIC_IP
sudo apt update && sudo apt upgrade -y
sudo apt install -y build-essentialbuild-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 流量:
- 在 OCI 控制台进入 Networking > Virtual Cloud Networks。
- 点击你的 VCN,然后 Security Lists > Default Security List。
- 删除所有入站规则,只保留
0.0.0.0/0 UDP 41641(Tailscale)。 - 保留默认出站规则(允许所有出站)。
这样会在网络边缘屏蔽 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/将 <tailnet-name> 替换为你的 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 sshARM 注意事项
免费层是 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=file 或 mode=both 处理附件,或设置 plugins.entries.diffs.config.viewerBaseUrl 启用客户端代理来获得可分享的 Diff 链接。
下一步
- Channels — 接入 Telegram、WhatsApp、Discord 等
- Gateway 配置 — 所有配置选项
- 更新 — 保持 OpenClaw 最新版本