I have a resolv.conf on ubuntu 12.04 that looks like this (IP addresses have been changed to nonsense):
search internal.mydomain.com
nameserver 205.169.169.193
That nameserver is not authoritative for mydomain.com
, but does contain valid records for internal.mydomain.com
. I can issue both host
and nslookup
queries with this resolv.conf without issue:
$ host myserver
myserver.internal.mydomain.com has address 10.1.1.3
$ nslookup myserver
Server: 205.169.169.193
Address: 205.169.169.193
Name: myserver.internal.mydomain.com
Address: 10.1.1.3
Everything works great, but that nameserver lives in AWS's Route53 can't recurse, so it can't resolve, say, google.com
.
So I added another nameserver. Specifically, the stock AWS nameserver used by my ubuntu image on instantiation. I know it works just fine:
search internal.mydomain.com
nameserver 205.169.169.193
nameserver 172.152.152.112
Now, when I run nslookup
, it queries the first nameserver, as I'd expect, but fails to find the record, moving onto the 172.* server:
$ nslookup myserver
;; Got recursion not available from 205.169.169.193, trying next server
;; Got recursion not available from 205.169.169.193, trying next server
Server: 172.152.152.112
Address: 172.152.152.112#53
** server can't find myserver: NXDOMAIN
I'm puzzled. Why does resolv.conf behave correctly when I have a single nameserver record, but incorrectly when I have more than one?
Notably this works as I'd expect it on Amazon's linux, v3.4.73-64.112.amzn1.x86_64 (mockbuild@gobi-build-31003)
. Is this a bug in ubuntu 12.04?
host myserver
do in the second case?