[comp.unix.aix] RS6000 named

leclair@chamois.cs.uiowa.edu (Jeanne Leclair) (09/07/90)

I recently started bringing up a 530 RS6000 and want to run named.  I set up
named.boot, loopback.rev and root.cache like on our other machines running
named and fired it up.  It works great for machines local to our departmental
domain (cs.uiowa.edu).  You can specify just the hostname or the fully-qual-
ified name and it works.  It also works fine for off-campus hosts for which
you would expect to have to specify the fuly-qualified name.  For on-campus
hosts in other departments, however, you would expect to be able to use
hostname.dept-domain and that doesn't work.  Only fully-qualified names work
for everything outside cs.uiowa.edu.  What did I miss i the setup or is this
how it's supposed to work?

Please respond by mail.  I will summarize if there's interest.

Thanks,
Jeanne Leclair
(leclair@chamois.cs.uiowa.edu)

RAH@IBM.COM ("Russell A. Heise") (12/15/90)

 leclair@chamois.cs.uiowa.edu (Jeanne Leclair) writes:

 > I recently started bringing up a 530 RS6000 and want to run named.  I set up
 > named.boot, loopback.rev and root.cache like on our other machines running
 > named and fired it up.  It works great for machines local to our departmental
 > domain (cs.uiowa.edu).  You can specify just the hostname or the fully-qual-
 > ified name and it works.  It also works fine for off-campus hosts for which
 > you would expect to have to specify the fuly-qualified name.  For on-campus
 > hosts in other departments, however, you would expect to be able to use
 > hostname.dept-domain and that doesn't work.  Only fully-qualified names work
 > for everything outside cs.uiowa.edu.  What did I miss i the setup or is this
 > how it's supposed to work?

 You missed nothing; yes, this is how it's supposed to work.  I assume you
 have set up an appropriate /etc/resolv.conf.  If so, AIX follows a two-step
 process to resolve a name to an address.  (1) First, AIX looks at the name
 passed *to* it.  If the name has a period (.) anywhere in it, AIX leaves it
 untouched.  Otherwise, AIX appends the domain string from /etc/resolv.conf.
 (2) Next, AIX sends the result of step 1 to the nameserver(s) listed in
 /etc/resolv.conf.

 I made a brief scan through the relevant RFC's and I did not find anything
 which indicated that resolution should handle anything but the local domain.
 If you find something to the contrary, please report the discrepency to your
 local IBM representative.

Russ Heise, AIX Technical Support, IBM

jackv@turnkey.tcc.com (Jack F. Vogel) (12/19/90)

In article <121490.152613.heise1@ibm.com> RAH@IBM.COM ("Russell A. Heise") writes:
 
> leclair@chamois.cs.uiowa.edu (Jeanne Leclair) writes:
 
> > I recently started bringing up a 530 RS6000 and want to run named.  I set up
> > named.boot, loopback.rev and root.cache like on our other machines running
> > named and fired it up. It works great for machines local to our departmental
> > domain (cs.uiowa.edu)... For on-campus hosts in other departments, however,
> > you would expect to be able to use hostname.dept-domain...that doesn't work 
 
> You missed nothing; yes, this is how it's supposed to work.  I assume you
> have set up an appropriate /etc/resolv.conf.  If so, AIX follows a two-step
> process to resolve a name to an address.  (1) First, AIX looks at the name
> passed *to* it.  If the name has a period (.) anywhere in it, AIX leaves it
> untouched.  Otherwise, AIX appends the domain string from /etc/resolv.conf.
> (2) Next, AIX sends the result of step 1 to the nameserver(s) listed in
> /etc/resolv.conf.
 
Sorry Russ, you are almost correct but not quite. Point 1 is not accurate,
at least not for the more recent revisions of BIND from Berkeley. I am not
sure what level code the 6000 has but as for AIX 1.2, it now has version 4.8.1
and this supports partially qualified names. What this means is that it is
not that a name has a period "anywhere" in it, but only a terminating period
that will leave it untouched. Otherwise it will append the domain and attempt
a lookup of that name.

For instance, locus.com has 3 subdomains currently, la, sd, and bos, and our
primary nameserver is in both locus.com and la.locus.com. What this means
is that if I query the fully unqualified 'host' it first attempts to lookup
'host.la.locus.com' and then 'host.locus.com'. Similarly, if i query
'host.sd' it will lookup 'host.sd.la.locus.com' which will fail, but then
'host.sd.locus.com' which will succeed.

Of course, there is an important caveat to be made here. This capability is
in the resolver (the application interface to the nameserver), but some
application or higher level interface may not support it, it depends on how
it interfaces to the resolver. For instance, until a recent fix I made
AIX 1.2's gethostbyname() was not making its queries correctly so that
this type partial lookup would fail. On current code, however, it works
correctly.

So lookups of the form 'host.subdomain' SHOULD work, assuming that your
local nameserver either is a primary for the whole uiowa domain, or has
access to such a server. I don't have access to a 6000 to check this out
but if it doesn't work then the version 3 folk need to follow 1.2 and
upgrade their version of BIND.

Disclaimer: I do not speak for LCC or IBM.

-- 
Jack F. Vogel			jackv@locus.com
AIX370 Technical Support	       - or -
Locus Computing Corp.		jackv@turnkey.TCC.COM

jgreco@archimedes.math.uwm.edu (Joe Greco) (12/21/90)

In article <121490.152613.heise1@ibm.com> RAH@IBM.COM ("Russell A. Heise") writes:
 
> leclair@chamois.cs.uiowa.edu (Jeanne Leclair) writes:
 
> > I recently started bringing up a 530 RS6000 and want to run named.  I set up
> > named.boot, loopback.rev and root.cache like on our other machines running
> > named and fired it up. It works great for machines local to our departmental
> > domain (cs.uiowa.edu)... For on-campus hosts in other departments, however,
> > you would expect to be able to use hostname.dept-domain...that doesn't work 
 
> You missed nothing; yes, this is how it's supposed to work.  I assume you
> have set up an appropriate /etc/resolv.conf.  If so, AIX follows a two-step
> process to resolve a name to an address.  (1) First, AIX looks at the name
> passed *to* it.  If the name has a period (.) anywhere in it, AIX leaves it
> untouched.  Otherwise, AIX appends the domain string from /etc/resolv.conf.
> (2) Next, AIX sends the result of step 1 to the nameserver(s) listed in
> /etc/resolv.conf.

I don't have RFC's handy to back me up at this moment (but I believe that
they do).  However, this isn't how Berkeley's BIND works, and I believe if
you look around that you'll discover that this is prehistoric behaviour.

If you look in a BSD system's /usr/include/resolv.h, you'll run across a lot
of goodies...  anyways, look at the following behaviour on the part of BIND
4.8.1 and think about it.

It's a real pain to be on "thales.math.uwm.edu" and have to type
"csd4.csd.uwm.edu" instead of just "csd4.csd" to  get where you want to go.

.. Joe

encl: 200 lines of nslookup output.

-------------------------------------------------------------------------------
Joe Greco - University of Wisconsin, Milwaukee - Department of Mathematics
jgreco@archimedes.math.uwm.edu		USnail: Joe Greco
Voice: 414/321-6184				9905 W. Montana Ave.
Data:  414/321-9287 (Happy Hacker's BBS) 	West Allis, WI  53227-3329
ICBM:  43 05 20 N 87 53 10 W
#include <witty_and_humorous_saying.h>
Disclaimer: I don't speak for the Math Department, the University, or myself.


ericskey has logged on tty01 from local.
jgreco has logged on tty02 from local.
(archimedes.jgreco.p4-4) 1:36pm ~ 1 > nslookup
Default Server:  archimedes.math.uwm.edu
Address:  0.0.0.0

> set d
> archimedes.math
Server:  archimedes.math.uwm.edu
Address:  0.0.0.0

------------
Got answer:
    HEADER:
	opcode = QUERY, id = 1, rcode = NXDOMAIN
	header flags:  response, auth. answer, want recursion, recursion avail.
	questions = 1,  answers = 0,  auth. records = 1,  additional = 0

    QUESTIONS:
	archimedes.math.math.uwm.edu, type = A, class = IN
    AUTHORITY RECORDS:
    ->  math.uwm.edu	origin = math.uwm.edu
	mail addr = jgreco.archimedes.math.uwm.edu
	serial=901119, refresh=1 hour, retry=1 hour
	expire=41 days 16 hours, min=1 hour

------------
Failed: NXDOMAIN, num. answers = 0, ns = 1, additional = 0
------------
Got answer:
    HEADER:
	opcode = QUERY, id = 2, rcode = NOERROR
	header flags:  response, auth. answer, want recursion, recursion avail.
	questions = 1,  answers = 1,  auth. records = 0,  additional = 0

    QUESTIONS:
	archimedes.math.uwm.edu, type = A, class = IN
    ANSWERS:
    ->  archimedes.math.uwm.edu	inet address = 129.89.14.64

------------
Name:    archimedes.math.uwm.edu
Address:  129.89.14.64

> csd4.csd
Server:  archimedes.math.uwm.edu
Address:  0.0.0.0

------------
Got answer:
    HEADER:
	opcode = QUERY, id = 3, rcode = NXDOMAIN
	header flags:  response, auth. answer, want recursion, recursion avail.
	questions = 1,  answers = 0,  auth. records = 1,  additional = 0

    QUESTIONS:
	csd4.csd.math.uwm.edu, type = A, class = IN
    AUTHORITY RECORDS:
    ->  math.uwm.edu	origin = math.uwm.edu
	mail addr = jgreco.archimedes.math.uwm.edu
	serial=901119, refresh=1 hour, retry=1 hour
	expire=41 days 16 hours, min=1 hour

------------
Failed: NXDOMAIN, num. answers = 0, ns = 1, additional = 0
------------
Got answer:
    HEADER:
	opcode = QUERY, id = 4, rcode = NOERROR
	header flags:  response, want recursion, recursion avail.
	questions = 1,  answers = 1,  auth. records = 4,  additional = 6

    QUESTIONS:
	csd4.csd.uwm.edu, type = A, class = IN
    ANSWERS:
    ->  csd4.csd.uwm.edu	inet address = 129.89.7.4
    AUTHORITY RECORDS:
    ->  uwm.edu	nameserver = UWM.EDU
    ->  uwm.edu	nameserver = GARDEN-BRAU.CSD.UWM.EDU
    ->  uwm.edu	nameserver = GARCON.CSO.UIUC.EDU
    ->  uwm.edu	nameserver = UXC.CSO.UIUC.EDU
    ADDITIONAL RECORDS:
    ->  UWM.EDU	inet address = 129.89.7.2
    ->  UWM.EDU	inet address = 129.89.2.1
    ->  GARDEN-BRAU.CSD.UWM.EDU	inet address = 129.89.7.14
    ->  GARDEN-BRAU.CSD.UWM.EDU	inet address = 129.89.2.14
    ->  GARCON.CSO.UIUC.EDU	inet address = 128.174.5.58
    ->  UXC.CSO.UIUC.EDU	inet address = 128.174.5.50

------------
Non-authoritative answer:
Name:    csd4.csd.uwm.edu
Address:  129.89.7.4

> nowhere.null
Server:  archimedes.math.uwm.edu
Address:  0.0.0.0

------------
Got answer:
    HEADER:
	opcode = QUERY, id = 5, rcode = NXDOMAIN
	header flags:  response, auth. answer, want recursion, recursion avail.
	questions = 1,  answers = 0,  auth. records = 1,  additional = 0

    QUESTIONS:
	nowhere.null.math.uwm.edu, type = A, class = IN
    AUTHORITY RECORDS:
    ->  math.uwm.edu	origin = math.uwm.edu
	mail addr = jgreco.archimedes.math.uwm.edu
	serial=901119, refresh=1 hour, retry=1 hour
	expire=41 days 16 hours, min=1 hour

------------
Failed: NXDOMAIN, num. answers = 0, ns = 1, additional = 0
Timeout 1
------------
Got answer:
    HEADER:
	opcode = QUERY, id = 6, rcode = NXDOMAIN
	header flags:  response, auth. answer, want recursion, recursion avail.
	questions = 1,  answers = 0,  auth. records = 1,  additional = 0

    QUESTIONS:
	nowhere.null.uwm.edu, type = A, class = IN
    AUTHORITY RECORDS:
    ->  uwm.edu	origin = uwm.edu
	mail addr = james.uwm.edu
	serial=901217, refresh=1 day, retry=6 hours
	expire=7 days, min=14 hours

------------
Failed: NXDOMAIN, num. answers = 0, ns = 1, additional = 0
------------
Got answer:
    HEADER:
	opcode = QUERY, id = 7, rcode = NXDOMAIN
	header flags:  response, auth. answer, want recursion, recursion avail.
	questions = 1,  answers = 0,  auth. records = 1,  additional = 0

    QUESTIONS:
	nowhere.null, type = A, class = IN
    AUTHORITY RECORDS:
    ->  (root)	origin = NS.NIC.DDN.MIL
	mail addr = HOSTMASTER.NIC.DDN.MIL
	serial=901217, refresh=30 mins, retry=5 mins
	expire=7 days, min=1 day

------------
Failed: NXDOMAIN, num. answers = 0, ns = 1, additional = 0
*** archimedes.math.uwm.edu can't find nowhere.null: Non-existent domain
> ^D
(archimedes.jgreco.p4-4) 1:37pm ~ 2 > exit
exit