Routing Failure: Sniffed domains fail to match field rules
Author: swoiowCreated Apr 5, 2026Updated Aug 8, 2026
你正在使用哪个版本的 V2Ray?
V2Ray 5.47.0 (Started at 2026/04/05)
你的使用场景是什么?
使用透明代理(Dokodemo-door)对设备流量进行分流,开启了流量嗅探(Sniffing),并希望通过 routing 中的 balancerTag 将特定域名(如 iCloud Private Relay)分发至指定的负载均衡组。
你看到的异常现象是什么?
虽然日志显示 V2Ray 已经成功嗅探(Sniffed)到了正确的域名(例如 mask.icloud.com),但是路由匹配却跳过了对应的规则,直接落入 default route 并最终被 [Reject] 丢弃。
根据日志显示:
app/dispatcher: sniffed domain: mask.icloud.com(成功嗅探)app/dispatcher: default route for udp:mask.icloud.com:443(未能匹配预设规则)accepted ... [Reject](命中默认规则)
你期待看到的正常表现是怎样的?
既然 routing 规则中已经明确列出了 mask.icloud.com 等域名,且嗅探结果一致,流量理应命中该规则并分发至 balancerTag: NODES|Asia,而不是落入默认路由。
请附上你的配置
客户端配置:
{
"routing": {
"domainMatcher": "mph",
"domainStrategy": "IPIfNonMatch",
"rules": [
// ip
{
"balancerTag": "NODES|Asia",
"description": "iCloud Private Relay ",
"ip": [
// Apple 自有 A 类大段 涵盖绝大部分私密代理入口
"17.0.0.0/8",
// 极其重要 Cloudflare 为 Apple 私密代理提供的专用 IP 段
"104.28.0.0/14",
// Akamai 承载的 Apple 边缘节点
"172.224.0.0/12",
// Apple 专用业务段
"192.35.50.0/24"
],
"network": "tcp,udp",
"type": "field"
},
// domains
{
"type": "field",
"balancerTag": "NODES|Asia",
"domains": [
"geosite:netflix",
"geosite:viu",
"geosite:tvb",
"geosite:riot",
"geosite:kkbox",
"domain:cos.ap-hongkong.myqcloud.com",
"domain:content-storage-upload.googleapis.com",
"mask.icloud.com",
"mask-api.icloud.com",
"mask.apple-dns.net",
"mask-api.fe.apple-dns.net",
"mask-h2.icloud.com",
"weatherkit.apple.com"
],
"network": "tcp,udp"
}
// ... 其他规则
],
"balancers": [
{
"tag": "NODES|Asia",
"selector": ["Asia"]
}
]
}
}
请附上出错时软件输出的错误日志
客户端错误日志:
2026/04/05 17:26:30 [Info] app/dispatcher: sniffed domain: mask.icloud.com for udp:17.248.152.134:443
2026/04/05 17:26:30 [Warning] [3569452409] app/dispatcher: default route for udp:mask.icloud.com:443
2026/04/05 17:26:30 10.*.*.*:53322 accepted udp:17.248.152.134:443 [Reject]
2026/04/05 17:26:30 [Info] [1803155011] app/dispatcher: sniffed domain: mask-h2.icloud.com for tcp:17.248.152.112:443
2026/04/05 17:26:30 [Warning] [1803155011] app/dispatcher: default route for tcp:mask-h2.icloud.com:443
2026/04/05 17:26:30 10.*.*.*:52555 accepted tcp:17.248.152.112:443 [Reject]
请附上访问日志
2026/04/05 17:26:30 10.*.*.*:53322 accepted udp:17.248.152.134:443 [Reject]
2026/04/05 17:26:30 10.*.*.*:52554 accepted tcp:17.248.152.109:443 [Reject]
2026/04/05 17:26:30 10.*.*.*:52555 accepted tcp:17.248.152.112:443 [Reject]
排除 network 配置不足的可能性。
ip, domains均配置。
排除 domainMatcher,domainStrategy 的可能?
排除 0.0.0.0 的可能性,因为有IP。
default route for tcp:mask-api.icloud.com:443说明,mask-api.icloud.com:443没有被捕捉。**dispatcher 没找到匹配规则,于是走默认路由。**也就是说:mask-api.icloud.com:443 没命中任何 rule
掉到 default route
default outbound = Reject
所以日志显示 [Reject]
而不是:
- 命中了某条显式 Reject rule
- 所以被拒绝
最后归因,估计是匹配引擎问题
Source: v2fly/v2ray-core