Namserver problems in Sun OS 4.0.3

Larry Parmelee parmelee at wayback.cs.cornell.edu
Fri Oct 6 22:43:04 AEST 1989


In article <1936 at brazos.Rice.edu> you write:
X-Sun-Spots-Digest: Volume 8, Issue 152, message 5 of 12

[Editted for brevity: -Lcp]

> We have several Suns running OS 4.0.3 which are nameserver clients to
> another system. When those Suns make a nameserver query they append the
> local domain name "cs.tulane.edu", even if the name is fully qualified,
> such as uunet.uu.net.  It all works out in the end, since when the
> query on "uunet.uu.net.cs.tulane.edu" fails, the Suns try
> "uunet.uu.net.tulane.edu", and finally "uunet.uu.net".  But this
> generates a lot of extra nameserver queries which are a nuisance.
> 
> I asked Sun technical support about this and was told, yes, this is a
> bug that will be reported.

The behaviour you describe is a feature, not a bug.  (Sun's response
doesn't surprize me, though).  It is this behaviour which allows you to
type "rex" and have the nameserver (I should say "resolver" here) figure
out that you mean "rex.cs.tulane.edu".  Similiarly, this behaviour allows
you to type "foo.ee" when you mean "foo.ee.tulane.edu".  (If "foo.ee"
still seems like too much to type, if Sun would do away with the YP hosts
and use the nameserver resolver entirely, your users could create lists of
host aliases for themselves, so that "foo" could mean whatever they wish).

True, you get extra queries this way, but the cost of those queries (if
you have setup your local nameservers reasonably) is minimal, compared to
the advantages of being able to use "nicknames".  You should have on your
local subnet at least one machine that runs the nameserver ("named"), and
"resolv.conf" on the other machines should point to this machine.  Of
course, it's a good idea to list several machines in your "resolv.conf" if
they're available.  You should setup your designated nameserver machine so
that it has authoratative information for all hosts on your local subnet.
You can have your nameserver pick up "secondary" authority for any domain
you want, and you want to at least pick up the domain "cs.tulane.edu" (and
associated "in-addr.arpa" domains), though it would be a good idea to pick
up all of the "tulane.edu" domains as well.

Consider what happens when you then lookup "uunet.uu.net".  The resolver
will first try "uunet.uu.net.cs.tulane.edu". This involves sending a
datagram to the local nameserver machine (quick and cheap operation - if
sending a datagram weren't cheap and quick, Sun would have collapsed a
long time ago).  If the nameserver is authoratative for your local
"cs.tulane.edu" domain, it'll be able to quickly respond "No Such".  The
resolver then asks for "uunet.uu.net.tulane.edu" and gets another quick
negative response.  Finally it tries "uunet.uu.net".  If you're lucky, the
local nameserver will have this info in it's cache and you'll get another
quick response.  At worst, this is the only query of the three that
*might* require network traffic to leave your local subnet, and so is the
only query that might take appreciable time (which is why you don't want
to try that first).

-Larry Parmelee
parmelee at cs.cornell.edu



More information about the Comp.sys.sun mailing list