Skip site navigation (1)Skip section navigation (2)
Date:      Thu, 8 Jul 2004 17:29:01 -0700
From:      Doug Hardie <bc979@lafn.org>
To:        FreeBSD Question List <freebsd-questions@freebsd.org>
Subject:   Re: NIS server selection
Message-ID:  <F9CEE425-D13E-11D8-A27F-000393681B06@lafn.org>
In-Reply-To: <20040708204417.GB58856@dan.emsphone.com>
References:  <200407081559.i68FxZfO043201@whoweb.com> <20040708164237.GH57155@dan.emsphone.com> <A4E63CF0-D11B-11D8-A27F-000393681B06@lafn.org> <20040708204417.GB58856@dan.emsphone.com>

next in thread | previous in thread | raw e-mail | index | archive | help

On Jul 8, 2004, at 13:44, Dan Nelson wrote:

> In the last episode (Jul 08), Doug Hardie said:
>> I have NIS running on a few servers.  I have had them configured with
>> the -S option with only their host name so they would use the local
>> resolver.  However, after a few problems with ypserv dying I tried
>> adding additional servers to the -S list.  Everything was as normal
>> till I killed ypserv on the local machine.  Then it switched to the
>> first host listed after the local name in the -S list.  Access to NIS
>> records worked fine.
>>
>> Then I tried to revert back to the local server.  Restarting ypserv
>> had no effect.  NIS requests were still sent to the other server.  I
>> killed ypbind and restarted it with the full list.  All requests were
>> still sent to the other server.  I killed ypbind again and restarted
>> it with just the local server in the -S list.  The request then were
>> split about half and half with the local server and other server.
>> How does ypbind know about the other server anymore?
>
> Running processes will talk to the server they originally made a
> connection to, until that connection fails.  Only then will they
> contact their local ypbind and ask for another server.  ypbind is not
> contacted on every lookup.
>
>> I had to kill ypserv on the other server, wait for some requests to
>> timeout (ypbind is a persistent bugger) and then it switched.  Surely
>> there has to be an easier way to do this.  I am trying to have ypbind
>> use the local server if its working and otherwise one of the other
>> servers.  If the local ypbind gets restarted i would like it to revert
>> back to using it.
>
> The best you can do is make sure "ypwhich" points to the local machine
> so that subsequent processes will use it.  You can't force existing
> processes to switch.

Thanks.  I have now set 3 servers in the -S list.  ypwhich shows the 
one currently being used.  I need to be able to change that.  It 
appears that ypset is the way to do that.  However, when I start ypbind 
with the -ypsetme argument I still get "sorry, cannot ypset for domain 
NAME on host".  I am running ypset on that server.  That message comes 
from a request to rpc prog 100004 which is registered to rpserv so I 
don't see how an argument to ypbind would help this.  I don't find any 
similar arguments to ypserv.  How do you make ypset work without 
opening it up to the entire world?



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?F9CEE425-D13E-11D8-A27F-000393681B06>