SUMMARY: unknown host, rpc errors

From: David Thorburn-Gundlach (david@bae.uga.edu)
Date: Wed Mar 04 1998 - 08:34:38 CST


Hi, folks --

Here, at long last, is the summary of this problem. What a doozy...

Thanks to Neal Pressman (the only respondent) for his try, but even
that didn't hit it; after going through three Sun engineers and a head
full of hair, I finally got it nailed down.

Here's the head of the original post:

...and then David Thorburn-Gundlach said...
% Hi, folks --
%
% Here's a really good one... I have been jumpstarting 2.5.1 clients
% from a machine, gsun71, for a while now. gsun71 has two hme
% interfaces that are attached to the two halves of our network; each
% has a logical address for each subnet on that half so that we don't
% have to have a boot server on every subnet. gsun71, therefore, has a
% number of names (of the form gsun71_xx, where xx is the subnet) and a
% few aliases (gsun71, the normal-style name, gsun71_routed for the
% "routed" side of the network, gsun71_legacy for the "legacy" side,
% jumpstart, and others), but that hasn't bothered the 2.5.1 clients.
% Everything has been dandy. I've had gsun71_routed and gsun71_legacy
% listed in the automount maps and they work well, too.
%
% I started jumping 2.6 clients, and I get RPC and unknown host errors
% on the clients when trying to talk to gsun71 -- and only to gsun71, as
% far as I can tell, though other machines have DNS aliases. Here is an
% example of attempts to connect to it from a new 2.6 client named
% gsun83r:
%

Interestingly enough, for those familiar with rfc952, the first
paragraph contains some very good but, nonetheless, not applicable(!)
information. According to the RFC, '_' is not a valid character in a
host name. The rest of the problem was related to how I told machines
to resolve names -- and how others did, too (what threw me off for a
while was that 2.5.1 jumped clients and 2.6 cd-built clients could
resolve these names fine; it was only 2.6 jumped clients that had a
problem).

On the 2.5.1 clients, I had to add 'dns' to the "hosts:" line of
/etc/nsswitch.conf to enable DNS looksups; although we're a YP shop,
we use DNS exclusively for our host name lookups. I whipped up a sed
script to replace the old "hosts:" line with

        hosts: files dns # auto-set by jumpstart

so that I didn't have to mess with inserting dns in the proper place
and removing the nis call and such. The 2.5.1 dns resolve libraries
do not complain about the '_' in the hostnames, and so everything
succeeds.

The 2.6 resolve libraries, however, *do* care and *do* complain; as a
result, I got lots of errors of various flavors when trying to rsh,
ping, telnet, mount, etcetc. The trick then became one of how to get
2.6 to resolve these names, since clients built from CD could do it
just fine.

Well, the yahoos who built the clients from CD did not run any of the
local customizations, including changing the "hosts:" entry of
/etc/nsswitch.conf -- which, in this case, is a good thing, because
the clients would then have failed to resolve properly. The 2.6
/etc/nsswitch.nis template file has xfn as the first service on the
"hosts:" line -- and xfn not only knows about dns but can resolve
hostnames with '_' in them!

Thus, the eventual solution to my problem was to only change the
"hosts:" entry in /etc/nsswitch.conf on 2.5.1 clients, and to leave it
alone on 2.6 clients.

How's that for a doozy? :-)

:-D

-- 
David Thorburn-Gundlach         * It's easier to fight for one's principles
(play) david@bae.uga.edu        * than to live up to them. -- fortune cookie
(work) david_thorburn-gundlach@groton.pfizer.com   Helping out at Pfizer
http://www.bae.uga.edu/other/david/



This archive was generated by hypermail 2.1.2 : Fri Sep 28 2001 - 23:12:33 CDT