The domain downloads.openwrt.org
has an IPv4 address but no IPv6 address. So you cannot reach it over IPv6 unless you use a translation mechanism. You could use NAT64 to be able to create a TCP connection to that IPv4-only server from an IPv6-only client.
But why would you be using an IPv6-only client? Going dual stack is a good idea, but for now IPv6-only is really only useful for testing for those who know the limitations that introduces in a world that has too many IPv4-only hosts.
If you manage to get a TCP connection opened to the server, you'll face another challenge. HTTP version 1.1 requires the client to send the name of the server it is contacting over the HTTP connection. And lots of sites, including downloads.openwrt.org
require this header to be sent.
Your HTTP client can only send that header, if it knows the domain name to send. So you'd be better off letting client know the original URL and somehow give it access to resolve that name to an IP address. If it has to be IPv6, that still means you'll need NAT64. However a mapping from domain name to NAT64 IP address can be put in /etc/hosts
, and should work just fine.
That may work fine for an individual domain name. But if you want an IPv6 only host to be able to reach multiple domains without having to put each and everyone of them in /etc/hosts
with a NAT64 address, you need dynamic translation of the addresses. That is what DNS64 is for.
Now if the client does have IPv4 access and is only missing DNS, the answer becomes much simpler. Just put the IPv4 address in /etc/hosts
like davidgo suggested. You'll of course need to update that file every time the IP address of the server changes, which hopefully won't be too often.