前言
因腾讯云服务器快到期,准备用闲置玩客云安+cloudflare转发方案进行替换。但经过2个多月的试用,博客系统访问体验不尽人意。之后有多位好友推荐使用cloudflare tunnel隧道做内网穿透方案,试用一周感觉确实比cloudflare转发速度上块不少,特来分享启动方式。
Tunnel可以做什么
- 通过Public Hostname模式,将本地网络的服务暴露到公网,实现内网穿透。 例如我们在本地服务器
192.168.1.1:3000
搭建了一个 Transmission 服务用于 BT 下载,我们只能在内网环境才能访问这个服务,但通过内网穿透技术,我们可以在任何广域网环境下访问该服务。相比 NPS 之类传统穿透服务,Tunnel 不需要公网云服务器,同时自带域名解析,无需 DDNS 和公网 IP。- 通过Private Network模式,实现异地组网。 例如,南昌有台电脑A,上海有台电脑B,两台电脑都加入Tunnel组成一个超大私人“局域网”,局域网内电脑可以相互访问,比如实现windows远程、ssh、智能家居控制等。
- 将非常规端口服务转发到 80/443 常规端口。 无论是使用公网 IP + DDNS 还是传统内网穿透服务,都免不了使用非常规端口进行访问,如果某些服务使用了复杂的重定向可能会导致 URL 中端口号丢失而引起不可控的问题,同时也不够优雅。
- 自动为你的域名提供 HTTPS 认证。
- 为你的服务提供额外保护认证。
- 最重要的是——免费。
开启Tunnel隧道
这里通过Public Hostname模式将局域网内的博客系统暴露到公网上,简要开启步骤:
- 在cloudflare绑定自己的域名(如果已绑定请删除dns记录、转发规则、重定向规则,否则后续添加配置域名和转发URL会报错)
- 开启Zero Trust。选择绑定的域名->Access -> zero trust(可免绑定支付方式)
- 创建隧道并在服务器端安装cloudflare程序。(推荐到 cloudflare github下载程序,因github上提供的平台程序更多,玩客云程序官网就没有而github上有下载)
- 配置域名和转发URL(这里需要注意内网服务器一定是http服务,如果是https服务会报502的错误,具体原因不明)
更详细的设置可参考: Cloudflare Tunnel试用
总结
通过cloudflare Tunnel方式做内网穿透把内网服务暴露到公网,博客系统访问速度相比cloudflare转发功能速度快上很多,经过测试最高有250kb/s左右(肉眼测速,不接受反驳)。虽然无法把家庭带宽拉满,但基本网页访问和远程还是挺不错的。另外就是安全问题,1)请开启cloudfalre账号二次验证功能 2)妥善保存Tunnel配置中的token。下次琢磨着搞个三层交换机把玩客云从内网隔离开,防止玩客云沦陷后内网其他设备遭殃。