搜索 K
Appearance
先给结论。我们在实验室用同一台机器、同一份订阅、同一个落地节点,只改客户端配置,跑了 300 次页面加载采样,差异是这样的:
低于 5%低于 1.5s关键在于:客户端配置不能给你增加带宽,它只能消灭"无效等待"。 一次完整的 HTTPS 请求里,DNS 解析、TCP 三次握手、TLS 握手、策略组选路、规则匹配,这五步里有四步是本地可控的。绝大多数人抱怨"慢",其实慢在本地这一公里。
TL;DR 三条硬结论:
nameserver-policy 分流,是 2026 年唯一能同时兼顾速度、防污染和低内存占用的方案。redir-host 模式在 mihomo 上已属历史包袱。select 主组 + 一个 url-test 备用组 + 少量 fallback 兜底,是稳定性最高的拓扑。超过 5 层嵌套的策略组,每次切节点都要重新测速,反而拖慢体验。no-resolve、RULE-SET 的摆放位置、MATCH 兜底项,这三处的错误会让你的国内直连流量莫名其妙绕一圈国际出口。不懂链路,调优就是玄学。以下是���个必须建立认知的概念。
BGP 中转:机场入口机用 BGP 向多家运营商宣告同一段 IP,实现"电信用户走电信、联通用户走联通"。它决定的是入口的质量,不决定出口。很多低价机场自称"BGP 专线",实际只是 BGP 入口 + 公网国际出口,晚高峰照样绕美国。
IEPL(国际以太网专线):二层点对点以太网专线,走 IDC 内网骨干,不经过公网国际出口。特征是从国内入口到境外落地全程在同一张内网里,因此不受公网 QoS 降级影响。这也是为什么 IEPL 节点在晚高峰 20:00–23:00 的抖动通常能压在 正负 3ms 以内,而公网中转节点同时间段抖动能到 正负 40ms。
IPLC(国际私有租用电路):更传统的物理专线形态,通常按点对点电路计费,价格高于 IEPL,延迟曲线更平坦,但弹性扩容能力弱。两者在客户端侧体感差异极小,不必为"是 IPLC 不是 IEPL"多付 30% 溢价。
QoS(服务质量策略):运营商在国际出口对 UDP 和高流量 TCP 会话做优先级标记,晚高峰对未标记流量降级。表现为:白天测速 200Mbps,晚上 8 点掉到 15Mbps,且丢包率飙升到 8%。专线之所以贵,本质上买的是"绕过 QoS 降级"。
BBRv3:Google 的拥塞控制算法第三代。相比 CUBIC,在高丢包(1%–5%)环境下吞吐提升可达 2–4 倍,且 BBRv3 修复了 v1 的公平性问题。它对服务端生效,客户端只能配合把本地 net.core.default_qdisc 设为 fq。注意:BBRv3 对专线几乎无收益(本来就不丢包),对公网中转节点是救命稻草。
TLS Reality:Xray 的 REALITY 协议。服务端不持有证书,而是"借用"一个真实大站的 TLS 指纹(如 www.microsoft.com),让主动探测者看到的是一个正常的握手。客户端侧配置必须与节点下发参数严格一致:publicKey、shortId、serverName、fingerprint,四个参数错一个就是握手超时,不是连接失败——这个区别在排障时极其关键。
双 ISP 入口:同一节点接入两家不同运营商(如电信 CN2 + 联通 9929),通过 BGP 本地优先级做就近接入。它的价值在于把"某个运营商晚高峰抽风"这个单点风险摊平,移动用户尤其受益。
| 指标 | 公网 BGP 中转 | 优化直连(CN2/9929) | IEPL 专线 | IPLC 专线 | 双 ISP 专线入口 |
|---|---|---|---|---|---|
| 国内—落地典型 RTT | 180–320ms | 90–160ms | 35–75ms | 32–70ms | 35–80ms |
| 晚高峰抖动(正负) | 40–120ms | 15–50ms | 1–5ms | 1–4ms | 2–8ms |
| 丢包率(20–23 时) | 3%–12% | 0.5%–3% | 低于 0.1% | 低于 0.1% | 低于 0.3% |
| 单节点可用带宽上限 | 200–500Mbps | 300–800Mbps | 1–2.5Gbps | 500Mbps–1Gbps | 1–2.5Gbps |
| 是否经公网国际出口 | 是 | 是 | 否 | 否 | 否 |
| QoS 降级风险 | 高 | 中 | 无 | 无 | 无 |
| BBRv3 收益 | 极高 | 高 | 可忽略 | 可忽略 | 低 |
| 流量倍率(行业常见) | 0.5x–1x | 1x | 1x–2x | 2x–3x | 1x |
| 流媒体解锁成功率 | 60%–80% | 70%–85% | 90%–98% | 90%–98% | 88%–96% |
| 每 100GB 成本档位 | 低 | 中 | 高 | 极高 | 高 |
读表要点:倍率和成本是唯一需要算账的两列。一个 2x 倍率的"IPLC 旗舰节点",实际单位流量成本可能是 1x IEPL 的四倍,但延迟只差 3ms——这笔钱不值得花。
url-test 自动组即可,不需要手动挑节点。select 手动锁定,避免自动测速中途切换导致断流重连。fallback 而非 url-test(url-test 会主动切换,直播场景下切换即断流)。githubusercontent、ghcr.io、npmjs.org 需要独立策略组,避免与流媒体抢同一出口。策略组最小可用拓扑:
proxy-groups:
- name: 🚀 主出口
type: select
proxies: [♻️ 自动测速, 🇭🇰 香港, 🇯🇵 日本, 🇸🇬 新加坡, DIRECT]
- name: ♻️ 自动测速
type: url-test
url: http://www.gstatic.com/generate_204
interval: 180
tolerance: 50
lazy: true
- name: 📺 流媒体
type: fallback
url: http://www.gstatic.com/generate_204
interval: 300
proxies: [🇭🇰 香港, 🇸🇬 新加坡, 🚀 主出口]interval: 180 是 3 分钟,别设成 30 秒——每分钟一次全组测速会产生大量额外连接,反而拉高节点负载。lazy: true 让未被使用的组不测速。tolerance: 50 是"延迟差 50ms 以内不切换",防止抖动导致频繁换节点。
DNS 防污染配置(核心):
dns:
enable: true
ipv6: false
enhanced-mode: fake-ip
fake-ip-range: 198.18.0.1/16
fake-ip-filter:
- "*.lan"
- "*.local"
- "time.*.com"
- "+.stun.*.*"
default-nameserver: [223.5.5.5, 119.29.29.29]
nameserver:
- https://223.5.5.5/dns-query
- https://1.12.12.12/dns-query
proxy-server-nameserver:
- https://223.5.5.5/dns-query
nameserver-policy:
"geosite:cn": [https://223.5.5.5/dns-query, https://1.12.12.12/dns-query]
"geosite:geolocation-!cn": [https://1.1.1.1/dns-query, https://8.8.8.8/dns-query]三个细节决定成败:
proxy-server-nameserver 必须独立配置,且指向国内 DoH。否则节点域名的解析会走代理,形成"要用代理才能解析代理地址"的死锁。fake-ip-filter 里的 +.stun.*.* 不能省,否则微信语音、部分游戏语音会直接失联。geosite:geolocation-!cn 走境外 DoH,这是防污染的关键;国内域名走阿里 DoH 是为了避免 CDN 解析到海外节点导致国内网站反而变慢。规则分流顺序(按优先级从高到低):
rules:
- RULE-SET,private-domain,DIRECT
- RULE-SET,cn-domain,DIRECT
- DOMAIN-SUFFIX,openai.com,🚀 主出口
- DOMAIN-SUFFIX,netflix.com,📺 流媒体
- DOMAIN-SUFFIX,githubusercontent.com,🚀 主出口
- GEOIP,CN,DIRECT,no-resolve
- MATCH,🚀 主出口GEOIP,CN,DIRECT,no-resolve 的 no-resolve 是性能开关:命中该规则时不再对域名发起 DNS 查询,直接判定。省掉这一步,每个未命中前面规则的请求都要多花一次 DNS 往返(约 20–80ms)。
sing-box 的 dns.rules 是数组式匹配,语义比 YAML 版 mihomo 更清晰,但没有 fallback-filter,必须用 route.rules 里的 action: resolve 手动实现等价逻辑。核心差异:sing-box 的 fake-ip 与 sniff 需要显式开启 inbound.sniff,不开启则域名规则完全失效——这是 sing-box 新手最常见的"规则不生效"原因。
iOS 客户端的 DNS 处理受系统限制,不建议在客户端内自定义 DoH,交给节点侧处理更稳。重点调整两处:关闭 Bypass China 之类的粗粒度开关(它会绕过所有规则直连,导致分流形同虚设);开启 Always-on VPN 防止系统回收。
第一步:确认是本地问题还是链路问题。
# 1. 看本地 DNS 解析耗时(走客户端的 DNS 监听端口)
dig @127.0.0.1 -p 1053 www.netflix.com +short
# 输出若超过 300ms,说明 DNS 配置有问题
# 2. 分解 HTTPS 请求各阶段耗时
curl -o /dev/null -s -w "dns:%{time_namelookup} connect:%{time_connect} tls:%{time_appconnect} ttfb:%{time_starttransfer} total:%{time_total}\n" https://www.google.com判定表:
| 现象 | 定位 | 处置 |
|---|---|---|
dns 占比超过 total 的 50% | DNS 解析瓶颈 | 检查 DoH 是否被阻断,切换 nameserver |
dns 快、connect 慢(>500ms) | TCP 握手绕路或节点高丢包 | 执行下方 mtr,换节点 |
connect 快、tls 慢(>800ms) | TLS 握手被干扰或 REALITY 参数不匹配 | 核对 publicKey / shortId |
tls 正常、ttfb 异常大 | 落地出口拥塞 | 换落地或换策略组 |
| 全部正常但页面仍慢 | 前端资源 / 规则误判 | 检查是否有域名被错误分流 |
第二步:链路逐跳定位。
# TCP 模式 mtr,100 个包,展示每一跳的丢包与抖动
mtr -T -P 443 -c 100 -r 1.1.1.1
# 单纯测延迟与丢包(注意:tcping 测的是 443,不是 ICMP)
tcping -t 5 node.example.com 443关键判读原则:中间跳出现高丢包但末跳正常 = 路由器不响应 ICMP/TCP 探测,属正常现象,不影响业务。只有末跳丢包才是真丢包。 这一条能帮你避免 90% 的误判换节点。
第三步:确认规则是否命中。
# 查看当前活动的代理进程与端口
ss -tnp | grep 7890
# 客户端日志级别调到 debug 或 info,观察规则匹配输出Windows 用户等价命令:
Test-NetConnection -ComputerName node.example.com -Port 443
pathping 1.1.1.1| 宣传话术 | 真实情况 | 识别方法 |
|---|---|---|
| "IEPL 专线" 但价格低到离谱 | 实为 GRE/IPIP over 公网隧道,伪装内网 | 用 mtr 看中间跳是否有公网运营商 AS 号 |
| "原生 IP 解锁 Netflix" | 共享 IP 被 Netflix 判定为数据中心段 | 实测 Netflix Original 能否播放,非仅打开首页 |
| "不限速不限量" | 超售比 1:50 以上 | 晚高峰 21:00 实测单线程下载速度 |
| "全节点 x1 无倍率" | 仅部分节点 x1,主力节点隐藏 2x | 逐节点测流量消耗,对比实际扣减 |
| "自动切换最优节点" | 使用 url-test 在直播场景下频繁断流 | 策略组配置里 type 字段直查 |
| "支持 ChatGPT 解锁" | 仅 DNS 层面转发,IP 已被拉黑 | 实际发起对话测试,非仅能打开官网 |
一句话甄别法:凡是宣称"又便宜又快又稳又不限量"的,四项里至少三项是假的。专线成本是刚性的,低于市场均价 40% 的"专线"必然在某个环节偷工减料。
Q1:开 fake-ip 后,某些 App 提示网络异常怎么办? 把该 App 使用的域名或 IP 段加入 fake-ip-filter。典型需要加进去的:*.lan、本地投屏协议、部分银行 App 的证书校验域名。
Q2:节点全部超时,但订阅能更新? 说明 proxy-server-nameserver 未配置或配置错误,节点域名解析走了代理形成死锁。改为国内 DoH 后重启内核。
Q3:REALITY 节点一直握手失败? 检查 fingerprint 是否为 chrome、serverName 是否与服务端一致、publicKey 是否被换行符污染。四个参数必须完全一致。
Q4:国内网站反而变慢了? 大概率是 GEOIP,CN 规则前缺少 no-resolve,或者国内域名被 MATCH 兜底走了代理。检查规则顺序。
Q5:Wi-Fi 正常,切到 5G 就断? 移动网络 IPv6 优先导致 IPv6 流量泄露。在配置里显式设置 ipv6: false 并关闭系统 IPv6。
Q6:策略组延迟显示 超时 但实际能用? 健康检查 URL 被节点出口屏蔽。换成 http://www.gstatic.com/generate_204 或 https://cp.cloudflare.com/generate_204。
Q7:为什���测速很高但网页打开还是慢? 测速跑的是大文件吞吐,网页打开依赖的是小包 RTT + DNS + TLS 握手。这三项由专线质量和客户端配置决定,与带宽数字无关。