Настройка вторичного сервера NIS



Настройка вторичного сервера NIS осуществляется ещё проще, чем настройка главного сервера. Войдите на вторичный сервер и отредактируйте файл /etc/rc.conf точно также, как вы делали это ранее. Единственным отличием является то, что при запуске программы ypinit мы теперь должны использовать опцию -s. Применение опции -s требует также указание имени главного сервера NIS, так что наша команда должна выглядеть так:

coltrane# ypinit -s ellington test-domain

 

Server Type: SLAVE Domain: test-domain Master: ellington

 

Creating an YP server will require that you answer a few questions.

Questions will all be asked at the beginning of the procedure.

 

Do you want this procedure to quit on non-fatal errors? [y/n: n] n

 

Ok, please remember to go back and redo manually whatever fails.

If you don't, something might not work.

There will be no further questions. The remainder of the procedure

should take a few minutes, to copy the databases from ellington.

Transferring netgroup...

ypxfr: Exiting: Map successfully transferred

Transferring netgroup.byuser...

ypxfr: Exiting: Map successfully transferred

Transferring netgroup.byhost...

ypxfr: Exiting: Map successfully transferred

Transferring master.passwd.byuid...

ypxfr: Exiting: Map successfully transferred

Transferring passwd.byuid...

ypxfr: Exiting: Map successfully transferred

Transferring passwd.byname...

ypxfr: Exiting: Map successfully transferred

Transferring group.bygid...

ypxfr: Exiting: Map successfully transferred

Transferring group.byname...

ypxfr: Exiting: Map successfully transferred

Transferring services.byname...

ypxfr: Exiting: Map successfully transferred

Transferring rpc.bynumber...

ypxfr: Exiting: Map successfully transferred

Transferring rpc.byname...

ypxfr: Exiting: Map successfully transferred

Transferring protocols.byname...

ypxfr: Exiting: Map successfully transferred

Transferring master.passwd.byname...

ypxfr: Exiting: Map successfully transferred

Transferring networks.byname...

ypxfr: Exiting: Map successfully transferred

Transferring networks.byaddr...

ypxfr: Exiting: Map successfully transferred

Transferring netid.byname...

ypxfr: Exiting: Map successfully transferred

Transferring hosts.byaddr...

ypxfr: Exiting: Map successfully transferred

Transferring protocols.bynumber...

ypxfr: Exiting: Map successfully transferred

Transferring ypservers...

ypxfr: Exiting: Map successfully transferred

Transferring hosts.byname...

ypxfr: Exiting: Map successfully transferred

 

coltrane has been setup as an YP slave server without any errors.

Don't forget to update map ypservers on ellington.

Теперь у вас должен быть каталог с именем /var/yp/test-domain. Копии карт главного сервера NIS должны быть в этом каталоге. Вы должны удостовериться, что этот каталог обновляется. Следующие строки в /etc/crontab вашего вторичного сервера должны это делать:

20 *  *  *  *  root /usr/libexec/ypxfr passwd.byname

21 *  *  *  *  root /usr/libexec/ypxfr passwd.byuid

Эти две строки заставляют вторичный сервер синхронизировать свои карты с картами главного сервера. Хотя эти строчки не обязательны, так как главный сервер делает попытки передать все изменения в своих картах NIS на свои вторичные серверы, но из-за того, что информация для входа в систему настолько жизненно важна для систем, зависящих от сервера, что выполнение регулярных обновлений является совсем не плохой идеей. Это ещё более важно в загруженных сетях, в которых обновления карт могут не всегда завершаться успешно.

А теперь точно также запустите команду /etc/netstart на вторичном сервере, по которой снова выполнится запуск сервера NIS.

Клиенты NIS

Клиент NIS выполняет так называемую привязку к конкретному серверу NIS при помощи даемона ypbind. ypbind определяет домен, используемый в системе по умолчанию (тот, который устанавливается по команде domainname), и начинает широковещательную рассылку запросов RPC в локальной сети. В этих запросах указано имя домена, к серверу которого ypbind пытается осуществить привязку. Если сервер, который был настроен для обслуживания запрашиваемого домена, получит широковещательный запрос, он ответит ypbind, который, в свою очередь запомнит адрес сервера. Если имеется несколько серверов (например, главный и несколько вторичных), то ypbind будет использовать адрес первого ответившего. С этого момента клиентская система будет направлять все свои запросы NIS на этот сервер. Время от времени ypbind будет ''пинать'' сервер для проверки его работоспособности. Если на один из тестовых пакетов не удастся получить ответа за разумное время, то ypbind пометит этот домен как домен, с которым связка разорвана, и снова начнет процесс посылки широковещательных запросов в надежде найти другой сервер.

Настройка клиента NIS

Настройка машины с FreeBSD в качестве клиента NIS достаточно проста.

1. Отредактируйте файл /etc/rc.conf, добавив туда следующие строки для того, чтобы задать имя домена NIS и запустить ypbind во время запуска сетевых служб:

nisdomainname="test-domain"

nis_client_enable="YES"

2. Для импортирования всех возможных учётных записей от сервера NIS, удалите все записи пользователей из вашего файла /etc/master.passwd и воспользуйтесь командой vipw для добавления следующей строки в конец файла:

+:::::::::

Замечание: Эта строчка даст всем пользователям с корректной учетной записью в картах учетных баз пользователей доступ к этой системе. Есть множество способов настроить ваш клиент NIS, изменив эту строку. Посмотрите ниже текст, касающийся сетевых групп, чтобы получить более подробную информацию. Дополнительная информация для изучения находится в книге издательства O'Reilly под названием Managing NFS and NIS.

Замечание: Вы должны оставить хотя бы одну локальную запись (то есть не импортировать ее через NIS) в вашем /etc/master.passwd и эта запись должна быть также членом группы wheel. Если с NIS что-то случится, эта запись может использоваться для удаленного входа в систему, перехода в режим администратора и исправления неисправностей.

3. Для импортирования всех возможных записей о группах с сервера NIS, добавьте в ваш файл /etc/group такую строчку:

+:*::

После завершения выполнения этих шагов у вас должно получиться запустить команду ypcat passwd и увидеть карту учетных записей сервера NIS.

Безопасность NIS

В общем-то любой пользователь, зная имя вашего домена, может выполнить запрос RPC к ypserv(8) и получить содержимое ваших карт NIS. Для предотвращения такого неавторизованного обмена ypserv(8) поддерживает так называемую систему ''securenets'', которая может использоваться для ограничения доступа к некоторой группе хостов. При запуске ypserv(8) будет пытаться загрузить информацию, касающуюся securenets, из файла /var/yp/securenets.

Замечание: Имя каталога зависит от параметра, указанного вместе с опцией -p. Этот файл содержит записи, состоящие из указания сети и сетевой маски, разделенных пробелом. Строчки, начинающиеся со знака ''#'', считаются комментариями. Примерный файл securenets может иметь примерно такой вид:

# allow connections from local host -- mandatory

127.0.0.1 255.255.255.255

# allow connections from any host

# on the 192.168.128.0 network

192.168.128.0 255.255.255.0

# allow connections from any host

# between 10.0.0.0 to 10.0.15.255

# this includes the machines in the testlab

10.0.0.0 255.255.240.0

Если ypserv(8) получает запрос от адреса, который соответствует одному из этих правил, он будет отрабатывать запрос обычным образом. Если же адрес не подпадает ни под одно правило, запрос будет проигнорирован и в журнал будет записано предупреждающее сообщение. Если файл /var/yp/securenets не существует, ypserv будет обслуживать соединения от любого хоста.

Программа ypserv также поддерживает пакет программ TCP Wrapper от Wietse Venema. Это позволяет администратору для ограничения доступа вместо /var/yp/securenets использовать конфигурационные файлы TCP Wrapper.

Замечание: Хотя оба этих метода управления доступом обеспечивают некоторую безопасность, они, как основанные на проверке привилегированного порта, оба подвержены атакам типа ''IP spoofing''. Весь сетевой трафик, связанный с работой NIS, должен блокироваться вашим брандмауэром.

Серверы, использующие файл /var/yp/securenets, могут быть не в состоянии обслуживать старых клиентов NIS с древней реализацией протокола TCP/IP. Некоторые из этих реализаций при рассылке широковещательных запросов устанавливают все биты машинной части адреса в ноль и/или не в состоянии определить маску подсети при вычислении адреса широковещательной рассылки. Хотя некоторые из этих проблем могут быть решены изменением конфигурации клиента, другие могут привести к отказу от использования /var/yp/securenets.

Использование /var/yp/securenets на сервере с такой архаичной реализацией TCP/IP является весьма плохой идеей, и приведёт к потере работоспособности NIS в большой части вашей сети.

Использование пакета TCP Wrapper увеличит время отклика вашего сервера NIS. Дополнительной задержки может оказаться достаточно для возникновения тайм-аутов в клиентских программах, особенно в загруженных сетях или с медленными серверами NIS. Если одна или более ваших клиентских систем страдают от таких проблем, вы должны преобразовать такие клиентские системы во вторичные серверы NIS и сделать принудительную их привязку к самим себе.


Дата добавления: 2018-10-26; просмотров: 181; Мы поможем в написании вашей работы!

Поделиться с друзьями:






Мы поможем в написании ваших работ!