很多年前就在办公室或者家里的路由器上设置NAT端口转发或者DMZ来实现外网对内网机器的访问,后来似乎公网IP越来越少了,到路由器WAN口的IP就已经是运营商分配的内网IP了,又没法控制宽带运营商的路由器进行设置,所以自己的路由器上端口转发或DMZ的设置就没有意义了。
也曾经用Teamviewer尝试过远程连接家中的电脑,这是Teamviewer提供了中继服务,后来不是很必要就没有继续用。
这次购买mini电脑放在美国住宅中,虽然用Google提供中继的Chrome Remote Desktop可以较好实现内网穿透,但也仅限于桌面操作,还想尝试一下有些文章中介绍的Cloudflare的Tunnel这个办法。
Cloudflare的CDN/WAF服务我们已经使用好几年了,感觉很不错,无论是技术还是理念都很领先,我们现在已经是忠实使用者了。也看到菜单中有Access的选项,后来变为Cloudflare Zero Trust,一种零信任网络的技术,可以通过互联网建立自己的Cloudflare Tunnel安全隧道,但以前还从来没有使用过这项技术。
我一开始是安装一篇网上文章在Windows机器本地设置Tunnel的,需要用命令行来登录、创建Tunnel、设置配置文件、设置服务启动等,因为一些概念不容易弄懂,所以也很花了一些时间还没有搞定。
后来有看到另外的文章说Cloudflare推出了在Cloudflare后台上设置Tunnel的办法,这就简单明了得多,我就重新创建了一个Tunnel,然后把后台中提供的Windows下运行的cloudflared命令行复制到mini主机上运行就可以了,其它的配置都是在Cloudflare的Tunnel后台中进行修改。
在客户端是安装Cloudflare的WARP软件,登录到预设的Team name(可能需要邮件验证),用这个办法实现了内网穿透,Windows自带的RDP(Remote Desktop Protocol)也可以连接了,为Chrome Remote Desktop提供了一个备份的连接办法。
除了远程桌面以外,还实现了下面一些功能:
- 设置一个域名远程访问mini电脑上的Web站点(IIS提供)
- 远程SSH登录mini电脑
- Web界面远程SSH登录
- Cloudflare后台设置WARP Client的为Gateway模式
- mini电脑上安装WinGate来做http/https proxy,实现我电脑的浏览器对外显示mini电脑的IP
这个Cloudflare的Tunnel功能太多太强了,好些概念以前没有接触过,估计还需要使用一段时间后逐步了解、掌握,也许以后还可以用到更多的场景下。
需要说明的是,这篇文章只记录了目前我用Cloudflare的Tunnel实现的粗略过程和简单功能,并不是一篇详细的使用指南,具体大家可以参考Cloudflare的官方文档以及搜索网上其它介绍文章。
评论1
上面说的“安装WinGate来做http/https…
上面说的“安装WinGate来做http/https proxy”是可行的,但WinGate的功能太多、太复杂了,我们绝大多数都用不上,又尝试安装了一个CCProxy,也可以实现http/https proxy或者socks,功能和设置都简单一些。