Ask Ubuntu is a question and answer site for Ubuntu users and developers. Join them; it only takes a minute:

Sign up
Here's how it works:
  1. Anybody can ask a question
  2. Anybody can answer
  3. The best answers are voted up and rise to the top

In notice my newly installed Ubuntu 10.10 always does an AAAA DNS lookup before A record lookups. Is there any way I can configure the system to do A lookups first ?

(While various browsers and other applications might contain their own resolvers, i'm talking about the ones in glibc)

share|improve this question
To clarify, you do want to have both IPv4 and IPv6 present? – belacqua Mar 27 '11 at 21:40
Preferrably yes. But as I only have link local IPv6, it\s quite a waste asking for e.g. the AAAA record of every time, and then ask for the A record afterwards. – nos Mar 28 '11 at 9:10

It's the standard to prioritize IPv6 over IPv4 to allow next-generation IP take over :)

You can change this by editing the precedence blocks in /etc/gai.conf (gai stands for getaddrinfo, the standard system call for resolving host names). Just comment out the line as described in the file:

# For sites which prefer IPv4 connections change the last line to

#precedence ::ffff:0:0/96 100

A detailed explanation on gai.conf can be found in the man page.

share|improve this answer
thanks, u saved my day! one of my server keeps getting ipv6 results from the dns server but my server just couldn't work properly w/ ipv6 – Boon Nov 21 '14 at 8:33

My problem was the same, i had IPV6 queries made before IPV4 and they where wasting resources, so I did changed my /etc/gai.conf file as freddyb posted, but my scenario is a little bit different, my server is Natted, so IPv4 will not have precedence over IPv6 with only that line. The solution is also commenting out others lines at gai.conf so it will look like this

#For sites which prefer IPv4 connections change the last line to
precedence ::ffff:0:0/96 100
#    For sites which use site-local IPv4 addresses behind NAT there is
#    the problem that even if IPv4 addresses are preferred they do not
#    have the same scope and are therefore not sorted first.  To change
#    this use only these rules:
scopev4 ::ffff:  2
scopev4 ::ffff:    2
scopev4 ::ffff:       14

So your server will try first ipv4 even if you are Natted!

share|improve this answer
The /etc/gai.conf file in Ubuntu 15.04 "vivid" says those three scopev4 lines you suggest above are already the default. I made only the one-line precedence ::ffff:0:0/96 100 change and that worked even behind NAT. – Ian D. Allen Jun 4 '15 at 6:57

If you don't want IPv6 enabled at all, you can disable IPv6 to accomplish this.

if not, you can try addding

options single-request

To your /etc/resolv.conf file. (see for gory details)

share|improve this answer
The manual page for resolv.conf indicates that the option you suggest does exactly the oposite "This option [...] makes glibc perform the IPv6 and IPv4 requests sequentially (at the cost of some slowdown of the resolving process)." -- – ndemou Sep 28 '15 at 19:10

Your Answer


By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.