内网穿透系列(三):告别端口映射!Cloudflare Tunnel让你“零配置”安全回家!
如果家里没有公网 IP,也不想在路由器上开端口,Cloudflare Tunnel 是很省心的方案。它通过 cloudflared 主动连接 Cloudflare,把公网请求安全转发到内网服务。

版本提示: 本文截图和界面来自 2025 年 8 月。Cloudflare Zero Trust 控制台入口和功能名称可能变化,请以当前控制台和官方文档为准。
一、适用场景
Cloudflare Tunnel 适合:
- 无公网 IP 的家庭宽带;
- 不想暴露路由器端口的场景;
- 需要域名和 HTTPS 的 NAS、管理面板或个人网站;
- 想利用 Cloudflare 安全防护的个人项目。
二、为什么它更安全
传统端口映射会把端口暴露给公网扫描。Cloudflare Tunnel 的思路相反:
- 内网设备运行
cloudflared; cloudflared主动向 Cloudflare 建立加密出站连接;- 外网请求先进入 Cloudflare;
- Cloudflare 通过已有隧道转发到内网服务;
- 路由器无需开放入站端口。
这样能减少端口暴露,并额外获得 Cloudflare 的防护能力。
三、准备工作
- Cloudflare 账号;
- 已托管在 Cloudflare 的域名;
- 一台能访问外网的内网设备;
- 内网服务的 IP 和端口。
四、创建 Tunnel
进入 Cloudflare 控制台,找到 Zero Trust,然后进入网络相关页面。

选择 Tunnels:

点击添加隧道,选择 Cloudflared:

为 Tunnel 命名,例如 home-services:

五、安装 cloudflared
本文使用 Docker 部署。复制控制台给出的命令后,建议补充容器名、后台运行和重启策略:
1 | docker run \ |
启动成功后,控制台会显示连接器已上线。

六、配置公共主机名
进入 Tunnel 的公共主机名配置页:
- Subdomain:填写子域名前缀;
- Domain:选择 Cloudflare 托管域名;
- Type:内网服务为 HTTP 时通常选择
HTTP; - URL:填写内网服务地址和端口,例如
192.168.3.17:5700。


一个 Tunnel 可以添加多个公共主机名,分别转发到不同内网服务。

七、验证访问
在浏览器访问配置的域名:
1 | https://nas.example.com |

八、安全建议
- 只把需要的服务加入 Tunnel;
- 管理后台启用 Cloudflare Access、登录验证或 IP 白名单;
- 不要用 Tunnel 暴露未升级、弱密码的服务;
- 定期检查 Tunnel 连接器和公共主机名;
- 隧道令牌不要提交到代码仓库。
总结
Cloudflare Tunnel 适合不想开端口、没有公网 IP 的用户。它把域名、HTTPS 和安全防护整合在一起,比传统端口映射更省心。代价是流量会经过 Cloudflare,且控制台和策略需要按官方最新文档维护。
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来源 小明同学!
评论


