Closed adoyle-h closed 10 months ago
After enable verbose logs. It shows the requests to doh.dns.sb always timeout.
> nslookup doh.dns.sb 223.5.5.5
Server: 223.5.5.5
Address: 223.5.5.5#53
Non-authoritative answer:
doh.dns.sb canonical name = asia.doh.sb.
asia.doh.sb canonical name = jp-nrt.doh.sb.
Name: jp-nrt.doh.sb
Address: 103.121.210.210
Name: jp-nrt.doh.sb
Address: 2403:fbc0:1000::babe
Container Logs:
2023/12/23 07:50:27.899050 1#687 [debug] dnsproxy: https://doh.dns.sb:443/dns-query: response received over tcp: "requesting https://do
h.dns.sb:443/dns-query: Get \"https://doh.dns.sb:443/dns-query?dns=AAABAAABAAAAAAABA3d3dwZub3Rpb24Cc28AAAEAAQAAKQgAAACAAAAA\": net/http
: request canceled while waiting for connection (Client.Timeout exceeded while awaiting headers)"
2023/12/23 07:50:27.899054 1#647 [debug] bootstrap: connection to 103.121.210.210:443 failed in 6.383582033s: dial tcp 103.121.210.210:
443: i/o timeout
2023/12/23 07:50:27.899203 1#687 [debug] re-creating the http client due to requesting https://doh.dns.sb:443/dns-query: Get "https://d
oh.dns.sb:443/dns-query?dns=AAABAAABAAAAAAABA3d3dwZub3Rpb24Cc28AAAEAAQAAKQgAAACAAAAA": net/http: request canceled while waiting for con
nection (Client.Timeout exceeded while awaiting headers)
2023/12/23 07:50:27.899388 1#647 [debug] bootstrap: dialing [2403:fbc0:1000::babe]:443 (2/2)
2023/12/23 07:50:27.899537 1#647 [debug] bootstrap: connection to [2403:fbc0:1000::babe]:443 failed in 27.841µs: dial tcp [2403:fbc0:10
00::babe]:443: i/o timeout
2023/12/23 07:50:27.899567 1#687 [debug] using HTTP/2 for this upstream: HTTP3 support is not enabled
2023/12/23 07:50:27.899713 1#687 [debug] dnsproxy: https://doh.dns.sb:443/dns-query: sending request over tcp: A www.notion.so.
2023/12/23 07:50:27.899940 1#699 [debug] bootstrap: dialing 103.121.210.210:443 (1/2)
2023/12/23 07:50:31.515756 1#8 [debug] dnsproxy: https://doh.dns.sb:443/dns-query: response received over tcp: "requesting https://doh.dns.sb:443/dns-query: Get \"https://doh.dns.sb:443/dns-query?dns=AAABAAABAAAAAAABATMBYQFiAWEBMQE5ATYBMwEyAWQBMQFhATQBYgExATcBMAE1ATMBMQ
E3ATABOAEwATABOQEzATABZQEwATQBMgNpcDYEYXJwYQAADAABAAApCAAAAIAAAAA\": net/http: request canceled while waiting for connection (Client.Ti
meout exceeded while awaiting headers)"
2023/12/23 07:50:31.515907 1#8 [debug] re-creating the http client due to requesting https://doh.dns.sb:443/dns-query: Get "https://doh
.dns.sb:443/dns-query?dns=AAABAAABAAAAAAABATMBYQFiAWEBMQE5ATYBMwEyAWQBMQFhATQBYgExATcBMAE1ATMBMQE3ATABOAEwATABOQEzATABZQEwATQBMgNpcDYEY
XJwYQAADAABAAApCAAAAIAAAAA": net/http: request canceled while waiting for connection (Client.Timeout exceeded while awaiting headers)
2023/12/23 07:50:31.515936 1#692 [debug] bootstrap: connection to 103.121.210.210:443 failed in 10.000411633s: dial tcp 103.121.210.210
:443: operation was canceled
2023/12/23 07:50:31.515999 1#692 [debug] bootstrap: dialing [2403:fbc0:1000::babe]:443 (2/2)
ping 103.121.210.210
is successful in container.
> docker exec -it adguard-home-adg-1 ping 103.121.210.210
PING 103.121.210.210 (103.121.210.210): 56 data bytes
64 bytes from 103.121.210.210: seq=0 ttl=48 time=50.335 ms
64 bytes from 103.121.210.210: seq=1 ttl=48 time=53.179 ms
64 bytes from 103.121.210.210: seq=2 ttl=48 time=47.453 ms
64 bytes from 103.121.210.210: seq=3 ttl=48 time=48.489 ms
64 bytes from 103.121.210.210: seq=4 ttl=48 time=41.199 ms
64 bytes from 103.121.210.210: seq=5 ttl=48 time=46.852 ms
^C
--- 103.121.210.210 ping statistics ---
6 packets transmitted, 6 packets received, 0% packet loss
round-trip min/avg/max = 41.199/47.917/53.179 ms
I found the reason. The DoH https://doh.dns.sb/dns-query is blocked by GFW in China. The upstream is inaccessible. So AdGuard Home use fallback_dns.
I think the logs of timeout requests to upstream should be WARN or ERROR level, not the DEBUG level.
@adoyle-h, hello again. We've changed the logging level in the latest edge release and will include it to the upcoming releases. We'll close the issue for now. Feel free to reopen it if the log message won't appear informative enough.
Prerequisites
[X] I have checked the Wiki and Discussions and found no answer
[X] I have searched other issues and found no duplicates
[X] I want to report a bug and not ask a question or ask for help
[X] I have set up AdGuard Home correctly and configured clients to use it. (Use the Discussions for help with installing and configuring clients.)
Platform (OS and CPU architecture)
Linux, AMD64 (aka x86_64)
Installation
Docker
Setup
On one machine
AdGuard Home version
v0.107.43 and v0.108.0-b.51
Action
docker compose up -d
Send DNS request
Expected result
The query log shows DNS server using
https://doh.dns.sb/dns-query
.Actual result
It seems the default upstream (https://doh.dns.sb/dns-query) is ignored in upstream_dns_file. All DNS queries use the fallback_dns (https://1.1.1.1:443/dns-query).
The query log shows that adguard home using the DNS server
https://1.1.1.1:443/dns-query
which is my fallback_dns.But when
nslookup www.ipip.net
, which domain defined in upstream_dns_file, the query log shows the DNS server usingtls://223.5.5.5:853
.Additional information and/or screenshots
There is no
https://doh.dns.sb/dns-query
in top upstreams.