[comp.sys.sun] Name server/Diskless Sun boot problems

ehrlich@shire.cs.psu.edu (Daniel Ehrlich) (04/04/89)

We recently installed a Sun 4/280 data ceneter server with six diskless
Sun 3/[56]0 clients.  All machines are running SunOS 4.0.1 plus the fixes
available from UUNET, especially the resolver based shared libc.  The Sun4
has a two ethernet net interfaces.  The clients are on the ethernet
connected to ie0 [128.118.7.1].  The second interface ie1 [128.118.6.32]
is connected to the department's main ethernet.  The problem we are seeing
is as follows:

	1) A diskless client will be booted and gets its IP address
	   and boot parameters from the Sun4.
	2) Tftp succesfully loads the boot code.
	3) Boot stops with a message like:
		Requesting ethernet address for 128.118.6.32
	4) At this point the client will hang for ever.

The problem seems to be with either the resolver routines and/or the
version of the name server (bind 4.8 no patches) that we are running.

The file /etc/resolv.conf contains:

	domain		theory.cs.psu.edu
	nameserver	128.118.6.32
	nameserver	128.118.6.30
	nameserver	128.118.1.33

The name server entry for the Sun4 is:

omega		in	a	128.118.6.32
		in	a	128.118.7.1
		in	hinfo	sun4/280	sunos4
		in	wks	128.118.6.32	tcp	smtp ftp telnet
		in	wks	128.118.7.1	tcp	smtp ftp telnet
		in	mx	5	omega
omega.cs.psu.edu.	in	cname	omega
mailhost	in	cname	omega
loghost		in	cname	omega

Here is the name server entry for a typical client:

alonzo		in	a	128.118.7.2
		in	hinfo	sun3/60	sunos4
		in	wks	128.118.7.2	tcp	ftp telnet
		in	mx	5	omega
alonzo.cs.psu.edu.	in	cname	alonzo

If the first name server entry in resolv.conf is changed from 128.118.6.32
to 128.118.7.1 all is well.  We tried changing the first entry to
127.0.0.1 which also works.  The question I have is, "If a name server
request comes in on 128.118.7.1 and the requested host has two address, in
this case 128.118.7.1 and 128.118.6.32, why did the name server not return
the address that is on the same subnet that the request came in on?"  The
work around we settled on was to use the localhost interface address as
the first nameserver entry.

As an aside.  Does anyone know how to determine the ethernet address of
the second ethernet interface on a Sun?  I couldn't locate any useful
information in the manuals and as the address doesn't get printed out at
boot time I would prefer not to have to take the Sun4 down to pull the
board and look.

Thanks in advance.
Dan Ehrlich <ehrlich@shire.cs.psu.edu>
The Pennsylvania State University
Department of Computer Science
University Park, PA   16802