把节点或网站套上 Cloudflare CDN 之后,很多人发现速度比直连还慢——因为 CF 默认分配给你的 IP 不一定离你近,分配给中国内地访客的 IP 更是出了名的延迟高、丢包多。
这时候就需要"优选 IP":从 Cloudflare 的几千个 IP 里,挑出对你的线路最快的几个,让客户端只连这些 IP。
💡 先建立一个关键认知:CF CDN → 源站这一段路由是固定的,优选只能优化"你 → CF 入口“这一段。理解了这一点,后面所有的坑都不会踩。
01 原理:三种"优选"的区别
| 类型 | 入口 IP 来源 | 端口要求 | 稳定性 |
|---|---|---|---|
| 官方优选 IP | Cloudflare 自家 IP 段 | 13 个端口通吃 | 最稳 |
| 反代优选 IP | 别人 VPS 跑反代的 IP | IP 和端口强绑定 | 一般,随时可能停 |
| 优选域名 | 大厂域名解析出来的 IP | 取决于背后是官方还是反代 | 取决于背后 |
官方 IP 段:优选的基本盘
Cloudflare 官方公开了全部 15 个 IPv4 段(完整列表见 cloudflare.com/ips):
173.245.48.0/20 103.21.244.0/22 103.22.200.0/22
103.31.4.0/22 141.101.64.0/18 108.162.192.0/18
190.93.240.0/20 188.114.96.0/20 197.234.240.0/22
198.41.128.0/17 162.158.0.0/15 104.16.0.0/13
104.24.0.0/14 172.64.0.0/13 131.0.72.0/22
关键特性:任意 CF 官方 IP 都能作为你域名的入口(前提是域名已开启 CF CDN 代理)。这靠的是 CF 边缘网络的路由机制——入口 IP 只负责把你带进 CF 的门,具体访问哪个站点由 TLS 的 SNI 和 HTTP 的 Host 头决定。
优选的本质:只优化图中 ① 这一段,② 和 ③ 不受影响。
02 实操:CloudflareSpeedTest 标准跑法
社区最主流的工具是 XIU2/CloudflareSpeedTest(Go 编写,Windows/macOS/Linux 全平台,当前版本 v2.3.5,1 万+ Star),cf-speed-dns 等自动化方案也都基于它。
常用参数速查
| 参数 | 含义 | 推荐值 |
|---|---|---|
-n 200 | 延迟测试线程数 | 500 |
-t 4 | 每个 IP 测延迟次数 | 4 |
-dn 10 | 进入下载测速的 IP 数量(延迟最快的前 N 个) | 20 |
-dt 10 | 下载测速时长(秒) | 10 |
-tl 200 | 平均延迟上限(ms) | 沿海 200 / 内陆 300 |
-tll 40 | 平均延迟下限,过滤数据中心间"假快” | 40 |
-tlr 0.2 | 丢包率上限 | 0.2 |
-sl 5 | 下载速度下限(MB/s),过滤"假快" IP | 4K 用户 5 / 下载党 10 |
-tp 443 | 测速目标端口 | 重点参数,见下文 |
-p 10 | 输出前 N 个结果 | 10 |
-f ip.txt | 指定 IP 段文件 | 默认全量 |
-o result.csv | 输出 CSV 文件 | 自动化必加 |
标准跑法
./CloudflareST -n 500 -t 4 -dn 20 -dt 10 -tl 200 -tll 40 -tp 443 -sl 5
Windows 用户直接双击 CloudflareST.exe(用默认参数),或用 PowerShell:
.\CloudflareST.exe -n 500 -t 4 -dn 20 -dt 10 -tl 200 -tll 40 -tp 2053 -sl 5
03 2026 最新趋势:非标端口与 IPv6
网络环境这两年变化很大,照抄几年前的教程(无脑测 443 端口)已经不好使了。
别死磕 443:非标端口绕封锁
2026 年的一个显著变化是运营商对跨境流量的 QoS 策略从"丢包"升级为"动态阻断",同一 IP 在不同运营商、不同时段表现差异巨大。但 Cloudflare 支持 13 个端口,非标端口往往成了幸存通道:
| 运营商 | 推荐 HTTPS 端口 | 推荐 HTTP 端口 |
|---|---|---|
| 电信 | 2053 | 2052 |
| 移动 | 2096 | 8080 |
| 联通 | 8443 | 2082 |
CF 支持的全部端口:HTTPS 用 443 / 2053 / 2083 / 2087 / 2096 / 8443,HTTP 用 80 / 8080 / 8880 / 2052 / 2082 / 2086 / 2095。测速时用 -tp 指定,客户端连接时用同样的端口。
IPv6:拥堵远低于 IPv4
IPv6 节点的拥堵程度目前远低于 IPv4,加 -ipv6 参数(需本地网络支持 IPv6)经常能测出惊喜。注意:老旧软路由(如 N1 盒子)的 IPv6 NAT 转发性能差,可能引发断流,这类设备慎用。
测速时机
晚上 8–11 点高峰期测最准——闲时测出来的"快 IP"到晚高峰可能原形毕露。
04 写进客户端:最容易翻车的一步
把优选出来的 IP 填到节点的 server 字段即可,但SNI(servername)和 Host 头必须保留原域名,否则 CF 不知道你要访问哪个站点,会直接返回错误:
proxies:
- name: CF-Fast
type: vless
server: 104.20.157.18 # ← 优选出来的 IP
port: 2053 # ← 与测速端口一致
servername: your-cdn-domain.com # ← 真实的 CDN 域名,千万别改成 IP
network: ws
ws-opts:
path: /your-path
headers:
Host: your-cdn-domain.com # ← 同样保留原域名
优选 IP 不用贪多,3~5 个就够,多了轮询反而增加不确定性。
05 反代优选 IP 与优选域名
反代优选 IP:能救急,别依赖
别人在自己 VPS(甲骨文/AWS/阿里/腾讯,特征是 8.x.x.x、47.x.x.x 等云厂商段)上架 Nginx,把 443 端口转发到 CF 域名。使用时 IP 与端口强绑定,稳定性完全取决于反代主人。
⚠️ 反代的本质是"借用别人的带宽",不建议长期依赖;用于商业服务甚至可能涉及法律风险。重要服务永远首选官方 IP。
优选域名:两类,看清背后是什么
- 类型 A:大厂域名(如
visa.com、wto.org)解析出来的是 CF 官方 IP——效果等价于官方优选 IP,可以放心用 - 类型 B:域名 A 记录是一池子反代 VPS 的 IP,DNS 轮询选一个——注意 IP 地区要一致(否则国家跳变触发风控),且所有 IP 端口必须统一
社区维护的优选域名列表:wetest.vip/page/cloudflare/cname.html
06 自动化:让优选自己跑起来
方案一:cf-speed-dns(零服务器,全托管)
ZhiXuanWang/cf-speed-dns(1.6k Star)把整个流程托管在 GitHub Actions 上:每 5 分钟自动运行一次 CloudflareSpeedTest,筛选出最快 IP 后通过 API 推送到你的 DNS 记录,全程无需自有服务器。
它还提供公开接口,不想自建可以直接取用:
curl 'https://ip.164746.xyz/ipTop.html'
# 返回: 104.16.204.6,104.18.103.125
Fork 自用时的配置(Settings → Actions secrets,切勿明文写进仓库):
| 场景 | 需要的 Secrets |
|---|---|
| Cloudflare DNS 推送 | CF_API_TOKEN、CF_ZONE_ID、CF_DNS_NAME |
| DNSPod 推送 | DOMAIN、SUB_DOMAIN、SECRETID、SECRETKEY |
| 通知(可选) | PUSHPLUS_TOKEN |
方案二:自己写脚本 + CF API
原理很简单:定时跑 CloudflareST 输出 CSV,读取 Top N IP,调 CF API 更新域名的 A 记录。挂 cron 每天凌晨 4 点执行即可。注意先清除旧的 A 记录再添加新记录,否则记录会越积越多。
核心 API 调用示意:
# 查询现有 A 记录 ID
curl -X GET "https://api.cloudflare.com/client/v4/zones/${ZONE_ID}/dns_records?name=cf.example.com&type=A" \
-H "Authorization: Bearer ${CF_API_TOKEN}"
# 更新为新的优选 IP
curl -X PUT "https://api.cloudflare.com/client/v4/zones/${ZONE_ID}/dns_records/${RECORD_ID}" \
-H "Authorization: Bearer ${CF_API_TOKEN}" \
-H "Content-Type: application/json" \
--data '{"type":"A","name":"cf.example.com","content":"104.20.157.18","ttl":60,"proxied":false}'
这里 proxied 设为 false(仅 DNS),因为这条 A 记录本身就是给客户端直连优选用的。
07 踩坑清单
| 现象 | 原因 | 解决 |
|---|---|---|
| 优选完反而更慢 | servername / Host 被改成了 IP | 改回原域名 |
| 测得快用起来慢 | anycast 数据中心绕路 | 看下载速度而非只看延迟 |
| 443 端口全废 | 运营商动态阻断 | 换 -tp 2053 / 2096 / 8443 测 |
| 反代 IP 突然失效 | 反代主人关停了 | 转回官方 IP |
| 优选域名忽快忽慢 | A 记录 IP 来自不同地区 | 选地区一致的 |
| 校园网测不准 | 公网出口走了代理/CDN | 用家庭网络或 VPS 测 |
| IPv6 时断时续 | 软路由 NAT 转发性能差 | 换设备或关掉 IPv6 |
08 经验总结
- 测速看下载速度,不只看延迟——延迟 30ms 但下载 200KB/s 的 IP 没有意义;
-sl参数是 4K 视频用户的保命符 - 加
-tll 40过滤假延迟——数据中心之间互测会得到 <10ms 的假数据 - 优选 IP 3~5 个就够——贪多嚼不烂
- 官方 IP > 反代 IP——重要服务永远首选官方
- 按运营商选端口——电信 2053、移动 2096、联通 8443
- 晚高峰测最准——8–11 点的 IP 表现才有参考价值
- CF Workers / Pages 不需要优选——它们走 Cloudflare 自己的边缘网络,天然更快
- 能用自动化就别手动——cf-speed-dns 五分钟一轮,比人肉定期重测省心得多
参考资料
本文基于 Daimon’s Blog《Cloudflare 优选 IP / 优选域名》(CC BY-NC-SA 4.0)整理,并补充 2026 年最新实践,主要来源:
- XIU2/CloudflareSpeedTest — 测速工具本体
- ZhiXuanWang/cf-speed-dns — GitHub Actions 全自动优选方案
- Cloudflare 优选 IP 终极指南(E路领航) — 2026 年非标端口与运营商差异化实践