家庭数据中心系列 合理利用cloudflare WARP来提高自己访问网站的速度(桌面版)
本文最后更新于 195 天前,其中的信息可能已经有所发展或是发生改变,如有失效可到评论区留言。

前言

cloudlfare对国内很多人来说,主要是个人站长(比如我)的福音:对于有一定技术基础的新人站长来说,如果没有备案,但是又想将自己的站点发布到公网上,使用cloudflare就是几分钟的事情(默认情况下访问较慢,但是慢的大部分原因其实不在cloudflare,你懂的~)。关于cloudflare建站及安全优化我后续会有一个系列教程,这些并不是我今天要讲的点,我今天要讲的其实是cloudflare的WARP。

cloudflare的全球布局

WARP其实只是一个技术的结果,在这之前需要先提一下目前cloudflare已经架设的覆盖全球的自己的私有骨干网,按照官网现在的数据来看:"Cloudflare 拥有庞大的全球网络,数据中心覆盖 120 个国家的 310 城市。"(理所当然的,"中国、朝鲜除外")。正是因为无法正式进入中国,所以cloudlfare在国内都是和国内一些云供应商合作(如百度云,京东云),但是这种有限的合作和其他国家cloudflare直接建立数据中心并与多个互联网交换中心及多个ISP直接互联,甚至为多个地区建立物理专线来说,效果上肯定是差了很多的,加上cloudflare回源是直接以用户访问时被分配的数据中心为起点进行回源(国内用户通常被分配到美国西部的圣何塞的数据中心),距离远、延迟高不说,到国内的线路质量还烂,这种回源导致访问体验差也是领所当然了。

正是因为有了覆盖全球的私有骨干网(相当于全球"大内网"),所以cloudflare可以将进入自己"大内网"的流量经过自有的多种算法来优化路径,从而达到减少访问延迟,提高访问体验的效果。这个时候的问题反而在于,如何进入cloudflare的"大内网"?为了解决这个问题,所以才有了"优选IP"这个从几年前到现在都一直在提的概念,本质上就是CDN地址池中用户访问最快的IP地址。前2年一些国内CDN厂家还能通过cloudflare官方API提供的功能免费来达到优选IP的效果,但是自从cloudflare禁用了该API功能并推出了Argo收费服务:

image.png

现在free计划已经不能免费蹭到"优选IP"了,而是只能通过自定义主机名+手动用软件定期测试优选域名,得到延迟最低的IP后再手动修改域名解析IP的方式来勉强使用(也可以使用worker脚本的方式来间接使用优选IP功能,效果如本博客的com主域名)。

WARP

上一节说的"优选IP"是针对站点配置而言的,用户的浏览器在访问架设在cloudflare上的站点域名的时候,会先对域名进行解析,从而得到域名对应的cloudflare CDN的IP地址并根据这个地址进入cloudflare的"大内网"。如果是"优选IP",那么访问体验好,如果不是"优选IP",那么访问体验就不好。

有没有"优选IP"是站长有没有钱或者有没有技术的问题,和访问用户无关,但是,对于访问用户本身而言,有没有办法主动提高访问网站的速度呢?当然有,这才是今天要讲的重点:cloudflare的WARP。

简而言之,WARP是cloudflare提供的理论上全球都能免费使用的VPN客户端(如果用不了,肯定是有不理论的原因),这个VPN是基于目前最流行的wireguard的VPN技术(我前面多篇文章中提到的tailscale也是基于wireguard VPN的),主要目的是将用户主机的流量通过wireguard技术直接连接到cloudflare的"大内网"中,这样可以避免用户的DNS请求被运营商或其他人劫持,也可以避免用户主机的流量"绕远路"到达cloudflare的"大内网"。当然,因为cloudflare没有国内数据中心,所以即便WARP能够连接上,到底速度如何也不好说,跟用户所在的区域、所使用的宽带运营商都有很大关系,所以最终能不能用,用上以后效果好不好,都只能看脸了。

讲了这么多,如果能连上cloudflare的"大内网"有什么好处呢?

好处当然多了,首先,访问同样架设在cloudflare上的站点速度肯定比没连上快;其次,所有访问流量(这个可以进行设置,哪些流量走本地,哪些流量走cloudflare"大内网",默认是所有访问流量)直接以加密方式进入cloudflare"大内网",可以不被本地运营商进行dns劫持,也看不到你访问哪些网站,甚至连你使用http和https都看不到,因为走的wireguard的 VPN;最后,访问其他网站,都是通过cloueflare的私有骨干网去访问,不走传统的本地运营商的路由,如果是架设在cloudflare上的网站,直接以真实IP进行访问(因为cloudflare会将你的真实IP传递给被访网站),如果不是架设在cloudflare上的网站,看到的就是cloudlfare自己的IP地址,也就是经过了cloudflare的源地址NAT(这有啥用?你猜)。

那么如何连接warp呢?这个本篇文章中不详细介绍,网上教程很多,总的来说,有2种方式:
1、科学或者魔法
初始使用注册的时候使用科学或者魔法并且要求是全局模式,比如clash的tun模式,注册成功之后,以后使用就可以不使用科学或者魔法,直接用正常网络连接使用了。
2、使用cloudflare的zero trust
如果没有科学或者魔法环境,就可以用这种方式,不过这种方式需要提前配置好cloudflare的zero trust(参见文章:家庭数据中心系列 通过无公网IP的家庭宽带白嫖cloudflare实现快速建站(通用)),并初始化teams账户以及在Settings中配置WARP Client:

image.png

配置好以后直接在WARP客户端中"Preferences"-"Account"中加入zero trust的teams即可,成功之后WARP的界面就变成这样:
image.png

直接点击界面中间的连接按钮,即可连接成功:
image.png

如果成功了,那么恭喜你,访问很多网站就变快了。

注1:其实WARP也可以手动进行优选IP。
注2:在ipad和ios上都可以安装warp的客户端(需要外区ID),不过要注意的是,使用蜂窝网络的时候是连不上的,我推测是因为蜂窝状态下iphone或者ipad是以IPv6优先的原因,因为相同的设备我用家里的wifi都是没问题的,区别就在于我在家里路由器上直接屏蔽了DNS中IPv6的AAAA记录的解析结果。所以如果想在蜂窝状态下通过WARP来使用科学或者魔法,可能需要使用描述文件禁用IPv6(或者使ipv4优先),具体没有尝试过,所以不知道,实在不想在iphone或者ipad上装什么奇怪的描述文件。
注3:其实,蜂窝下使用tailscale的exit-node不香吗?

后话

cloudflare真的是个良心公司,其免费提供的诸多功能都非常实用,free计划帮助了很多个人站长建站(有公网IP的可以使用公网回源,没有公网IP的可以使用tunnel方式直接打通内网),而免费的WARP更是能够解决很多问题(比如WARP能为IPv4 only和IPv6 only的主机提供双栈访问的能力),希望有更多的人能了解和使用cloudflare提供的免费的解决方案。

本文是桌面版部署warp,linux cli版部署warp参见文章:家庭数据中心系列 云主机上部署cloudflare warp来提高网络访问速度(Linux cli版)

博客内容均系原创,转载请注明出处!更多博客文章,可以移步至网站地图了解。博客的RSS地址为:https://blog.tangwudi.com/feed,欢迎订阅;如有需要,可以加入Telegram群一起讨论问题。
暂无评论

发送评论 编辑评论


				
|´・ω・)ノ
ヾ(≧∇≦*)ゝ
(☆ω☆)
(╯‵□′)╯︵┴─┴
 ̄﹃ ̄
(/ω\)
∠( ᐛ 」∠)_
(๑•̀ㅁ•́ฅ)
→_→
୧(๑•̀⌄•́๑)૭
٩(ˊᗜˋ*)و
(ノ°ο°)ノ
(´இ皿இ`)
⌇●﹏●⌇
(ฅ´ω`ฅ)
(╯°A°)╯︵○○○
φ( ̄∇ ̄o)
ヾ(´・ ・`。)ノ"
( ง ᵒ̌皿ᵒ̌)ง⁼³₌₃
(ó﹏ò。)
Σ(っ °Д °;)っ
( ,,´・ω・)ノ"(´っω・`。)
╮(╯▽╰)╭
o(*////▽////*)q
>﹏<
( ๑´•ω•) "(ㆆᴗㆆ)
😂
😀
😅
😊
🙂
🙃
😌
😍
😘
😜
😝
😏
😒
🙄
😳
😡
😔
😫
😱
😭
💩
👻
🙌
🖕
👍
👫
👬
👭
🌚
🌝
🙈
💊
😶
🙏
🍦
🍉
😣
Source: github.com/k4yt3x/flowerhd
颜文字
Emoji
小恐龙
花!
上一篇
下一篇
       

本站已禁用鼠标右键和各种快捷键,代码块内容可以直接在右上角点击复制按钮进行复制

zh_CN