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