前言
CloudFlare Tunnel 无需开放公网端口即可暴露内网服务,安全又方便。
一、工作原理
- 内网运行 cloudflared 守护进程
- 建立到 CloudFlare 的加密隧道
- 流量通过隧道转发到内网服务
- 无需公网 IP,无需端口转发
二、安装 cloudflared
# Debian/Ubuntu
wget https://github.com/cloudflare/cloudflared/releases/latest/download/cloudflared-linux-amd64.deb
dpkg -i cloudflared-linux-amd64.deb
# macOS
brew install cloudflared
三、创建 Tunnel
# 登录认证
cloudflared tunnel login
# 创建隧道
cloudflared tunnel create mytunnel
# 输出 Tunnel ID 和凭证文件
四、配置文件
# ~/.cloudflared/config.yml
tunnel: mytunnel
credentials-file: /root/.cloudflared/tunnel.json
ingress:
- hostname: app.example.com
service: http://localhost:8080
- hostname: nas.example.com
service: http://192.168.1.100:5000
- service: http_status:404
五、启动服务
# 测试运行
cloudflared tunnel run mytunnel
# 后台运行(systemd)
cloudflared service install
systemctl start cloudflared
六、DNS 配置
- CloudFlare DNS → Add record
- Type: CNAME
- Name: app
- Target: tunnel-id.cfargotunnel.com
- Proxy: Enabled
七、安全优势
- 无需开放任何入站端口
- 流量端到端加密
- 可集成 CloudFlare Access 做认证
总结
CloudFlare Tunnel 是暴露内网服务的最佳方案,安全、免费、配置简单。