# 不用暴露公网、不用装客户端：Cloudflare 让容器直进内网

- URL: https://davidyin.dev/writing/250-20260810-cloudflare-mesh-agent-network/
- 作者: David Yin
- 发布: 2026-08-10
- 标签: Cloudflare、AI Agent、内网访问、零信任
- 摘要: AI 助手想看一眼数据库里的订单表，却卡在最笨的一步——进门：VPN 要口令、要验证码，它没有手。Cloudflare 让容器不暴露公网、不装客户端直进内网。这篇讲清这件被模型参数和 Agent 框架热闹盖住的基础问题。

你的 AI 助手想看一眼数据库里的订单表。它停下来，管你要 VPN 的登录口令。你给了。它又问：验证码呢？它没有手，输不了。这一幕，凡是真想用智能体干活的人，十有八九都撞上过。

我们把模型越训越聪明，却让它卡在最笨的一步：进门。有一件更基础的事，被模型参数和 Agent 框架的热闹给盖住了。智能体连你的内网都进不去。VPN 这套东西是按「人」的样子造的：要用户名密码、短信验证码，还得在手机上点一下「允许」。人点一下的事，AI 干不了。它连手都没有。

## 一堵 Agent 天天撞、少有人提的墙

智能体非要进内网，是因为值钱的业务数据都在里面。你在笔记本上跑 Claude Code，想让它查预发布（staging）库的订单表，那个库在公司内网里，公网上搜不到，也连不进。Agent 想干真活，第一关就是这扇门。

这些路，人坐在电脑前都嫌麻烦。VPN 是虚拟专用网，一条从你电脑连到公司内网的安全通道，登录要用户名密码，还常常要手机验证码。SSH 是另一条加密远程连接通道，原本给命令行高手用，得手动配地址、配密钥。隧道更麻烦，得开着命令行一步步配。把数据库直接挂公网上最省事，可那就等于把家门的锁拆了，谁路过都能进。

这三条路，Agent 一条都走不了。它没有登录名，更不会点手机上的「允许」；真把内网摊开给 AI，又怕它被一句提示词骗着乱跑。问题绕了一圈，还是卡在门口。

直到有人换了思路：不让内网对公网开放，把「进门」本身做成一件不用人盯的事。

## 接入方式换了：容器自己跑进来

这套系统叫 Cloudflare Mesh，四个月前正式开放。它给每台进网的设备发一个私网地址：你的电脑、你的服务器、Agent 跑的地方，都在同一张私有网络里，任意两台按地址直达，隔着 NAT 也能见面。公司内网常用的一段地址，宣告一下，整段就对全网可达了。公司给员工定的访问规则，什么能访问、什么不能外传，对 AI 自动生效，不用另立一套。

问题出在接入方式上。以前，想让一台机器进这张网，得装客户端、登录、注册——又是一套按「人」设计的流程。上周五，官方把 `cloudflare/mesh` 容器镜像放上了 Docker Hub，这条路整个换了。

先把两件事分清：「部署」和「被连上」是两回事。docker run、compose 这些熟悉的老命令解决的是前者——把服务跑起来。可跑起来之后呢？AI 或者云上别的节点想连上它，还是那老三样：把服务暴露到公网，等于把门锁拆了，谁路过都能进；配 VPN，要人输密码、点验证码；手动打隧道，命令行一步步配，配完还怕断。这三条路，没有一条是给「机器自己来」设计的。Mesh 容器接入换的正是后半段：业务容器一行不改，旁边挂一个 cloudflare/mesh 镜像当 sidecar，入网这件事它全包——不用对公网开放，回程流量自动路由，VPC 路由表不用动；CI 里拉镜像入网，跑完即走。一句话：部署解决「怎么跑」，Mesh 解决「跑起来之后怎么被连上」——两件事，别混。

现在接入长这样，四种姿势任选：docker run 一把拉起来就跑；compose 配置里加一个 service，一行接入；Kubernetes 里用 StatefulSet 部署，或者以 sidecar 挂在业务容器旁边，业务容器一行都不用改；CI 管道里用，拉镜像、入网、跑集成测试、容器退出，节点自动消失，用完即走。

关键在最后一层：跑 Mesh 节点的那台机器，不用再装主机级客户端了。回程流量也自动处理，内置 source NAT，不用去改 VPC 路由表；Intel 和 ARM 的机器都能跑；同一个 token 挂多个副本，active-passive 自动故障转移，一台挂了另一台顶上。

以前接入是「给每台机器办手续」，现在是「容器自己带着入网能力跑起来」。

## 一行代码，Agent 直连你的数据库

官方推荐的主路径之一，是配合 Workers 用——那是 Cloudflare 服务器上跑代码的地方。在配置里加一个 MESH 绑定，然后代码里写一行：

env.MESH.fetch("http://10.0.1.50/api/data")

Agent 就这么直连到内网数据库了。设备不用提前登记 IP，随时来随时连；数据库不用暴露到公网，一直待在内网里就行。最让人安心的是，连接发生在网络层，数据库密码不用发给 AI，也不用写进 Agent 的配置。AI 会不会乱碰内网，靠管理员在后台定死规则：哪段能访问、哪段不能碰，由规则说了算，不靠 AI 自觉。

## 免费，注册就送

它免费：注册就送 50 个节点、50 个用户，官方原话是 included with every account。个人开发者加一个小团队，额度用不完，不用先掏一分钱。

从时间线看，这不是「刚发布」。四个月前 GA 之后，它每个月都在补课：网段路由升级、按单个节点授权、域名路由，一个接一个落地。上周，Cloudflare 连着给 Agent 配了钱包、办公室、浏览器，全是 AI 自己专用的那种；容器镜像也在上周兑现——GA 时官方说的是「今年晚些时候」，现在提前给了。

不过还有两件事，官方自己在博客里写明「还没做」。

## 两件事，官方说还在路上

第一件是内网域名。官方说，今年晚些时候每台设备会自动拿到一个像 postgres-staging.mesh 这样的内网域名，零配置直接用。现在还没有——要么记 IP，要么手动配。

第二件更根本，是「身份」要做到 Agent 那一层。现在的 Mesh 认的是设备，官方原话大意：节点还没有各自独立的网络身份。它想做的，是把「谁批准、哪个 AI 在执行、允许干什么」写进策略，权限跟着任务走，不挂死在某台机器上。

今天的边界很清楚。你能让 AI 以一台设备的身份进内网，按设备发权限；但「哪个 AI 能碰哪些数据」这种细度，还要等。

## 门禁，开始认 AI 了

Cloudflare 说，今年 5 月非人类流量已经超过了人类流量——网络里跑着的，大半已经不是人，可门禁还全按人的样子设计。Mesh 把进门的方式交到了容器手里，免费，今天就能试。

AI 能不能干成事，一半看模型，一半看它进不进得了一扇门。**给 AI 铺好进内网的路，比再堆十个 Agent 框架都重要。**它决定 AI 是在真干活，还是只能待在公网这个「等待区」里转圈。

下一次你的 Agent 再管你要 VPN 密码，你可以回它一句：别装客户端了，跑个容器，让它自己进门。

被 VPN 卡过的人，评论区讲讲你的场景；这篇可以转给那个天天跟 VPN 较劲的同事，他可能这周就能把客户端换掉。

数据来源：Cloudflare 官方博客《Secure private networking for everyone: users, nodes, agents, Workers — introducing Cloudflare Mesh》、Cloudflare 官方 changelog《Container image for Cloudflare Mesh》、Cloudflare 官方文档《Cloudflare Mesh》、Cloudflare 官方文档《Connect Workers to Cloudflare Mesh》、Cloudflare 官方博客《Introducing Kitesurf: The agent-first browser that runs in V8 isolates on Cloudflare Workers》、IT之家《Cloudflare：AI 机器人流量已超越人类，预计五年后人机流量比达 1:1000 近乎"误差"》。
