起因是最近代理不稳定,发现代理节点挂掉,国外的 DNS 无法正常工作情况下,国内部分小众域名将会无法解析(不在 geosite:cn 列表中),一部分可以直连国外网站也会无法解析.
在设置为 规则模式走 Direct 和 Direct 模式情况下,依然无法解析,才发现 Real-IP 在这种情况下有解析问题。
我们以 Mihomo 内核举例:
- 首先 规则模式走 Direct 和 Direct 模式 都是在分流层面事情,DNS 解析依然会走 DNS 规则
- 其次,在 mihomo 内核中,需要代理域名解析到 IP 是错误也不太会影响分流结果( IP 规则除外),因为给远端(节点)是域名
- 至于 Fallback 我们在这里并不做讨论(因为发送给远端是 IP 而并非域名,所以被排除掉了)
-
情况一、为了防止 DNS 泄露,一般除了国内域名( geosite:cn ),都是使用 EDNS+国外 DNS 方式查询( NameServer ),有些可能设置了 direct-nameserver (不影响结果)
- 在这种情况下,只要国外 DNS 无法解析,就会出现开头所诉情况,即使设置 direct-nameserver 下,国外 DNS 那一关过不去就无法分流。
-
情况二、geosite:gfw 全走国外 DNS ,其他 NameServer 都是使用国内 DNS 查询( NameServer ),有些可能设置了 direct-nameserver (不影响结果)
- 这种情况下会好点,虽然会有 DNS 泄露问题,但是仅限于 geosite:gfw 无法解析了
SingBox 内核也有相同问题,但是会比 Mihomo 情况好很多(因为可以手动设置解析逻辑,就是比较掉头发罢了)
- SingBox 可以手动设置 Direct 模式使用的 DNS
而 Fake-IP 在这点上就没问题了,直接给客户端发送假 IP ,直接跳到分流层面上;
不必在意 NameServer 是国内还是国外,需要代理域名直接给代理节点发送域名( 99%情况不会发送 IP 的);
而直连域名就通过内核配置 DNS 解析 IP ,由内核中转发送到目标
所以有没有一种方式,当解析超时时候,发送 Fake-IP ,直接到分流层次;或者可以设置 FallBack (此 FallBack 非彼 FallBack )
