Closed Mukou-Aoi closed 3 years ago
应该是需要在 DNS
queryStrategy
和 Freedom 的domainStrategy
同时设置UseIPv4
代码那里不是 Bug 吧,那里也是对应发起的请求解包后用 V2 的逻辑来处理的,请求时 A 就查 A,请求时 AAAA 就查 AAAA
这里说的问题和 Freedom 出站无关,是 DNS 出站协议 的问题。
在处理 DNS 查询时,此出站协议会将 IP 查询(即 A 和 AAAA)转发给内置的 DNS 服务器。其它类型的查询流量将被转发至它们原本的目标地址。
一般来说这个功能是用来拦截本机 DNS 请求来避免 DNS 泄露的,但并不会尊重 内建 DNS 的 domainStrategy
设置(若尊重设置,则应该屏蔽 A/AAAA 请求而不是两种请求全部接受)
同时,FakeDNS 默认的地址池也会根据这里的 domainStrategy
设置生成,会导致覆盖不到 A/AAAA 请求的情况。
文档对此功能的说明是:
实际测试由DNS出站传入的请求会分别请求两种记录,无视内建DNS的
queryStrategy
设置:https://github.com/v2fly/v2ray-core/blob/e39a69e6881601a8c81057e5b7e6b96decd0be5b/proxy/dns/dns.go#L226-L231
不知这是 bug 还是设计上有意为之?
一般来说,这个功能是用来配合透明代理把 UDP:53 流量全部拦截交给 V2Ray 来处理的,是 A 还是 AAAA 取决于原始请求。
当前行为下如果设置了
"queryStrategy": "UseIPv4"
而收到了 AAAA 请求会导致 DNS 泄露。