NIS 客户机通过绑定进程从 NIS 服务器获取信息,该进程可以采用下两种模式之一运行:服务器列表或广播。
服务器列表。使用服务器列表模式时,,ypbind 进程将在 /var/yp/binding/domain/ypservers 列表中查询域中所有 NIS 服务器的名称。ypbind 进程只绑定到此文件中的服务器。该文件通过运行 ypinit -c 来创建。
广播。ypbind 进程也可以使用 RPC 广播来启动绑定。由于广播仅是不再路由的本地子网事件,因此至少需要有一台服务器(主服务器或从属服务器)与客户机在同一子网中。由于映射传播可以跨越子网边界,因此服务器自身可存在于不同子网中。在子网环境中,一种通用方法是使子网路由器成为 NIS 服务器。这样,域服务器可为任何一个子网接口上的客户机提供服务。
服务器列表模式的绑定进程的工作过程如下:
ypbind 在 /var/yp/binding/domainname/ypservers 文件中查找域中 NIS 服务器的列表。
ypbind 启动到该列表中第一台服务器的绑定。如果该服务器不响应,则 ypbind 尝试第二台,直至找到服务器或找遍整个列表。
ypbind 通知客户机进程要联系的服务器。然后,该客户机会将请求直接发送给该服务器。
ypserv 将请求的信息发送回客户机。
广播模式的绑定进程的工作过程如下:
ypbind 发出 RPC 广播,以搜索 NIS 服务器。
为了支持此类客户机,需要让每个请求 NIS 服务的子网具有 NIS 服务器。
ypbind 启动到最先对广播做出响应的服务器的绑定。
ypbind 通知客户机进程要联系的服务器。然后,该客户机会将请求直接发送给该服务器。
ypserv 将请求的信息发送回客户机。
通常,客户机一旦绑定到服务器之后,它会保持与该服务器的绑定状态,直到某些原因引起更改为止。例如,如果服务器中断服务,它所服务的客户机将绑定到新服务器。
要确定当前正在为特定客户机提供服务的 NIS 服务器,请使用以下命令。
%ypwhich machinename
其中,machinename 是客户机的名称。如果未提及计算机名,则 ypwhich 缺省为本地计算机(即运行命令时所在的计算机)。