AdguardTeam / AdGuardHome

Network-wide ads & trackers blocking DNS server
https://adguard.com/adguard-home.html
GNU General Public License v3.0
24.42k stars 1.77k forks source link

DNS queries failing on IPv6 #7039

Open doreks opened 3 months ago

doreks commented 3 months ago

Prerequisites

Platform (OS and CPU architecture)

Custom (please mention in the description)

Installation

Docker

Setup

On a router, DHCP is handled by the router

AdGuard Home version

v0.107.50

Action

docker exec adguardhome nslookup naver.com [2606:4700:4700::1001]:53

Expected result

Server: [2606:4700:4700::1001]:53 Address: [2606:4700:4700::1001]:53

Non-authoritative answer:

Non-authoritative answer: Name: naver.com Address: 223.130.192.247 Name: naver.com Address: 223.130.192.248 Name: naver.com Address: 223.130.200.236 Name: naver.com Address: 223.130.200.219

Actual result

time out on a test Upstream GUI

Additional information and/or screenshots

DHCP it's aready handeling by Openwrt router.

of course, adg container can query dns from 1.1.1.1

adguardhome is the adguard home docker container

user@server:~$ docker exec adguardhome nslookup naver.com 1.1.1.1
Server: 1.1.1.1 Address: 1.1.1.1:53

Non-authoritative answer: Name: naver.com Address: 223.130.200.236 Name: naver.com Address: 223.130.200.219 Name: naver.com Address: 223.130.192.248 Name: naver.com Address: 223.130.192.247

Non-authoritative answer:

docker exec adguardhome nslookup naver.com [2606:4700:4700::1001]:53 Server: [2606:4700:4700::1001]:53 Address: [2606:4700:4700::1001]:53

Non-authoritative answer:

Non-authoritative answer: Name: naver.com Address: 223.130.192.247 Name: naver.com Address: 223.130.192.248 Name: naver.com Address: 223.130.200.236 Name: naver.com Address: 223.130.200.219

docker exec adguardhome nslookup naver.com [2606:4700:4700::1111]:53
Server: [2606:4700:4700::1111]:53 Address: [2606:4700:4700::1111]:53

Non-authoritative answer: Name: naver.com Address: 223.130.200.219 Name: naver.com Address: 223.130.192.247 Name: naver.com Address: 223.130.200.236 Name: naver.com Address: 223.130.192.248

Error from gui testing upstreams: *this is an example but errors with any upstream ipv6

error_gui

LOGs Adguard:

2024/05/30 17:20:50.176837 [info] dnsproxy: entering tcp listener loop on 192.168.1.196:53 2024/05/30 17:20:50.176900 [info] dnsproxy: entering tcp listener loop on [2a0c:5a82:e607:2110::196]:53 2024/05/30 17:20:50.176930 [info] dnsproxy: entering tcp listener loop on [2a0c:5a82:e205:c10:b4f3:284c:1b0f:f488]:53 2024/05/30 17:20:50.176972 [info] dnsproxy: entering tcp listener loop on [2a0c:5a82:e904:d010:5907:c36d:36ed:b9e7]:53 2024/05/30 17:20:50.177002 [info] dnsproxy: entering tcp listener loop on [fd00:6d3f:1049:10:8e5b:6d04:e839:753e]:53 2024/05/30 17:20:50.177037 [info] dnsproxy: entering tcp listener loop on [2a0c:5a82:e607:2110:7da1:51de:27bc:80bf]:53 2024/05/30 17:20:50.177066 [info] dnsproxy: entering tcp listener loop on [2a0c:5a82:e607:2110:692:5b2d:6437:2052]:53 2024/05/30 17:20:50.177095 [info] dnsproxy: entering tcp listener loop on [2a0c:5a82:e302:8f10:aeaf:d798:e7d1:f132]:53 2024/05/30 17:20:50.177129 [info] dnsproxy: entering tcp listener loop on [2a0c:5a82:e302:8f10:8b41:4455:2014:2ff2]:53 2024/05/30 17:20:50.177159 [info] dnsproxy: entering tcp listener loop on [2a0c:5a82:ea02:a10:93a5:ecb:8d13:d690]:53 2024/05/30 17:20:50.177195 [info] dnsproxy: entering tcp listener loop on [2a0c:5a82:ea02:a10:f409:a1b7:4136:b83e]:53 2024/05/30 17:20:50.177231 [info] dnsproxy: entering tcp listener loop on [2a0c:5a82:e205:c10:5c45:65a2:1232:c2c]:53 2024/05/30 17:20:50.177266 [info] dnsproxy: entering tcp listener loop on [2a0c:5a82:e205:c10:1c1f:9d71:ad67:1c51]:53 2024/05/30 17:20:50.177296 [info] dnsproxy: entering tcp listener loop on [fd00:6d3f:1049:10:b744:e7b:9c3e:5d2d]:53 2024/05/30 17:20:50.177330 [info] dnsproxy: entering tcp listener loop on [2a0c:5a82:e904:d010:653c:ba5d:7132:7cac]:53 2024/05/30 17:20:50.177365 [info] dnsproxy: entering tcp listener loop on [fd00:6d3f:1049:10:39d6:c93b:23a4:f303]:53 2024/05/30 17:20:50.177394 [info] dnsproxy: entering tcp listener loop on [2a0c:5a82:e904:d010:7e14:3a6a:546a:1c6b]:53 2024/05/30 17:20:50.177428 [info] dnsproxy: entering tcp listener loop on [fd00:6d3f:1049:10:72a8:51ec:fc3b:77d9]:53 2024/05/30 17:20:50.177459 [info] dnsproxy: entering tcp listener loop on [2a0c:5a82:e904:d010:4819:b511:eede:1b99]:53 2024/05/30 17:20:50.177487 [info] dnsproxy: entering tcp listener loop on [fd00:6d3f:1049:10::196]:53 2024/05/30 17:20:50.177519 [info] dnsproxy: entering tcp listener loop on [fd00:6d3f:1049:10:6c04:d37:670e:d9ed]:53 2024/05/30 17:20:50.177554 [info] dnsproxy: entering tcp listener loop on [fd00:6d3f:1049:10:b908:8dd0:8030:417]:53 2024/05/30 17:20:50.177584 [info] dnsproxy: entering tcp listener loop on [2a0c:5a82:e904:d010:ae6c:8449:687:ac]:53 2024/05/30 17:20:50.177616 [info] dnsproxy: entering tcp listener loop on [2a0c:5a82:e904:d010:513b:8696:41cd:111b]:53 2024/05/30 17:20:50.177651 [info] dnsproxy: entering tcp listener loop on [fe80::29a5:60e4:4186:1dab%enp2s0]:53 2024/05/30 17:20:50.177683 [info] dnsproxy: entering tcp listener loop on 172.30.32.1:53 2024/05/30 17:20:50.177720 [info] dnsproxy: entering tcp listener loop on 127.0.0.1:53 2024/05/30 17:20:50.177750 [info] dnsproxy: entering tcp listener loop on [::1]:53

2024/05/30 17:20:50.177750 [info] dnsproxy: entering tcp listener loop on [::1]:53 2024/05/30 17:20:50.368952 [error] dnsproxy: [2606:4700:4700::1111]:53: response received over udp: "exchanging with [2606:4700:4700::1111]:53 over udp: read udp [2a0c:5a82:e302:8f10:2832:dfe1:f643:28a6]:35271->[2606:4700:4700::1111]:53: i/o timeout" 2024/05/30 17:20:50.368952 [error] dnsproxy: [2620:fe::fe]:53: response received over udp: "exchanging with [2620:fe::fe]:53 over udp: read udp [2a0c:5a82:e302:8f10:2832:dfe1:f643:28a6]:52124->[2620:fe::fe]:53: i/o timeout" 2024/05/30 17:20:50.369021 [error] dnsproxy: [2606:4700:4700::1001]:53: response received over udp: "exchanging with [2606:4700:4700::1001]:53 over udp: read udp [2a0c:5a82:e302:8f10:2832:dfe1:f643:28a6]:53687->[2606:4700:4700::1001]:53: i/o timeout" 2024/05/30 17:20:50.368967 [error] dnsproxy: [2620:fe::9]:53: response received over udp: "exchanging with [2620:fe::9]:53 over udp: read udp [2a0c:5a82:e302:8f10:2832:dfe1:f643:28a6]:34644->[2620:fe::9]:53: i/o timeout" 2024/05/30 17:20:50.655343 [error] dnsproxy: tcp://[2620:fe::9]:53: response received over tcp: "dialing [2620:fe::9]:53 over tcp: dial tcp [2620:fe::9]:53: i/o timeout" 2024/05/30 17:20:50.655449 [error] dnsproxy: tcp://[2606:4700:4700::1001]:53: response received over tcp: "dialing [2606:4700:4700::1001]:53 over tcp: dial tcp [2606:4700:4700::1001]:53: i/o timeout" 2024/05/30 17:20:50.655806 [error] dnsproxy: tcp://[2606:4700:4700::1111]:53: response received over tcp: "dialing [2606:4700:4700::1111]:53 over tcp: dial tcp [2606:4700:4700::1111]:53: i/o timeout" 2024/05/30 17:20:53.180251 [error] dnsproxy: tcp://[2606:4700:4700::1001]:53: response received over tcp: "dialing [2606:4700:4700::1001]:53 over tcp: dial tcp [2606:4700:4700::1001]:53: i/o timeout" 2024/05/30 17:20:53.180574 [error] dnsproxy: tcp://[2606:4700:4700::1111]:53: response received over tcp: "dialing [2606:4700:4700::1111]:53 over tcp: dial tcp [2606:4700:4700::1111]:53: i/o timeout" 2024/05/30 17:20:53.180579 [error] dnsproxy: tcp://[2620:fe::9]:53: response received over tcp: "dialing [2620:fe::9]:53 over tcp: dial tcp [2620:fe::9]:53: i/o timeout" 2024/05/30 17:20:53.722733 [error] dnsproxy: tcp://[2620:fe::9]:53: response received over tcp: "dialing [2620:fe::9]:53 over tcp: dial tcp [2620:fe::9]:53: i/o timeout" 2024/05/30 17:20:53.722733 [error] dnsproxy: tcp://[2606:4700:4700::1111]:53: response received over tcp: "dialing [2606:4700:4700::1111]:53 over tcp: dial tcp [2606:4700:4700::1111]:53: i/o timeout" 2024/05/30 17:20:53.723056 [error] dnsproxy: tcp://[2606:4700:4700::1001]:53: response received over tcp: "dialing [2606:4700:4700::1001]:53 over tcp: dial tcp [2606:4700:4700::1001]:53: i/o timeout" 2024/05/30 17:20:55.716364 [error] dnsproxy: [2606:4700:4700::1001]:53: response received over udp: "exchanging with [2606:4700:4700::1001]:53 over udp: read udp [2a0c:5a82:e302:8f10:2832:dfe1:f643:28a6]:37220->[2606:4700:4700::1001]:53: i/o timeout" 2024/05/30 17:20:55.716364 [error] dnsproxy: [2620:fe::9]:53: response received over udp: "exchanging with [2620:fe::9]:53 over udp: read udp [2a0c:5a82:e302:8f10:2832:dfe1:f643:28a6]:47033->[2620:fe::9]:53: i/o timeout" 2024/05/30 17:20:55.716446 [error] dnsproxy: [2606:4700:4700::1111]:53: response received over udp: "exchanging with [2606:4700:4700::1111]:53 over udp: read udp [2a0c:5a82:e302:8f10:2832:dfe1:f643:28a6]:54007->[2606:4700:4700::1111]:53: i/o timeout" 2024/05/30 17:20:55.716478 [error] dnsproxy: [2620:fe::fe]:53: response received over udp: "exchanging with [2620:fe::fe]:53 over udp: read udp [2a0c:5a82:e302:8f10:2832:dfe1:f643:28a6]:34668->[2620:fe::fe]:53: i/o timeout" 2024/05/30 17:20:58.460765 [error] dnsproxy: [2606:4700:4700::1111]:53: response received over udp: "exchanging with [2606:4700:4700::1111]:53 over udp: read udp [2a0c:5a82:e302:8f10:2832:dfe1:f643:28a6]:45268->[2606:4700:4700::1111]:53: i/o timeout" 2024/05/30 17:20:58.460867 [error] dnsproxy: [2620:fe::fe]:53: response received over udp: "exchanging with [2620:fe::fe]:53 over udp: read udp [2a0c:5a82:e302:8f10:2832:dfe1:f643:28a6]:36519->[2620:fe::fe]:53: i/o timeout" 2024/05/30 17:20:58.460765 [error] dnsproxy: [2606:4700:4700::1001]:53: response received over udp: "exchanging with [2606:4700:4700::1001]:53 over udp: read udp [2a0c:5a82:e302:8f10:2832:dfe1:f643:28a6]:34642->[2606:4700:4700::1001]:53: i/o timeout" 2024/05/30 17:20:58.460819 [error] dnsproxy: [2620:fe::9]:53: response received over udp: "exchanging with [2620:fe::9]:53 over udp: read udp [2a0c:5a82:e302:8f10:2832:dfe1:f643:28a6]:59001->[2620:fe::9]:53: i/o timeout" 2024/05/30 17:20:59.318150 [error] dnsproxy: [2620:fe::fe]:53: response received over udp: "exchanging with [2620:fe::fe]:53 over udp: read udp [2a0c:5a82:e302:8f10:2832:dfe1:f643:28a6]:35063->[2620:fe::fe]:53: i/o timeout" 2024/05/30 17:20:59.318150 [error] dnsproxy: [2606:4700:4700::1111]:53: response received over udp: "exchanging with [2606:4700:4700::1111]:53 over udp: read udp [2a0c:5a82:e302:8f10:2832:dfe1:f643:28a6]:50408->[2606:4700:4700::1111]:53: i/o timeout" 2024/05/30 17:20:59.318167 [error] dnsproxy: [2606:4700:4700::1001]:53: response received over udp: "exchanging with [2606:4700:4700::1001]:53 over udp: read udp [2a0c:5a82:e302:8f10:2832:dfe1:f643:28a6]:37454->[2606:4700:4700::1001]:53: i/o timeout" 2024/05/30 17:20:59.318212 [error] dnsproxy: [2620:fe::9]:53: response received over udp: "exchanging with [2620:fe::9]:53 over udp: read udp [2a0c:5a82:e302:8f10:2832:dfe1:f643:28a6]:34120->[2620:fe::9]:53: i/o timeout" 2024/05/30 17:21:00.656641 [error] dnsproxy: [2620:fe::9]:53: response received over udp: "exchanging with [2620:fe::9]:53 over udp: read udp [2a0c:5a82:e302:8f10:2832:dfe1:f643:28a6]:48420->[2620:fe::9]:53: i/o timeout" 2024/05/30 17:21:00.656641 [error] dnsproxy: [2606:4700:4700::1001]:53: response received over udp: "exchanging with [2606:4700:4700::1001]:53 over udp: read udp [2a0c:5a82:e302:8f10:2832:dfe1:f643:28a6]:59795->[2606:4700:4700::1001]:53: i/o timeout" 2024/05/30 17:21:00.656653 [error] dnsproxy: [2620:fe::fe]:53: response received over udp: "exchanging with [2620:fe::fe]:53 over udp: read udp [2a0c:5a82:e302:8f10:2832:dfe1:f643:28a6]:60039->[2620:fe::fe]:53: i/o timeout" 2024/05/30 17:21:00.656726 [error] dnsproxy: [2606:4700:4700::1111]:53: response received over udp: "exchanging with [2606:4700:4700::1111]:53 over udp: read udp [2a0c:5a82:e302:8f10:2832:dfe1:f643:28a6]:52059->[2606:4700:4700::1111]:53: i/o timeout" 2024/05/30 17:21:03.180731 [error] dnsproxy: [2620:fe::fe]:53: response received over udp: "exchanging with [2620:fe::fe]:53 over udp: read udp [2a0c:5a82:e302:8f10:2832:dfe1:f643:28a6]:53781->[2620:fe::fe]:53: i/o timeout" 2024/05/30 17:21:03.180746 [error] dnsproxy: [2606:4700:4700::1111]:53: response received over udp: "exchanging with [2606:4700:4700::1111]:53 over udp: read udp [2a0c:5a82:e302:8f10:2832:dfe1:f643:28a6]:42739->[2606:4700:4700::1111]:53: i/o timeout" 2024/05/30 17:21:03.180834 [error] dnsproxy: [2620:fe::9]:53: response received over udp: "exchanging with [2620:fe::9]:53 over udp: read udp [2a0c:5a82:e302:8f10:2832:dfe1:f643:28a6]:52234->[2620:fe::9]:53: i/o timeout" 2024/05/30 17:21:03.180878 [error] dnsproxy: [2606:4700:4700::1001]:53: response received over udp: "exchanging with [2606:4700:4700::1001]:53 over udp: read udp [2a0c:5a82:e302:8f10:2832:dfe1:f643:28a6]:50237->[2606:4700:4700::1001]:53: i/o timeout" 2024/05/30 17:21:03.722955 [error] dnsproxy: [2620:fe::fe]:53: response received over udp: "exchanging with [2620:fe::fe]:53 over udp: read udp [2a0c:5a82:e302:8f10:2832:dfe1:f643:28a6]:53152->[2620:fe::fe]:53: i/o timeout" 2024/05/30 17:21:03.722985 [error] dnsproxy: [2620:fe::9]:53: response received over udp: "exchanging with [2620:fe::9]:53 over udp: read udp [2a0c:5a82:e302:8f10:2832:dfe1:f643:28a6]:34637->[2620:fe::9]:53: i/o timeout" 2024/05/30 17:21:03.722993 [error] dnsproxy: [2606:4700:4700::1111]:53: response received over udp: "exchanging with [2606:4700:4700::1111]:53 over udp: read udp [2a0c:5a82:e302:8f10:2832:dfe1:f643:28a6]:32938->[2606:4700:4700::1111]:53: i/o timeout" 2024/05/30 17:21:03.723018 [error] dnsproxy: [2606:4700:4700::1001]:53: response received over udp: "exchanging with [2606:4700:4700::1001]:53 over udp: read udp [2a0c:5a82:e302:8f10:2832:dfe1:f643:28a6]:41930->[2606:4700:4700::1001]:53: i/o timeout"

doreks commented 3 months ago

I have noticed that the only way to solve the problem is to restart the host where the docker is, and in this way, IPV6 works correctly again. Not even restarting the docker or restarting the interface does not work...

ainar-g commented 3 months ago

Custom (please mention in the description)

adguardhome is the adguard home docker container

It's unclear whether your installation is custom (and if so, in what way) or not. Please elaborate.

Also, have you enabled IPv6 on your Docker daemon, as described in the Docker documentation? What command are you using to start the container?

doreks commented 3 months ago

I have been able to verify that if I restart the network service of the host, it works again, so it seems that it is something in the OS that does not refresh ips to the docker or something like that... I don't know the truth.

command executed to restart service network on host: sudo systemctl restart systemd-networkd.service

doreks commented 3 months ago

Custom (please mention in the description)

adguardhome is the adguard home docker container

It's unclear whether your installation is custom (and if so, in what way) or not. Please elaborate.

Also, have you enabled IPv6 on your Docker daemon, as described in the Docker documentation? What command are you using to start the container?

@ainar-g here you have some info:

some info about setup.

Docker is allowed to run with ipv6:

Captura

The way to deploy this docker is the standard one , using wiki of docker adguard: https://hub.docker.com/r/adguard/adguardhome

docker run --name adguardhome\
    --restart unless-stopped\
    -v /my/own/workdir:/opt/adguardhome/work\
    -v /my/own/confdir:/opt/adguardhome/conf\
    --network host\
    -d adguard/adguardhome

as i said, i fix the issue restarting at the host level network service:

Captura

doreks commented 3 months ago

any update here?