Add support for DNS64/NAT64 networks
The problem is that using a custom DNS server in the IPv6-only T-Mobile network is impossible as it relies on their own default DNS in the following way: when a domain is hosted on an IPv4 address, their DNS returns a private (?) IPv6-mapped address instead.
- For instance,
example.orgaddress is93.184.216.34. - T-Mobile's DNS server will resolve it to something like this instead:
::FFFF:93.184.216.34(and this address is reachable in their IPv6-only network).
If we figure what exact prefix they use for IPv6 mapping (most likely it is ::FFFF: but I need a confirmation), we will be able to convert IPv4 addresses returned by a custom DNS server to their IPv6-mapped counterpart.
Please note, that this is just an assumption.
We need help from users who are on T-Mobile to figure if that is so. If you are a T-Mobile user, please collect AdGuard logs and send them to devteam at adguard.com.
Thank you for the logs!
So here's a prefix used by T-Mobile:
2607:7700:0:28::
Also, we can actually do it in a smart way and detect the DNS64 prefix on-the-fly: https://github.com/AdguardTeam/AdguardForAndroid/issues/1884#issuecomment-396570435
@ameshkov
This might be extremely stupid question but when I choose ipv6 on AdGuard dns my network doesn’t work, looks like my cellular data only works with ipv4.
This might be extremely stupid question but when I choose ipv6 on AdGuard dns my network doesn’t work, looks like my cellular data only works with ipv4.
Why not, it just means that you have an IPv4-only network.
@IvanIin take a look at how it is implemented in Android: https://github.com/AdguardTeam/AdguardForAndroid/issues/1884
I am on T-Mobile and unable to figure out how to use custom DNS. System Default (Regular) DNS works fine, but every other custom DNS (Cloudfare, Quad9 etc.) returns empty AAAA response for ipv4.arpa and other IPv4 only websites.
Is there a setting on Adguard Pro that I should look at?