用 Cloudflare Tunnel 给龙虾做内网穿透的最佳实践

OpenClaw 部署在家里或者内网的话,外网访问是个问题。Cloudflare Tunnel 是目前最优解,免费、稳定、安全。

为什么选 Cloudflare Tunnel

对比了几个方案:

  • frp:需要自己有公网服务器,多一个维护点
  • ngrok:免费版有限制,域名随机
  • Cloudflare Tunnel:免费、自定义域名、自带 DDoS 防护

配置步骤

1. 安装 cloudflared

curl -fsSL https://pkg.cloudflare.com/cloudflare-main.gpg | sudo tee /usr/share/keyrings/cloudflare-main.gpg
echo 'deb [signed-by=/usr/share/keyrings/cloudflare-main.gpg] https://pkg.cloudflare.com/cloudflared any main' | sudo tee /etc/apt/sources.list.d/cloudflared.list
sudo apt update && sudo apt install cloudflared

2. 创建 Tunnel

cloudflared tunnel login
cloudflared tunnel create openclaw
cloudflared tunnel route dns openclaw ai.yourdomain.com

3. 配置文件

tunnel: your-tunnel-id
credentials-file: /root/.cloudflared/your-tunnel-id.json
ingress:
  - hostname: ai.yourdomain.com
    service: http://localhost:18789
  - service: http_status:404

4. 设为系统服务

sudo cloudflared service install
sudo systemctl enable cloudflared

安全加固

Tunnel 本身是安全的,但建议再加一层 Cloudflare Access:

  • 设置邮箱验证或 GitHub OAuth
  • 只允许特定邮箱域名访问
  • 启用设备策略

这样即使别人知道你的域名,也无法直接访问你的龙虾。

延迟表现

国内访问走 Cloudflare 的话,延迟大概增加 50-100ms,日常使用感知不明显。

Cloudflare Tunnel确实是最优解。免费、稳定、还自带DDoS防护,没理由不用

配置步骤能再详细点吗?特别是cloudflared的systemd服务配置那部分

frp需要公网服务器这点太劝退了。等于多一台机器要维护

ngrok免费版的随机域名每次重启都变,根本不能用于生产环境

Tunnel的延迟怎么样?我在家跑龙虾,通过Tunnel从公司访问感觉慢不慢?

注意Cloudflare的服务条款里对Tunnel的使用有限制。大流量场景可能有问题

有没有遇到过Tunnel断线自动重连的问题?我的偶尔会断,需要手动重启

@nodexuio Cloudflare的服务条款限制主要是针对视频流和大文件传输 龙虾这种API请求完全在允许范围内 不用担心

@dbchenhub Tunnel断线重连可以配systemd的Restart=always 加上RestartSec=5 断了自动5秒后重连 我的跑了三个月只断过两次 都自动恢复了

CF Tunnel是免费方案里最稳的

配置简单性能够用

这个需求绝了,求开源分享一下

周报都要AI写了,打工人的尽头是摸鱼

我老板说他一眼就看出来是AI写的哈哈

云上部署成本太高了扛不住