又隔了好一段时间没有写了,最近事情略多,公司网络正好在进行调整,短时间内无法通过vpn访问,但是工作又不能停,为了不影响进度,只能通过其他方式来解决了。这篇文章就记录下,如何通过Cloudflare的零信任组织中的tunnel功能,使用warp客户端访问私有网络。

准备工作

开启Cloudflare的零信任功能

Cloudflare的注册,这里就不讲了,网上随便一搜都有,而且就算不搜跟着官网页面走也没啥坑。这里着重讲一下如何使用零信任(Zero Trust),也就是我们俗称的Teams,零信任的入口在登陆后的菜单中央的位置,具体入下图所示

image-20230705193654390

进入页面后输入给你的团队起个名字

image-20230705195327845

点击选择最左侧的免费计划

image-20230705195403825

这时候会提示你验证支付选项。。。点击右下角的Proceed去验证支付方式(可用中国区Paypal绑卡验证)

image-20230705195511146

绑定后就进入零信任的管理页面了,同时你的账号是当前零信任组织的超级管理员,可以进行组织成员的管理和配置,以及策略的配置。

image-20230705195757762

还有个骚操作,如果你只是想要自己使用零信任,不需要给其他人分享团队账号,也可以直接在支付验证的那一步关掉浏览器,重新访问cloudfare的网页,或者直接在url删除后续的内容直接访问首页。这时候会直接进入你的团队。缺点是没办法管理设备和用户,但是可以直接登陆warp进行科学上网。

下载warp客户端

访问 https://1.1.1.1 下载对应的平台的warp客户端,当然这个客户端也是Cloudflare出的啦。。。。

image-20230705200801531

这时候你自己已经可以通过warp客户端登录零信任组织了,并且给予warp可以通过Cloudflare的网络访问其他网站(你可以理解为通过Cloudflare的warp网络访问其他网站——VPN),并且,由于是通过warp代理了你的访问流量,所以实际上你已经可以科学上网了。

image-20230705200902634

mac版的客户端配置在右上角点击齿轮,切到账号选项卡中,右下角有登陆零信任的按钮,点击后输入你之前创建的团队名称,会打开浏览器让你登陆账号,输入你的邮箱就会给你输入的邮箱发送一封邮件,将邮件内的pin码输入后则会回调warp客户端完成登录。登陆后则会跟我上图一样显示零信任的标识。

image-20230705201010711

点击中部的按钮开启warp连接,成功后则可正常使用warp代理你的网络访问,由于所有的访问策略都没有配置,这时是全局都走的Cloudflare的网络访问出去,所以访问国内网站会有点绕路,有少许延迟,但是好在可以科学上网了。

配置权限策略

如果我们想要调整网络代理的逻辑或者限制某些网段无法访问,那么要如何配置呢?

设置warp客户端的登陆用户策略

在零信任的菜单栏最下方有setting设置,点击后右边有warp客户端的配置,点击进去可以进行详细的设置,如下图:

image-20230705202015090

这时候我们只需要关注最上方2个设置块的内容,第一个设置块用于设置通过零信任登陆warp客户端的账号策略(如果你想要让其他的用户使用你的零信任团队,并登录warp客户端,你需要在这里配置策略,否则他们在登陆零信任的时候收不到对应的登陆验证码邮件)

image-20230705201949473

在这一项里面可以添加多条规则分类管理,规则的类型也有很多种,可以指定单独的邮箱,也可以指定邮箱后缀等等(只有符合这里规则的邮箱在登陆零信任的时候才能收到邮件,哪怕这里的规则符合也有一定几率收不到邮件/延迟收到邮件,建议将noreply@notify.cloudflare.com邮箱设置白名单放行)

image-20230705201920881

这里是能够登陆零信任团队的最基础配置,若符合当前规则的用户想要登录使用,还需要在将对应邮箱配置到用户信息中。切换到My Team ->Lists中,手动创建用户清单,并将需要使用的账号配置进去。

image-20230705202350828

设置网络代理防火墙设置

进入Settings的network配置开启代理设置,勾选上TCP、UDP、IMCP,开启后才能后续通过tunnel访问私网,而私网的对应网段设置则是在tunnel的设置内。

image-20230705205005423

设置warp客户端的策略

点击Device Settings中的profile设置,进入里面设置warp客户端的设置细节

image-20230705204041452

最主要的就是Split Tunnels设置了。如果是Include模式,则是在设置列表范围符合条件范围内的流量走wrap,如果是Exclude则是除了列表内的以外全都走warp。所以如果希望是私网穿透访问,并且科学上网,最简单的方式是选择Exclude模式,然后列表为空,这个方式最简单。(当然会导致部分国内网站绕路有延迟,可以在列表中进行排除)

image-20230705204233959

部署隧道

这时候我们就需要部署tunnel将私有网络能够通过cloudfare的warp进行代理访问了。

点击到Access->Tunnels里面,创建一个Tunnel。

image-20230705202704194

还是一样先起个名字,然后点击save tunnel,切换到第二个页面。选择你运行tunnel的环境来部署隧道节点。页面上都有执行命令,哪怕你不懂,也都可以直接复制,简单点使用docker执行。

image-20230705202806400

image-20230705202958659

机器上的节点执行成功后,界面下方会有状态显示,外面列表也会有运行状态。

切换到第三个tab页设置对应的私有网络,将你需要代理访问的私网地址配置好,可以直接配置独立ip也可以配置网段,配置是以CIDR的形式设置的。

image-20230705203252673

设置完成后回到列表可以看到tunnel是Healthy的状态,这时候就可以使用warp客户端访问私有网络了。

image-20230705203333203

连接warp客户端并通过隧道访问私有网络

启动warp客户端如下图,是已经连接好的状态,试试看你配置的私网网段或者私网ip是否能够访问了

image-20230705203427836