-
Notifications
You must be signed in to change notification settings - Fork 261
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
DNS64 not always generate synthetic IPv6 addresses for IPv4-only destinations #438
Comments
For example, when I doing same request via Google DNS64 it returns IPv6 with well-defined prefix, so I expect to receive it from dnsproxy as well PowerShell terminal└─Δ Resolve-DnsName ru-mum.m.alibaba.com -Type AAAA -Server 2001:4860:4860::64
Name Type TTL Section NameHost
---- ---- --- ------- --------
ru-mum.m.alibaba.com CNAME 120 Answer ru-mum.m.alibaba.com.gds.alibabadns.com
ru-mum.m.alibaba.com.gds.aliba CNAME 120 Answer default.ovs.us.wagbridge.ae.alibabacorp.com
badns.com
default.ovs.us.wagbridge.ae.al CNAME 120 Answer default.ovs.us.wagbridge.ae.alibabacorp.com.gds.alibabadns.com
ibabacorp.com
Name : default.ovs.us.wagbridge.ae.alibabacorp.com.gds.alibabadns.com
QueryType : AAAA
TTL : 120
Section : Answer
IP6Address : 64:ff9b::2ff6:8942 |
Found related issue: AdguardTeam/AdGuardHome#7514 |
I guess something goes wrong here: Lines 130 to 138 in 1177916
This code is called here: Lines 95 to 98 in 1177916
So in case if DNS response contains any CNAME it returns nil, after that it handled here: Lines 292 to 295 in 1177916
which also returns nil and DNS64 request doesn't happen at all, this leads to returning just CNAME records while for IPv4 there's also A type records |
Looks like this block is incorrect, it should not set "hasAnswer" variable, because answer can be only when AAAA received.
At the moment when |
Hello, thanks for your great software!
I'm using AdGuardHome latest release (v0.107.57 as of now) and as far as I know it uses dnsproxy under the hood, so creating issue here
What I have:
Description of issue:
so my Android phone now using IPv6-only, but unfortunately some applications does not work. Digging a bit I found that synthetic IPv6 does not generates, I guess it could be related to having some CNAME records in response, but not sure.
Attaching powershell commands I used to test + wireshark pcap
Expected result:
ru-mum.m.alibaba.com
likefd02:21:64::2ff6:88b9
Actual result:
Current workaround:
Currently I have to disable DHCP option 108 to get IPv4 address as well
Additional info:
pcap file: AdGuardHome-DNS64.zip
(GitHub does not allow attach pcap directly, so compressed to zip)
PowerShell terminal
The text was updated successfully, but these errors were encountered: