*BSD News Article 92631


Return to BSD News archive

Path: euryale.cc.adfa.oz.au!newshost.carno.net.au!harbinger.cc.monash.edu.au!news.mel.connect.com.au!munnari.OZ.AU!news.ecn.uoknor.edu!feed1.news.erols.com!howland.erols.net!sol.ctr.columbia.edu!startide.ctr.columbia.edu!wpaul
From: wpaul@ctr.columbia.edu (Bill Paul)
Newsgroups: comp.unix.bsd.freebsd.misc
Subject: Re: ypbind hangs
Date: 2 Apr 1997 22:08:14 GMT
Organization: Columbia University Center for Telecommunications Research
Lines: 57
Distribution: world
Message-ID: <5hulce$koi@sol.ctr.columbia.edu>
References: <5htp7u$ajm@newstoo.ericsson.se>
NNTP-Posting-Host: startide.ctr.columbia.edu
X-Newsreader: TIN [version 1.2 PL2]
Xref: euryale.cc.adfa.oz.au comp.unix.bsd.freebsd.misc:38311

Daring to challenge the will of the almighty Leviam00se, Martti Kuparinen
(martti.kuparinen@era-t.ericsson.se) had the courage to say:

: Hi all!

: We have network with a SunOS 5.4 machine used as a file and NIS+ server.
: NIS+ is running in "NIS compatibility mode" and this is the only NIS
: server in our network.

: Clients and Router are all FreeBSD version 2.2 machines. Part of
: our network looks like this:

: +--------+       +--------+       +-------------+
: | Client | ----- | Router | ----- | NIS+ Server |
: +--------+   |   +--------+       +-------------+
:              .
:            ...

: So there are several FreeBSD clients behind a FreeBSD router. If for some
: reason the router is rebooted e.g. to test a new kernel then the client's
: ypbind process hangs making it damn hard to login even as root.

: It claims something like "ypbind: server [xx.xx.xx.xx] for domain foo.bar
: not responding". Ping to server however works ok. I know that this ypbind problem
: can easily be fixed with

: 	kill <pid of ypbind>; ypbind -ypset; ypset server

: But why ypbind hangs? Why doesn't it automatically "get online" after the
: connection to the NIS server is restored?

ypbind works by sending out broadcasts to local servers. When a server
hears the broadcasts, it's supposed to respond to ypbind, and then ypbind
will establish a binding. If several servers respond, ypbind uses whichever
one manages to get its packet to the client first.

The problem is that your router is not forwarding the broadcasts from
ypbind to the NIS+ server. If all you have is one server, then you can
work around this by editing /etc/sysconfig on the FreeBSD machines and
setting the 'ypsetflags' knob so that it forces a ypset to the server
after ypbind has been launched (and add -ypsetme to the ypbind flags).

: How to fix this?

Either configure the router to forward broadcasts between the two networks
or put an NIS+ replica server on the subnet with all the FreeBSD clients.

-Bill

--
=============================================================================
-Bill Paul            (212) 854-6020 | System Manager, Master of Unix-Fu
Work:         wpaul@ctr.columbia.edu | Center for Telecommunications Research
Home:  wpaul@skynet.ctr.columbia.edu | Columbia University, New York City
=============================================================================
  "Now, that's "Open" as used in the sentence "Open your wallet", right?"
=============================================================================