We will now describe and discuss the configuration of an NIS client using
the GNU libc library support.

Your first step should be to tell the GNU libc NIS client which server to use
for NIS service. We mentioned earlier that the Linux ypbind
allows you to configure the NIS server to use. The default behavior is to
query the server on the local network. If the host you are configuring is
likely to move from one domain to another, such as a laptop, you
would leave the /etc/yp.conf file empty and it would
query on the local network for the local NIS server wherever it happens to be.

A more secure configuration for most hosts is to set the server name in the
/etc/yp.conf configuration file. A very simple file for a
host on the Winery's network may look like this:

The ypserver statement tells your host
to use the host supplied as the NIS server for the local domain. In this
example we've specified the NIS server as vbardolino. Of course, the IP address corresponding to
vbardolino must be set
in the hosts file; alternatively, you may use the
IP address itself with the server
argument.

In the form shown in the example, the
ypserver command tells
ypbind to use the named server regardless of what the
current NIS domain may be. If, however, you are moving your machine between
different NIS domains frequently, you may want to keep information for several
domains in the yp.conf file. You can have information on
the servers for various NIS domains in yp.conf by
specifying the information using the
domain statement. For instance, you
might change the previous sample file to look like this for a laptop:

This lets you bring up the laptop in either of the two domains by simply
setting the desired NIS domain at boot time using the
domainname command. The NIS client then uses whichever
server is relevant for the current domain.

There is a third option you may want to use. It covers the case when you
don't know the name or IP address of the server to use in a particular domain,
but still want the ability use a fixed server on certain domains. Imagine
we want to insist on using a specified server while operating within the
Winery domain, but want to probe for the server to use while
in the Brewery domain. We would modify our yp.conf
file again to look like this instead:

The broadcast keyword tells
ypbind to use whichever NIS server it finds for the domain.

After creating this basic configuration file and making sure it is
world-readable, you should run your first test to connect
to your server. Make sure to choose a map your server distributes, like
hosts.byname, and try to retrieve it by using the
ypcat utility:

The output you get should resemble that just shown. If you get an error
message instead that says: Can't bind to server which serves
domain, then either the NIS domain name you've set doesn't
have a matching server defined in yp.conf, or the server
is unreachable for some reason. In the latter case, make sure that a
ping to the host yields a positive result, and that it is
indeed running an NIS server. You can verify the latter by using
rpcinfo, which should produce the following output:

# rpcinfo -userverhostypserv
program 100004 version 1 ready and waiting
program 100004 version 2 ready and waiting