mokeyish / smartdns-rs

A cross platform local DNS server (Dnsmasq like) written in rust to obtain the fastest website IP for the best Internet experience, supports DoT, DoQ, DoH, DoH3.
GNU General Public License v3.0
520 stars 35 forks source link

详细打印使用doh的报错 #307

Open giveup opened 1 month ago

giveup commented 1 month ago

使用阿里的doh时,不定时出现如下报错

2024-06-12 00:35:08.757:DEBUG:smartdns::dns_mw_ns:96: query name: optimizationguide-pa.googleapis.com. type: A via [Group: oversea]
2024-06-12 00:35:08.757:DEBUG:smartdns::dns_client:705: query name: optimizationguide-pa.googleapis.com. type: A, Some(ClientSubnet { address: ip, source_prefix: 24, scope_prefix: 0 })
2024-06-12 00:35:08.757:DEBUG:smartdns::dns_client:705: query name: optimizationguide-pa.googleapis.com. type: A, Some(ClientSubnet { address: ip, source_prefix: 24, scope_prefix: 0 })
2024-06-12 00:35:08.757:DEBUG:smartdns::app:425: error resolving: proto error: resource too busy
2024-06-12 00:35:08.761:DEBUG:smartdns::server::udp:43: received udp request from: 127.0.0.1:47932
2024-06-12 00:35:08.761:DEBUG:smartdns::server::udp:43: received udp request from: 127.0.0.1:47956
2024-06-12 00:35:08.762:DEBUG:smartdns::app:391: request:58553 src:UDP://127.0.0.1#47956 type:QUERY dnssec:false QUERY:optimizationguide-pa.googleapis.com.:AAAA:IN qflags:RD
--
2024-06-12 00:43:56.784:DEBUG:smartdns::dns_mw_cache:190: Domain prefetch check(total: 717), elapsed 313.285µs
2024-06-12 00:43:56.784:DEBUG:smartdns::dns_mw_cache:330: Domain prefetch check will be performed in 19.478900986s.
2024-06-12 00:44:10.646:DEBUG:smartdns::app:425: error resolving: proto error: received a stream error: timeout
2024-06-12 00:44:10.646:DEBUG:smartdns::app:425: error resolving: proto error: received a stream error: timeout
2024-06-12 00:44:10.646:DEBUG:smartdns::dns_mw_cache:125: Prefetch domain token.safebrowsing.apple. A, elapsed 20.559201743s
2024-06-12 00:44:10.646:DEBUG:smartdns::dns_mw_cache:125: Prefetch domain mesu.g.aaplimg.com. AAAA, elapsed 20.560106876s
2024-06-12 00:44:10.646:DEBUG:smartdns::app:425: error resolving: proto error: received a stream error: timeout
2024-06-12 00:44:10.647:DEBUG:smartdns::dns_mw_cache:125: Prefetch domain iphone-ld.apple.com. AAAA, elapsed 19.597257425s
2024-06-12 00:44:10.647:DEBUG:smartdns::app:425: error resolving: proto error: received a stream error: timeout
2024-06-12 00:44:10.647:DEBUG:smartdns::app:425: error resolving: proto error: received a stream error: timeout
2024-06-12 00:44:10.647:DEBUG:smartdns::dns_mw_cache:125: Prefetch domain cds.apple.com. AAAA, elapsed 20.584860283s
2024-06-12 00:44:10.647:DEBUG:smartdns::dns_mw_cache:125: Prefetch domain safebrowsing.g.aaplimg.com. AAAA, elapsed 20.561020969s
2024-06-12 00:44:10.648:DEBUG:smartdns::app:425: error resolving: proto error: received a stream error: timeout
2024-06-12 00:44:10.648:DEBUG:smartdns::dns_mw_cache:125: Prefetch domain safebrowsing.g.aaplimg.com. A, elapsed 20.560941129s
2024-06-12 00:44:10.652:DEBUG:smartdns::app:425: error resolving: proto error: received a stream error: timeout
2024-06-12 00:44:10.652:DEBUG:smartdns::dns_mw_cache:125: Prefetch domain ipcdn.apple.com. AAAA, elapsed 20.589526032s
2024-06-12 00:44:16.265:DEBUG:smartdns::dns_mw_cache:190: Domain prefetch check(total: 717), elapsed 324.405µs
2024-06-12 00:44:16.265:DEBUG:smartdns::dns_mw_cache:330: Domain prefetch check will be performed in 1.138965142s.
2024-06-12 23:24:52.846:ERROR:smartdns::app:425: error resolving: proto error: no connections available
2024-06-12 23:24:52.846:ERROR:smartdns::app:425: error resolving: proto error: no connections available
2024-06-12 23:25:00.833:ERROR:smartdns::app:425: error resolving: proto error: no connections available
2024-06-12 23:25:00.833:ERROR:smartdns::app:425: error resolving: proto error: no connections available
2024-06-12 23:25:01.399:ERROR:smartdns::app:425: error resolving: proto error: receiver was canceled
2024-06-12 23:25:01.835:ERROR:smartdns::app:425: error resolving: proto error: no connections available
2024-06-12 23:25:01.836:ERROR:smartdns::app:425: error resolving: proto error: no connections available
2024-06-13 00:13:01.278:ERROR:smartdns::dns_mw_ns:91: no available nameserver found for gateway.fe2.apple-dns.net.
2024-06-13 00:13:01.278:ERROR:smartdns::app:425: error resolving: proto error: no connections available
2024-06-13 00:13:01.278:ERROR:smartdns::app:425: error resolving: proto error: no connections available

doq的日志

2024-06-13 00:27:28.564:ERROR:smartdns::app:425: error resolving: proto error: error with quic connection: timed out
2024-06-13 00:27:46.183:ERROR:smartdns::app:425: error resolving: proto error: error with quic connection: timed out
2024-06-13 00:27:46.184:ERROR:smartdns::app:425: error resolving: proto error: error with quic connection: timed out

这个问题在使用C版时也会出现(报错内容不一样)。疑似会触发阿里doh的某些风控规则。 如果报错时,打印doh请求时返回的内容会有助于进一步排查问题。