Cloudflare WARP 基于 WireGuard 协议构建,最早以桌面客户端形式被大众知晓。但对 VPS 用户来说,它的核心价值在于网络层面的补充:很多廉价 VPS 只有 IPv4 没有 IPv6,或者欧洲的廉价服务器只有 IPv6,WARP 可以用来填这个空缺。此外,数据中心 IP 触发 Google 验证码的问题,通过 WARP 出口也通常能缓解。不过在动手之前,以下几点局限性值得明确。
部署前要知道的事
WARP 没有独立公网 IP。 它走的是 Cloudflare 的 NAT 网络,出口地址由 Cloudflare 分配,多用户共享同一个出口 IP。这意味着 WARP 只能作为出站流量的出口,不能作为服务器入口,也无法直接开放端口。如果你需要一个可访问的公网地址,WARP 解决不了这个问题。
解锁能力已经大幅下降。 几年前 WARP 在解锁 Netflix、ChatGPT 等服务方面有一定效果,现在这些平台大多已经识别并屏蔽了 WARP 的出口 IP 段。部署前不要抱太高期望,把它当成补充工具而不是主力解锁方案。美国、日本、新加坡等热门出口在高峰时段速度会明显下降,对延迟敏感的应用需要考虑这个因素。
适合部署 WARP 的场景
IPv6 Only VPS 需要 IPv4 访问能力。 Hetzner、BuyVM、AlphaVPS 等欧洲 VPS 厂商有不少纯 IPv6 的廉价方案,访问 IPv4 网站默认依赖 NAT64,有些服务会有兼容性问题。部署 WARP 之后可以直接走 IPv4 出口,兼容性好得多。
IPv4 Only VPS 需要 IPv6 访问能力。 部分廉价 VPS 不提供公网 IPv6,开发者需要测试双栈环境时会比较麻烦,WARP 可以快速补上这个缺口。
改善 Google 服务访问体验。 数据中心 IP 容易触发 Google 的人机验证,通过 WARP 的 Cloudflare 出口访问通常更顺畅,对需要频繁用 Google Scholar 或跑爬虫的场景有帮助。
部署流程
以下步骤适用于 Debian/Ubuntu 系统。
第一步:安装 WireGuard
apt update && apt install wireguard -y
第二步:安装 wgcf
git.io 短链接服务已于 2022 年底关闭,原来流传的安装命令现在会失败。正确方式是从 wgcf 的 GitHub releases 页面直接下载对应架构的二进制文件:
# 查看最新版本号,替换下面的版本号
wget https://github.com/ViRb3/wgcf/releases/download/v2.2.25/wgcf_2.2.25_linux_amd64
chmod +x wgcf_2.2.25_linux_amd64
mv wgcf_2.2.25_linux_amd64 /usr/local/bin/wgcf
版本号请到 github.com/ViRb3/wgcf/releases 确认当前最新版本,ARM 架构的 VPS 需要下载对应的 linux_arm64 版本。
第三步:注册 WARP 账户并生成配置
wgcf register
wgcf generate
执行完成后会生成 wgcf-profile.conf 配置文件,接下来根据你的需求修改这个文件。
针对不同场景修改配置
IPv4 VPS 增加 IPv6 出口:
打开 wgcf-profile.conf,找到 [Peer] 部分,修改以下两行:
AllowedIPs = ::/0
Endpoint = 162.159.192.1:2408
这样配置之后,IPv6 流量走 WARP,IPv4 流量仍然走原来的网络接口,互不干扰。
IPv6 Only VPS 增加 IPv4 出口:
AllowedIPs = 0.0.0.0/0
Endpoint = [2606:4700:d0::a29f:c001]:2408
这里 Endpoint 用的是 IPv6 格式的 Cloudflare 地址,因为你的服务器本身只有 IPv6,必须用 IPv6 地址来建立 WireGuard 连接。
启动和验证
cp wgcf-profile.conf /etc/wireguard/wgcf.conf
wg-quick up wgcf
验证是否成功:
# 验证 IPv4 出口
curl -4 ip.sb
# 验证 IPv6 出口
curl -6 ip.sb
如果返回的 IP 地址属于 Cloudflare 的网段(可以用 whois 查询确认),说明对应方向的流量已经走 WARP 出口。
设置开机自启:
systemctl enable wg-quick@wgcf
systemctl start wg-quick@wgcf
常见问题排查
wg-quick up 报错 RTNETLINK answers: Operation not supported: 通常是内核没有加载 WireGuard 模块,或者内核版本过低(需要 5.6+)。OpenVZ 架构的 VPS 无法运行 WireGuard,需要确认你的 VPS 是 KVM 或 LXC 架构。
连接建立后网络断了: 多半是 AllowedIPs 配置把默认路由也重定向了,导致 SSH 连接中断。修改 AllowedIPs 只覆盖你需要的流量方向(IPv4 only 或 IPv6 only),不要用 0.0.0.0/0, ::/0 全覆盖,除非你清楚自己在做什么。
curl ip.sb 返回的还是原来的 IP: 检查 AllowedIPs 是否正确设置,以及 wg show 里的 latest handshake 是否有更新,如果握手一直没有说明连接没建立起来,可能是防火墙阻止了 UDP 2408 端口。
哪类 VPS 最适合配合 WARP 使用
DigitalOcean 和 Vultr 的 VPS 网络稳定,WireGuard 性能表现好,跑 WARP 不会有兼容性问题,适合需要同时保留原有 IPv4 入口、同时增加 IPv6 出口能力的场景。Hetzner 的纯 IPv6 方案配合 WARP 补 IPv4 是性价比最高的组合之一——Hetzner 本身网络质量好、价格低,WARP 解决了 IPv4 出口的问题,适合不需要 IPv4 入口的内部工具、Docker 服务、AI 应用部署。
总的来说 WARP 是一个值得掌握的网络工具,在双栈补全和 Google 服务访问改善这两个场景里实用价值明确,但对它的解锁能力不要抱有过高期望,把它当成网络层面的补充而不是核心方案。