家庭数据中心系列 新协议”MASQUE”震撼来袭,WARP”暂时”满血复活!

前言

自从6月初国内WARP近乎全军覆没,对一大批日常以WARP为主要学习手段的朋友来说,无异于天崩地裂般的打击,就连我这只是将WARP作为备用手段的人,也受影响而不得不考虑其他的备用方式。

不过,好消息来了:ios最新版WARP客户端(安卓的正式版还要等,目前可以用Beta版)通过支持”MASQUE”协议,已经”暂时”满血复活(为什么说暂时,留点悬念,文章最后说),目前我测试ios、ipad、win、mac上的WARP都已经恢复正常。

本文就简单描述一下”MASQUE”协议的原理以及各个平台上WARP客户端如何配置使用新协议。

MASQUE为什么能让WARP复活?

基于WireGuard协议的WARP

WARP最初(2019年)选择WireGuard协议是因为它具有以下几个显著优势:

  • 简单性和易用性:WireGuard的设计非常简单,代码量较小,这使得它易于审计和维护。相较于其他VPN协议,WireGuard的实现更加直接。
  • 高性能:WireGuard使用现代加密算法,能够在保持安全性的同时提供较低的延迟和较高的速度。这对于需要快速响应的应用场景(如游戏和视频流)非常重要。
  • 安全性:WireGuard采用了最新的加密技术,提供强大的安全性,降低了安全漏洞的风险。
  • 跨平台支持:WireGuard能够在多个平台(如Linux、Windows、macOS、iOS和Android)上运行,增强了其灵活性和可用性。
  • 快速连接建立:WireGuard在建立连接时的时间相对较短,改善了用户体验。

因此,选择WireGuard作为WARP的基础协议,能够帮助Cloudflare提供更快速、安全和易用的网络连接体验。

不过,虽然WireGuard在VPN解决方案中非常受欢迎,但它并未被正式纳入IETF(互联网工程任务组)的标准,因此在互联网世界中未能得到“一等公民”的待遇,这意味着它在某些环境中可能不被广泛接受或识别(WireGuard默认使用非标准端口51820,Zero Trust WARP将其改为2408端口,但这仍然是一个非标准端口),尤其是在某些ISP或网络管理策略下。

对于管理自己防火墙的客户而言,这不是问题,他们只需允许该流量即可。然而,许多公共Wi-Fi网点和全球约7000家ISP对WireGuard并不知情,可能会阻止这些端口,还有些ISP会故意阻止(嗯,说谁呢?)。

另外,WireGuard本身只是一个VPN协议,在设计之初也没有考虑过”混淆”这个需求(这通常是科学或者魔法手段该考虑的事),所以流量特征非常明显,对于ISP来说,禁或者不禁只看愿意不愿意而已。

归根结底,基于WireGuard协议的WARP,本身就不适合有”混淆”需求的场合,因为太容易被针对(参考目前OpenVPN在国内的使用状态,规律性掉包就看你能不能忍)。

新协议”MASQUE”

MASQUE(Media Application Substrate for QUIC Encryption)是Cloudflare的WARP新协议,它使用并扩展了 HTTP/3 和 QUIC,目的在于增强隐私和性能:它通过QUIC协议提供更快的连接,同时保护用户数据不被窥探。

与WARP 最为相关的是,QUIC 通过数据包合并和多路复用,可在低延迟网络或高丢包率网络上提供更好的性能。 在握手过程中,处于不同上下文的 QUIC 数据包可以合并到同一个 UDP 数据报中,从而减少了接收和系统中断的次数; 通过多路复用,QUIC 可以在同一 UDP 连接中承载多个 HTTP 会话。WARP 还得益于 QUIC 的高保密性,协议中使用了TLS 1.3。

简单来说,MASQUE就是使用QUIC来替代曾经的”WireGuard”,虽然仍旧是使用UDP协议,但是却从非标的端口变成了标准且加密的443端口。

注:大家看出隐患了吗?


背景知识:

QUICHTTP/3 之间的关系可以概括为:HTTP/3 是基于 QUIC 协议构建的下一代 HTTP 协议

1. QUIC 是传输层协议

QUIC 是一种新的传输层协议,最初由 Google 开发,旨在取代 TCP,优化网络传输性能。QUIC 在设计时结合了 TCP 的可靠性和 UDP 的速度,能够提供低延迟和更好的连接恢复能力。
• 它内置了多路复用、快速握手(只需一个 RTT 或 0-RTT)和加密(通过 TLS 1.3 实现),这些特性大大提升了传输性能。

2. HTTP/3 基于 QUIC

HTTP/3 是 HTTP 协议的最新版本,它取代了基于 TCP 的 HTTP/1.1 和 HTTP/2,转而使用 QUIC 作为底层传输协议。
• 在 HTTP/3 中,请求和响应的数据通过 QUIC 流来传输,利用 QUIC 的多路复用能力,避免了 HTTP/2 中的“队头阻塞”问题。QUIC 的加密和握手机制使 HTTP/3 的连接更快、更安全。

3. 改进的性能

HTTP/3 通过使用 QUIC 改进了数据传输性能,减少了延迟、提高了连接速度,尤其是在高延迟或不稳定网络环境中表现更加优越。


各平台”MASQUE”配置方法

对于各平台的WARP客户端,只要升级到最新版,其实就已经同时支持”MASQUE”和”WireGuard”两种协议了,只不过,”WireGuard”优先级比较高,是默认的选择。对于其他区域的用户来说,这算是合理的默认值,但是对于国内的朋友来说,这个就很坑了,因为国内”WireGuard”方式已经被废了。所以,关键在于如何让WARP客户端使用”MASQUE”方式进行连接。

Zero Trust方式


注:cloudflare Zero Trust和WARP的相关设置参见文章:家庭数据中心系列 通过tunnel技术,让无公网IP的家庭宽带也能白嫖cloudflare实现快速建站(推荐)家庭数据中心系列 合理利用cloudflare WARP来提高自己访问网站的速度(桌面版),文本中就不重复讲了。


如果WARP是采用Zero Trust方式连接,则只需要在Zero Trust上进行简单的设置,让所有连接的WARP客户端默认采用”MASQUE”协议进行连接即可,这是最省事的方式,不用去折腾客户端:

image.png

在”Device settings”中直接配置”Default”:
image.png

image.png

image.png

然后所有平台的WARP客户端(需要升级到最新版)都可以正常连接了,不需要在客户端上做任何修改:
image.png

非Zero Trust方式

对于其他没有办法使用Zero Trust方式的朋友而言,就要稍微折腾一下,在各个平台的客户端上分别进行设置了。

ios(iphone和ipad)

这是最简单的,只要把WARP客户端升级到最新版(6.25)即可直接按照以下流程设置即可。
点击右上角选项:
image.png

选择”高级”:
image.png

选择”连接选项”:
image.png

隧道协议选择”MASQUE”:
image.png

然后重新连接,就可以看到熟悉的画面:
image.png

注1:ios、ipad全新安装或者升级WARP客户端到最新版需要外区的Apple ID;

注2:如果WARP客户端不是全新安装,需要删除以前的设置(在WARP”账号”设置中删除已有的VPN策略)。

注3:这种方式如果要使用WARP+需要用其他方式获取流量(WARP是无限流量,但是WARP+不是,而Zero Trust方式直接是无限流量的WARP+)。

注4:我现在的情况是使用家里的有线宽带能连接上,但是使用蜂窝流量连不上。不过,如果是用家里宽带连上之后再出门用蜂窝流量是可以继续使用的,但是断开之后就连不上了,具体原因我没有深究,初步感觉和DNS有关。

注5:Android版貌似需要WARP 6.35版本才支持”MASQUE”,目前Google Play里WARP的最新版本为6.34,如果非要现在使用可以加入Beta测试,就会和ios版一样多出”MASQUE”的选项。

Win10/Win11


    warp_tunnel_protocol
    masque

  • 3、将”mdm.xml”文件拷贝到路径(这步操作其实就是直接告诉客户端使用MASQUE进行链接):
C:\ProgramData\Cloudflare
  • 4、完全退出WARP客户端(任务管理器里杀掉进程),重新启动,然后直接连接即可。

Mac

mac版的WARP客户端有点麻烦,虽然升级到最新版(WARP mac版客户端官方下载地址)之后已经支持了”MASQUE”协议,但是和Win版一样,并没有提供”MASQUE”的设置项。Win版还可以通过”mdm.xml”的方式来让WARP客户端选择”MASQUE”协议,但是Mac版却不行。

其实我建议,如果非要现在使用mac版的WARP,就用Zero Trust方式来用,否则就再等等。

但是如果非要现在用的话,只能使用mac版WARP的beta版,下载地址如下:Cloudflare WARP macOS Beta,安装Beta版之后在终端下运行如下命令设置来启用”MASQUE”:

warp-cli tunnel protocol set MASQUE

Linux

linux下需要已经成功部署WARP(参见文章:家庭数据中心系列 云主机上部署cloudflare warp来提高网络访问速度(Linux cli版)),成功部署之后也是和win下一样,采用放置mdm.xml的方式,可以直接用vim命令:

vim /var/lib/cloudflare-warp/mdm.xml

将文章前面”mdm.xml”的内容粘贴进去,保存退出,然后重启WARP服务并连接:

systemctl restart warp-svc
warp-cli connect

不放心的话还可以查看下状态:

warp-cli status

image.png

注:如果用Zero Trust,哪有这部分的折腾,所以大家还是尽量用Zero Trust方式吧,一劳永逸,不用折腾客户端。

总结

虽然现在WARP看起来复活了,但是”MASQUE”基于QUIC有个巨大的隐患:需要使用UDP 443端口。这个对于国外网络倒是稳了,因为不可能封UDP 443端口,但是国内嘛~。从下图中可以看出,直接使用WARP我会被分到SJC(San Jose Center)数据中心:
image.png

也就是访问会出境,这时候是要通过某”wall”的,如果某”wall”把所有目标端口是UDP 443端口的来自国内的请求丢弃或者拒绝掉,那WARP又会死翘翘了,所以标题里我才用了”暂时”2个字。

但是不管怎么说,现在WARP算是复活了,虽然不知道能活多久~~~~。

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

发送评论 编辑评论


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