如果域名设置正确,而且 ypbind 正在运行,但有消息指出客户机无法与服务器通信,则原因可能有多种:
客户机是否具有包含要绑定到的服务器列表的 /var/yp/binding/domainname/ypservers 文件?如果没有该文件,请运行 ypinit -c 并按优先级顺序指定客户机应绑定到的服务器。
如果客户机有 /var/yp/binding/domainname/ypservers 文件,则该文件中列出的服务器数是否足以应对一台或两台服务器不可用时的情况?如果没有足够多的服务器,请通过运行 yppinit -c 向列表中添加更多服务器。
如果在客户机的 ypservers 文件中列出的服务器都不可用,该客户机将使用广播模式搜索正在运行的服务器。如果在客户机的子网中存在运行正常的服务器,客户机也会找到它(尽管在搜索过程中可能会降低性能)。如果客户机的子网中没有运行正常的服务器,则可通过以下几种方式来解决问题:
出于安全和管理控制的原因,最好在客户机的 ypservers 文件中指定该客户机要绑定到的服务器,而不是让客户机通过广播来搜索服务器。广播将为不同客户机列出不同服务器,从而会降低网络和客户机的运行速度,并妨碍您平衡服务器负载。
在客户机的 ypservers 文件中列出的服务器在 /etc/hosts 文件中是否具有相应项?如果没有,请将这些服务器添加到 NIS 映射主机输入文件,并通过运行 yppinit -c 或 ypinit -s 来重建映射,如使用 NIS 映射中所述。
/etc/nsswitch.conf 文件是否设置为除了 NIS 外还查询计算机的本地 hosts 文件?有关该转换器的更多信息,请参见第 2 章,名称服务转换器(概述)。
/etc/nsswitch.conf 文件是否设置为先在 files 中查询 services 和 rpc?有关该转换器的更多信息,请参见第 2 章,名称服务转换器(概述)。