Working With Oracle® Solaris 11.2 Directory and Naming Services: DNS and NIS

Exit Print View

Updated: July 2014
 
 

NIS Binding

NIS clients are connected to an NIS server through the binding process. This process is supported by the svc:/network/nis/client and svc:/network/nis/domain services. These services must be enabled for any NIS service to operate. The svc:/network/nis/client service can work in one of two modes: server-list or broadcast.

  • Server-list — In the server-list mode, the ypbind process queries the svc:/network/nis/domain service for the names of all NIS servers in the domain. The ypbind process binds only to servers in this file.

    NIS servers can be added by using the svccfg command. They are added to the config/ypservers property in the svc:/network/nis/domain service. Each property value represents a specific NIS server.

    Additionally, any server name that is specified in the svc:/network/nis/domain service must contain an entry in the /etc/inet/hosts file for NIS binding to function.

  • Broadcast — The ypbind process can also use an RPC broadcast to initiate a binding. Because broadcasts are only local subnet events that are not routed further, there must be at least one server (master or slave) on the same subnet as the client. The servers themselves might exist throughout different subnetworks because map propagation works across subnet boundaries. In a subnet environment, one common method is to make the subnet router an NIS server. This allows the domain server to serve clients on either subnet interface.

    Broadcast mode is generally the recommended mode of operation. Broadcast mode does not require additional host entries to be specified (or changes to be made to /etc/inet/hosts).

Normally, after a client is bound to a server, it stays bound to that server until something causes the binding to change. For example, if a server goes out of service, the clients it served will then bind to new servers.

To determine which NIS server is currently providing service to a specific client, use the following command.

% ypwhich machinename

where machinename is the name of the client. If no machine name is mentioned, the ypwhich command defaults to the local machine (that is, the machine on which the command is run).