VPS 上使用 Cloudflare WARP 分流

即让某些服务或流量走 WARP,其余不走

Cloudflare WARP 是一款面向个人用户的 VPN 服务,可以免费使用。将其部署到你的 VPS 上后,结合策略路由或代理工具,可以实现精确流量分流,让特定服务(如 ChatGPT、YouTube)走 WARP,其余流量保持直连。

本教程基于 Debian 系统,适用于大多数 VPS 提供商(如 Vultr、Bandwagon、DigitalOcean 等)。


一、准备工作

确保你具备以下条件:

  • Debian 系统的 VPS(建议为 Debian 10 或更高)
  • root 权限
  • 安装必要依赖:
apt update && apt install curl wget gnupg iproute2 iptables wireguard -y

二、安装并配置 Cloudflare WARP

1. 安装 wgcf 工具

wget https://github.com/ViRb3/wgcf/releases/download/v2.2.16/wgcf_2.2.16_linux_amd64 -O /usr/local/bin/wgcf
chmod +x /usr/local/bin/wgcf

2. 注册并生成配置文件

wgcf register
wgcf generate

此命令会生成以下两个文件:

  • wgcf-account.toml(账号信息)
  • wgcf-profile.conf(WireGuard 配置)

将配置文件移动到 WireGuard 配置目录:

mv wgcf-profile.conf /etc/wireguard/warp.conf

三、启动 WARP(默认全局代理)

运行以下命令即可启用 WARP:

wg-quick up warp

此时 VPS 的所有出口流量都会走 WARP。


四、配置分流(仅部分服务走 WARP)

方法一:基于策略路由 + iptables(推荐)

1. 编辑 warp.conf,添加路由表:

[Interface] 区块中添加:

Table = 123

2. 添加策略路由规则:

ip rule add fwmark 123 lookup 123
ip route add default dev warp table 123

3. 使用 iptables 给目标流量打标记

示例一:让访问 1.1.1.1 的服务走 WARP:

iptables -t mangle -A OUTPUT -d 1.1.1.1 -j MARK --set-mark 123

示例二:让 UID 为 1001 的进程走 WARP:

iptables -t mangle -A OUTPUT -m owner --uid-owner 1001 -j MARK --set-mark 123

方法二:使用 Clash 或 Sing-box 分流(适合域名/Geo规则)

如果你需要更复杂的规则控制,比如:

  • 国内网站直连,国外网站走 WARP;
  • 按域名分流;
  • DNS 请求控制;

推荐使用 Clash.meta 或 Sing-box,并将出口配置为 WARP 的 tunnel 接口或 socks5 代理。

这种方式支持 GeoIP/域名规则,灵活性更强,适合高级用户。


五、设置自动启动与持久化

为了确保重启后策略依然生效,可将相关命令写入 systemd 服务或 /etc/rc.local

ip rule add fwmark 123 lookup 123
ip route add default dev warp table 123
iptables -t mangle -A OUTPUT -d 1.1.1.1 -j MARK --set-mark 123

六、常见使用场景举例

使用目标配置方式
ChatGPT 等国外服务使用 iptables 目的 IP 分流
国内走直连,国外走 WARP使用 clash/sing-box GeoIP 分流规则
某程序走 WARP利用 iptables -m owner 对 UID 分流
curl/wget 临时走 WARP搭配 socks5 + proxychains 使用

七、方案对比总结

分流方式简单性灵活性稳定性适用场景
wgcf + iptables精确控制 IP/进程流量
clash/meta + WARP✅✅按域名/IP/区域智能分流
socks5 + proxychains临时测试或轻量级流量控制

八、注意事项

  • WARP 默认同时启用 IPv4 与 IPv6,如不需要应关闭。
  • MARKTable 数字避免与已有系统规则冲突。
  • VPS 如果本身不能连通 Cloudflare(被墙),WARP 将无法连接。
  • 若使用 tun 模式,需要内核模块支持或使用 wireguard-go

九、结语

Cloudflare WARP 配合策略路由、iptables 或 Clash,可以构建出灵活、稳定的分流环境。你可以只让 ChatGPT、Google、YouTube 走 WARP,其它国内站点依然保持高速直连。

如果你有特定的使用需求(如分流某网站、某端口、某服务),欢迎留言,我可以为你生成完整的配置命令。