使用 Cloudflare Tunnels 实现内网穿透,公网访问内网服务
通过 Cloudflare Tunnel 可以把在家中搭建的各种服务穿透到公网上,完全基于 Cloudflare 全球网络,不用购买有公网的云服务器,而且可以轻松跑满的你上行带宽。
先决条件
- 一个 CloudFlare 账号,且具有一个域名。
- PayPal账号,绑定一张借记卡 , 或者使用 Visa 信用卡。
使用方法
绑定付款方式
服务是免费的,无需付费,只需要绑定一个付款方式即可
打开 CloudFlare Zero Trust 工作台,绑定你的支付方式就可以了,这里我已经绑定过了就不截图了。
创建隧道
在 Networks 中 找到 Tunnels , 并点击右侧的 “Create a tunnel”
“
选择第一个
创建一个隧道,填写隧道名称并保存
然后就来到了下载客户端的页面,这里可以根据你的需求选择下载 Cloudflare Tunnels 使用的客户端,类似于 npc,frp这种客户端软件,这个客户端可以安装到你内网中任何一台机器上,也可以将其安装到您的 OpenWrt 中进行使用,非常规设备推荐使用 Docker 进行部署。
客户端完成安装之后下滑有个配置客户端的说明,如下图所示,在安装完成客户端的机器中输入它上面提示的命令即可。
配置完成后在 Tunnels 控制台中会看到你创建的隧道为活跃状态。
配置隧道
接下来我们需要将你的内网服务穿透出去,我们点击创建的隧道名称,会弹出控制台,点击 Edit
然后点击 Public Hostname,并点击下面的添加按钮
然后我们需要填写你的子域名以及对应的域名,例如我这里 Sbudomain 填写 “test”,域名为 “wanghaoyu.com.cn”, 类型选择 HTTP ,URL 为内网中的IP地址+端口,默认是80端口,我这里的 10.0.0.1
是一台 OpenWrt 路由器,保存之后最终我们可以通过 https://test.wanghaoyu.com.cn 访问内网中的 OpenWrt,就算你的内网中使用的是 HTTP 协议,Cloudflare 也会自动帮你添加 SSL 证书
PS:这个据我实测,我家里是300M上行带宽,用CloudFlare 内网穿透之后下载 NAS 中的文件是基本可以跑满的