diff --git a/docs/config/routing.md b/docs/config/routing.md index 99cf30102..75d9c53d8 100644 --- a/docs/config/routing.md +++ b/docs/config/routing.md @@ -24,11 +24,17 @@ 域名解析策略,根据不同的设置使用不同的策略。 -- `"AsIs"`:只使用域名进行路由选择。默认值。 -- `"IPIfNonMatch"`:当域名没有匹配任何规则时,将域名解析成 IP(A 记录或 AAAA 记录)再次进行匹配; - - 当一个域名有多个 A 记录时,会尝试匹配所有的 A 记录,直到其中一个与某个规则匹配为止; - - 解析后的 IP 仅在路由选择时起作用,转发的数据包中依然使用原始域名; -- `"IPOnDemand"`:当匹配时碰到任何基于 IP 的规则,将域名立即解析为 IP 进行匹配; +- `"AsIs"`:不进行额外操作,使用目标地址里的域名或者 sniff 到的域名。默认值。 +- `"IPIfNonMatch"`:一整轮匹配结束后,当没有命中任何规则时,将域名解析成 IP 再次进行二次匹配; +- `"IPOnDemand"`:在开始进行匹配前,直接先将域名解析为 IP 进行匹配; + +解析将同时包含 IPv4 与 IPv6(你可以在内置 DNS 的 `queryStrategy` 进行二次限制) 域名解析出多条 IP 时每条规则将依次尝试全部 IP 然后再匹配下一条路由(如果该条未命中)。 + +当开启 sniff + routeOnly 使路由系统可以同时看见 IP 和域名时,如果发生上述的解析,路由系统只能看到由域名解析出的 IP 而无法看见原始目标 IP, 除非解析失败。 + +当存在两个域名时(目标域名 + sniff 结果) 无论是用于解析还是用于域名匹配,sniff 结果的优先级总是更高。 + +无论解析与否,路由系统不会影响真正目标地址,请求的目标仍然是原始目标。 > `rules`: \[[RuleObject](#ruleobject)\]