Установка клиента NIS с GNU libc

Теперь обсудим конфигурацию клиента NIS, использующего поддержку библиотеки GNU libc.

Вашим первым шагом должно быть сообщение клиенту GNU libc NIS того, какой сервер использован для NIS, устанавливая это в файле конфигурации /etc/yp.conf. Очень простой типовой файл для сети может выглядеть следующим образом:

# yp.conf - YP configuration for GNU libc library.
#
ypserver vbardolino

Инструкция ypserver предписывает использовать хост, заданный как NIS-сервер для локального домена. В этом примере мы определили NIS-сервер как vbardolino. Конечно, соответствие IP-адреса машине vbardolino должно быть задано в файле hosts. Впрочем, можно использовать IP-адрес явно в качестве аргумента параметра server.

В форме, показанной в примере, команда ypserver сообщает ypbind, что нужно использовать заданный сервер, независимо от текущего домена NIS. Если Вы часто перемещаете свою машину между NIS-доменами, хорошо бы хранить информацию для нескольких доменов в файле yp.conf. Вы можете иметь информацию для различных NIS-доменов в одном файле yp.conf, конкретизируя с использованием команды domain. Например, можно переделать предыдущий типовой файл ноутбука:

# yp.conf - YP configuration for GNU libc library.
#
domain winery server vbardolino
domain brewery server vstout

Это позволяет Вам использовать ноутбук в любом из двух доменов, просто задав нужный домен при загрузке командой domainname. NIS-клиент обратится к соответствующему серверу.

Имеется третья весьма полезная опция. Она учитывает случай, когда Вы не знаете имя или IP-адрес сервера, чтобы использовать его в настройках, но можете использовать фиксированный сервер в некоторых доменах. Измените свой файл настройки yp.conf так:

# yp.conf - YP configuration for GNU libc library.
#
domain winery server vbardolino
domain brewery broadcast

Команда broadcast сообщает ypbind, что надо использовать любой сервер, который удалось найти для NIS-домена.

После создания этого базисного файла конфигурации и определения его как доступного на чтение всем, Вы должны выполнить ваш первый тест соединения с Вашим сервером. Выберите обрабатываемую сервером карту, например, hosts.byname и попробуйте ее получить командой ypcat:

# ypcat hosts.byname
172.16.2.2      vbeaujolais.vbrew.com    vbeaujolais
172.16.2.3      vbardolino.vbrew.com     vbardolino
172.16.1.1      vlager.vbrew.com         vlager
172.16.2.1      vlager.vbrew.com         vlager
172.16.1.2      vstout.vbrew.com         vstout
172.16.1.3      vale.vbrew.com           vale
172.16.2.4      vchianti.vbrew.com       vchianti

Вывод, который Вы получаете, должен походить на показанный. Если Вы получаете сообщение об ошибке Can't bind to server which serves domain, то домен NIS не соответствует серверу, заданному в yp.conf, или сервер недоступен. В последнем случае удостоверьтесь, что ping для этого хоста выдает положительный результат, и что сервер NIS запущен. Вы можете проверить последний факт использованием rpcinfo, который должен произвести следующий вывод:

# rpcinfo -u serverhost ypserv
program 100004 version 1 ready and waiting
program 100004 version 2 ready and waiting