🧠 项目名称:Cloudflare WARP 出口代理方案学习笔记
🧩 一、应用场景描述
- 操作系统:Linux
- 出口工具:Cloudflare warp-cli / warp-go / wgcf
- 搭配面板:3x-ui(Xray)
- 应用目标:
🔧 二、方案架构与组件职责
1
| [客户端] → [Xray 3x-ui 入站] → [出站策略选择] → [WARP 本地监听端口 (40000)] → [Cloudflare Anycast IP 出口]
|
组件 |
功能描述 |
备注 |
warp-cli / warp-go |
本地透明代理出口 |
建议用 warp-go 控制更多 |
3x-ui 出站 |
管理所有流量出口策略 |
可绑定到特定域名/IP规则 |
3x-ui 路由规则 |
流量匹配判断(按域名/IP/端口) |
规则顺序决定优先级 |
入站设置 |
定义哪些客户端请求进入 Xray |
配合透明代理、SOCKS、端口映射等 |
🔄 三、常用操作记录
1. 更换 WARP IP(warp-cli)
1 2
| warp-cli disconnect && warp-cli connect curl ipinfo.io
|
2. warp-go 启动监听端口(替代 warp-cli)
1 2
| ./warp-go --mode=proxy --proxy-port=40000
|
3. 配合 3x-ui 添加出站配置:
- 类型:SOCKS / HTTP
- 地址:127.0.0.1
- 端口:40000
- 可选:开启 UDP 支持
🌐 四、推荐 Cloudflare 接入点 IP(用于控制地区偏向)
地区 |
接入 IP 示例 |
美国 |
162.159.192.1 |
日本 |
162.159.193.1 |
香港 |
162.159.195.1 |
台湾 |
162.159.196.1 |
这些可用于 warp-go 的 --gateway
参数
📈 五、验证出口 IP 方法
1 2
| curl https://www.cloudflare.com/cdn-cgi/trace curl ipinfo.io
|
🧪 六、已发现问题及解决记录
问题描述 |
原因分析 |
解决方式 |
WARP IP 切换后不立即生效 |
可能是 Xray 出站连接复用、DNS 缓存未更新 |
重启 Xray 核心或断开重连 |
WARP 对指定站点不生效 |
出站规则未匹配成功 / 顺序不对 |
检查路由顺序和优先级,提升规则匹配顺位 |
DNS 泄漏问题 |
系统 DNS 未跟随代理 |
使用 DNS-over-HTTPS 或 TUN 模式解决 |
🧰 七、后续探索方向
🧾 第二部分:3x-ui 中路由规则与出站优先级解析
📘 1. 路由规则作用顺序(从上往下,先匹配先执行)
在 Xray 的路由系统中(3x-ui 图形化封装):
- 路由规则按 配置顺序 匹配执行
- 一旦某条规则匹配成功,不会继续匹配下一个
✅ 例如:
1 2
| 规则1:域名包含 youtube.com → 出站:WARP 规则2:IP 属于 CN → 出站:直连
|
如果访问 www.youtube.com
,会走第一条 WARP,不会再判断是否是中国 IP。
📘 2. 出站策略规则优先级建议
- 将 需要特殊代理的站点(如被封锁的国际服务)放在前面
- 将 默认直连或大多数站点走的出口 放在最后(作为兜底)
📘 3. DNS 与路由匹配的联动逻辑
- 如果你的域名解析走的是系统 DNS(非 Xray 处理),则:
- 有可能 先匹配 IP,再决定出站
- 这样会出现 DNS 泄漏 或 路由不生效
🔧 建议:
- 启用 Xray 内置 DNS(如使用 DoH)
- 在 3x-ui 面板中开启 DNS 分流配置
- 设置 DNS 查询优先走 WARP 出站,避免泄漏
📘 4. 为什么 WARP 二级代理生效延迟明显?
常见原因:
原因 |
说明 |
建议 |
出站连接复用 |
Xray 默认复用连接,可能仍在使用旧 IP |
重启 WARP 或切换节点 |
DNS 缓存 |
域名解析未及时刷新,仍走旧出口 |
使用 xray 内置 DNS 配置强制刷新 |
规则未生效 |
路由顺序未正确命中 |
提升对应规则顺位或写精确规则(如 full domain) |
代理协议缓冲延迟 |
比如 HTTP vs SOCKS vs TUN 模式差异 |
使用 warp-go 的 TUN 代理可提升反应 |