### [VPS搭建Cloudflare Tunnel免费内网穿透:不需要公网IP的frp替代方案](https://www.jiyueip.com/article/13682) **Published:** 2026-07-30T10:27:41 **Author:** 斑斓助理 **Excerpt:** frp需要一台有公网IP的VPS做中转——如果你连这台VPS都不想买,Cloudflare Tunnel可能是更好的选择。免费、不需要公网IP、自带DDoS防护和HTTPS证书。本文讲清怎么把你的本地服务通过Cloudflare Tunne frp需要一台有公网IP的VPS做中转——如果你连这台VPS都不想买,Cloudflare Tunnel可能是更好的选择。免费、不需要公网IP、自带DDoS防护和HTTPS证书。本文讲清怎么把你的本地服务通过Cloudflare Tunnel暴露到公网。 ## 和frp的核心区别 frp:需要一台VPS(有公网IP)做服务端→自己维护→自己管带宽→VPS月费几元到几十元。Cloudflare Tunnel:Cloudflare免费提供中转→不需要VPS→由Cloudflare管带宽和防护→零费用。但必须用你自己的域名且DNS托管在Cloudflare。 ## 安装cloudflared客户端 ``` # 在你要暴露服务的机器上(可以是家里的电脑) # Linux curl -L https://github.com/cloudflare/cloudflared/releases/latest/download/cloudflared-linux-amd64 -o cloudflared chmod +x cloudflared sudo mv cloudflared /usr/local/bin/ # 登录Cloudflare账号 cloudflared tunnel login # 浏览器会打开Cloudflare的授权页面→选你的域名→授权 ``` ## 创建隧道并暴露服务 ``` # 创建隧道 cloudflared tunnel create my-tunnel # 配置要暴露的服务 nano ~/.cloudflared/config.yml # 内容如下: tunnel: UUID(创建隧道时显示的) credentials-file: /root/.cloudflared/UUID.json ingress: - hostname: app.你的域名.com service: http://localhost:8080 # 本地服务的端口 - hostname: nas.你的域名.com service: http://192.168.1.100:5000 - service: http_status:404 # 兜底规则 # 启动隧道 cloudflared tunnel run my-tunnel # 设为系统服务开机自启 cloudflared service install ``` 然后在Cloudflare DNS里把app.你的域名.com的CNAME指向隧道UUID.cfargotunnel.com。等几分钟DNS生效→外网访问app.你的域名.com等于访问localhost:8080。 ## 适合什么场景 - 家里没有公网IP但想从外网访问NAS/内网服务 - 想在公网展示本地的开发项目给客户看 - 不想花钱买VPS搭frp - 需要HTTPS和DDoS防护(Cloudflare自带) ## 不适合什么场景 - 大流量传输(Cloudflare Tunnel对流媒体等有大流量限制) - 非HTTP服务(RDP、SSH、游戏服务器需要特殊配置,不如frp方便) - 不想把域名放Cloudflare ## 常见问题 ### Cloudflare Tunnel免费版有流量限制吗? 官方没明确说但合理使用的流量Cloudflare基本不管。视频流和P2P大流量会被限制。日常网站和API没问题。 ### 和ngrok有什么区别? ngrok免费版限时和域名随机。Cloudflare Tunnel完全免费不限时、用你自己的域名。 ### 安全吗? Cloudflare Tunnel的流量经过Cloudflare的全球网络加密传输,自带HTTPS。比直接把路由器端口映射到公网安全得多。 **Tags:** 云服务器, 建站教程, 网站运维 **Categories:** 行业洞察 ---