2dust / v2rayNG

A V2Ray client for Android, support Xray core and v2fly core
https://1.2345345.xyz
GNU General Public License v3.0
36.36k stars 5.55k forks source link

DNS-over-QUIC 端口错误 #3693

Closed wengzhenquan closed 3 weeks ago

wengzhenquan commented 1 month ago

远程dns,上面写可以支持(udp/tcp/https/quic),我输入quic://94.140.15.15,日志里面端口自动补53,我手动写端口,quic://94.140.15.15:853,结果补成quic://94.140.15.15:853:53。 quic协议的端口是853,可是总会自动补53

预期行为

quic端口为853

实际行为

自动在末尾补53端口

日志信息

--------- beginning of main 10-15 01:48:12.032 I/GoLog (15902): loading core config 10-15 01:48:12.033 I/GoLog (15902): Preparing Domain: 103.150.8.172:4433 10-15 01:48:12.035 I/GoLog (15902): Prepare Result: 10-15 01:48:12.035 I/GoLog (15902): Domain: 103.150.8.172 10-15 01:48:12.035 I/GoLog (15902): Port: 4433 10-15 01:48:12.035 I/GoLog (15902): IPs: [103.150.8.172] 10-15 01:48:13.915 I/GoLog (15902): new core 10-15 01:48:13.916 I/GoLog (15902): [Debug] app/log: Logger started 10-15 01:48:14.119 I/GoLog (15902): [Info] app/dns: DNS: created Remote DOH client for https://1.0.0.2/dns-query 10-15 01:48:14.119 I/GoLog (15902): [Info] app/dns: DNS: created UDP client initialized for quic://94.140.15.15:853:53 10-15 01:48:14.119 I/GoLog (15902): [Info] app/dns: DNS: created Remote DOH client for https://1.0.0.2/dns-query 10-15 01:48:14.145 I/GoLog (15902): [Info] app/dns: DNS: created UDP client initialized for 223.5.5.5:53

通过adb logcat -s com.v2ray.ang GoLog V2rayConfigUtilGoLog Main获取日志。请自行删减日志中可能出现的敏感信息。

如果问题可重现,建议先执行adb logcat -c清空系统日志再执行上述命令,再操作重现问题。

在这里粘贴日志

环境信息

额外信息(可选)

wengzhenquan commented 1 month ago

另外, 1、多个dns的时候,我看到用逗号分割,却不知是按照什么样的规则,负载均衡,轮巡,并发,还是啥? 2、dot,tls协议支持吗?

2dust commented 3 weeks ago

多个dns时,你可以使用导出完整配置查看,理论上只用到了第一个dns

2dust commented 3 weeks ago

支持看这里 https://xtls.github.io/config/dns.html#dnsobject

wengzhenquan commented 3 weeks ago

quic协议的端口依旧是53,应该是853

2dust commented 3 weeks ago

https://github.com/2dust/v2rayNG/releases/tag/1.9.11

wengzhenquan commented 3 weeks ago

IMG_20241105_065730 IMG_20241105_065606

依旧不行

版本:1.9.11

2dust commented 3 weeks ago

你导出完整配置,看下配置文件中dns部分是否正确?

2dust commented 3 weeks ago

当值是 "quic+local://host" 的形式,如 "quic+local://dns.adguard.com",Xray 会使用 DNS over QUIC 本地模式 (DOQL) 进行查询,即 DNS 请求不会经过路由组件,直接通过 Freedom outbound 对外请求。该方式需要 DNS 服务器支持 DNS over QUIC。默认使用 853 端口进行查询,可以使用非标端口。

又仔细看了文档,quic只有写 "quic+local://dns.adguard.com"才是支持的, 只有 "quic://dns.adguard.com"的时候,xray认为就是个udp

wengzhenquan commented 3 weeks ago

当值是 "quic+local://host" 的形式,如 "quic+local://dns.adguard.com",Xray 会使用 DNS over QUIC 本地模式 (DOQL) 进行查询,即 DNS 请求不会经过路由组件,直接通过 Freedom outbound 对外请求。该方式需要 DNS 服务器支持 DNS over QUIC。默认使用 853 端口进行查询,可以使用非标端口。

又仔细看了文档,quic只有写 "quic+local://dns.adguard.com"才是支持的, 只有 "quic://dns.adguard.com"的时候,xray认为就是个udp

成功了quic+local://94.140.15.15

2dust commented 3 weeks ago

https://xtls.github.io/config/dns.html#dnsserverobject

DNS 服务器端口,如 53。此项缺省时默认为 53。当使用 DOH、DOHL、DOQL 模式时该项无效,非标端口应在 URL 中指定。 所以目前代码也不需要处理了,完结