I have a Virtual Private Server with an IPV4 address and a range of IPV6 addresses, with the option of adding one hundred more IPV6 addresses.



Debian 11


One public Internet route-able IPV4 address


A public Internet route-able IPV6 address and two more like ::1,::2,::3 to interface file and they are accessible from the Internet

DNS and domain:

I have a domain (XXXX.com) and a record on a DNS provider which is: A record for the IPV4 (X.X.X.X) address and three AAAA records for three IPV6 addresses on the server.

  1. When a user types XXXX.com on their browser or terminal, the DNS response includes all IPV4 and IPV6 addresses. How does the client decide which address it should use?

  2. What is the priority?

  3. Is there a standard or algorithm? Can I set all hundred of them, so it would be accessible if some IPV6 addresses are blocked?

  4. I've seen the packets on the server, It always uses the third IPv6 (for example ::3). How does it decide which one to use? If it is on its routing table (Ip -6 route doesn't show third IPV6 like ::3), is there any way to randomize it (use random interface for each connection)?

2 Answers 2

  • An IPv4-only client only looks for the A record(s).
  • Likewise, an IPv6-only client looks for the AAAA records exclusively.
  • A dual-stack client requests both and might prioritize one over the other or try both in parallel (thx @dave).

In addition to @Zac67's answer, a list of of addresses are returned to the client. In theory, they can prioritise & and go through the entire list and see what works. In practice, much software only tries the first in the list & if it fails, then it aborts without trying the others.

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .