Оглавление Оглавление 1

Вид материалаДокументы
Подобный материал:
1   ...   13   14   15   16   17   18   19   20   ...   29

Настройка DHCP

              1. Ключевые файлы, термины и утилиты

dhcpd.conf
dhcpd.leases
      1. Настройка DHCP


Аббревиатура «DHCP» расшифровывается как «Dynamic Host Configuration Protocol» – протокол динамической конфигурации компьютера локальной сети (далее «хоста»). Это протокол, предназначенный для автоматической конфигурации компьютеров локальной сети без риска появления совпадающих IP-адресов.


С этим протоколом существенно упрощается настройка сети и ускоряется процедура добавления большого числа хостов в локальную сеть.


Основной конфигурационный файл: /etc/dhcpd.conf. В нем определены все подсети DHCP, и настройки по умолчанию.


Пример файла dhcpd.conf :

[root@test root]# cat /etc/dhcpd.conf

ddns-update-style none;

subnet 192.168.0.0 netmask 255.255.255.0 {

# default gateway

option routers 192.168.0.254;

option subnet-mask 255.255.255.0;


option domain-name "domain.org";

option domain-name-servers 192.168.0.42;


range 192.168.0.128 192.168.0.253;

default-lease-time 21600;

max-lease-time 43200;


# static address for ns1 (ns1 is found with his MAC address)

host ns1 {

hardware ethernet 12:34:56:78:AB:CD;

fixed-address 192.168.0.69;

}

}

[root@test root]#


Основные настройки:
  • опция router : задает маршрут по умолчанию для клиента
  • опция subnet-mask : задает значение для маски подсети, используемое по умолчанию на клиенте
  • опция domain-name : задает доменное имя, используемое по умолчанию на клиенте
  • опция domain-name-servers : задает DNS сервера, используемые по умолчанию клиентом
  • range : задает пул адресов, зарезервированных для DHCP. Клиент, обращающийся за IP-адресом, получит один из адресов из этого пула.
  • Default-lease-time : время, в течение которого клиент сможет пользоваться выделенным адресом, если только клиент не запросил определенное время истечения срока действия адреса.
  • Max-lease-time : максимально возможный период в секундах, в течение которого можно пользоваться выделенным IP-адресом



Запуск DHCP сервера:

[root@test root]# /etc/init.d/dhcpd start

Starting dhcpd: [ OK ]

[root@test root]#

Продолжительность жизни выделенных адресов


Время жизни текущих выделенных адресов можно посмотреть в файле:

[root@test root]# cat /var/lib/dhcp/dhcpd.leases

lease 192.168.0.253 {

starts 1 2004/08/16 13:54:06;

ends never;

binding state active;

next binding state free;

hardware ethernet 00:0e:a3:52:fd:01;

}

[root@test root]#
      1. Упражнения


Упражнение 1 :


  • Установите и настройте DHCP-сервер в вашей локальной сети
  • Протестируйте его работу на клиентских машинах
      1. Решения


Решение 1 :
  • Следуйте инструкциям, описанным в этой главе
    1. Настройка NIS

                  1. Ключевые файлы, термины и утилиты:

nisupdate, ypbind, ypcat, ypmatch, ypserv, ypswitch, yppasswd, yppoll, yppush, ypwhich, rpcinfo
nis.conf, nsswitch.conf, ypserv.conf
Срдержимое каталога /etc/nis/: netgroup, nicknames, securenets
Makefile

      1. Настройка NIS

Введение


Служба NIS (Network Information Service - сетевая информационная служба) была разработана компанией Sun. Ее цель – централизованное хранение информации о пользовательских учетных записях в локальной сети. Первоначально NIS назывался “Yellow Pages” - «желтые страницы», поэтому почти все имена команд начинаются с префикса “yp”.


NIS использует несколько «карт» и может управлять пользователями (/etc/passwd), группами (/etc/group), паролями (/etc/shadows), хостами (/etc/hosts), сервисами (/etc/services) и т.п.


Во время установки NIS создается домен NISDOMAIN. Клиенты NIS будут относиться к этому домену и использовать карты этого домена.

Карты NIS хранятся в файле /var/yp/domain_name в формате DBM.


Пример:

Файл

Карта NIS

Индексный Ключ

/etc/passwd

passwd.byname

Имя пользователя




passwd.byuid

Идентификатор пользователя (uid)

/etc/group

group.byname

Имя группы




group.byuid

Идентификатор группы (gid)

/etc/hosts

hosts.byname

Имя хоста




hosts.byaddr

IP-адрес хоста




Настройка


На сервере должен быть установлен пакет ypserv. Его основной конфигурационный файл: /etc/ypserv.conf.

[root@test root]# cat /etc/ypserv.conf

#

# ypserv.conf In this file you can set certain options for the NIS server,

# and you can deny or restrict access to certain maps based

# on the originating host.

#

# See ypserv.conf(5) for a description of the syntax.

#


# Some options for ypserv. This things are all not needed, if

# you have a Linux net.


# Should we do DNS lookups for hosts not found in the hosts table ?

# This option is ignored in the moment.

dns: no


# How many map file handles should be cached ?

files: 30


# Should we register ypserv with SLP ?

slp: no


...

[пропущено]

...


* : * : shadow.byname : port

* : * : passwd.adjunct.byname : port


# If you comment out the next rule, ypserv and rpc.ypxfrd will

# look for YP_SECURE and YP_AUTHDES in the maps. This will make

# the security check a little bit slower, but you only have to

# change the keys on the master server, not the configuration files

# on each NIS server.

# If you have maps with YP_SECURE or YP_AUTHDES, you should create

# a rule for them above, that's much faster.

# * : * : * : none

[root@test root]#


На стороне клиента необходимо установить три пакета: portmap, ypbind и yp-tools.


Основной конфигурационный файл NIS на клиентской машине - это /etc/yp.conf. Данный файл должен содержать имя домена NIS и имя сервера NIS.


[root@test root]# cat /etc/yp.conf

# /etc/yp.conf - ypbind configuration file

# Valid entries are

#

#domain NISDOMAIN server HOSTNAME

domain domain.org server test.domain.org

# Use server HOSTNAME for the domain NISDOMAIN.

#

#domain NISDOMAIN broadcast

# Use broadcast on the local net for domain NISDOMAIN

#

#ypserver HOSTNAME

ypserver test.domain.org

# Use server HOSTNAME for the local domain. The

# IP-address of server must be listed in /etc/hosts.

#

[root@test root]#



Импорт пользовательских учетных записей


Затем, традиционные конфигурационные файлы UNIX могут быть импортированы в сервер NIS:

[root@test root]# /usr/lib/yp/ypinit -m


At this point, we have to construct a list of the hosts which will run NIS

servers. test is in the list of NIS server hosts. Please continue to add

the names for the other hosts, one per line. When you are done with the

list, type a .

next host to add: test

next host to add:

The current list of NIS servers looks like this:


test


Is this correct? [y/n: y] y

We need a few minutes to build the databases...

Building /var/yp/domain.org/ypservers...

Running /var/yp/Makefile...

gmake[1]: Entering directory `/var/yp/domain.org'

Updating passwd.byname...

Updating passwd.byuid...

Updating group.byname...

Updating group.bygid...

Updating hosts.byname...

Updating hosts.byaddr...

Updating rpc.byname...

Updating rpc.bynumber...

Updating services.byname...

Updating services.byservicename...

Updating netid.byname...

Updating protocols.bynumber...

Updating protocols.byname...

Updating shadow.byname...

gmake[1]: Leaving directory `/var/yp/domain.org'


test has been set up as a NIS master server.


Now you can run ypinit -s test on all slave server.

[root@test root]#



Тестирование


Запуск демонов:


На сервере:

[root@test root]# /etc/init.d/ypserv start

Starting YP server services: [ OK ]

[root@test root]#


На клиентах:

[root@test root]# /etc/init.d/ypbind start

Binding to the NIS domain... [ OK ]

Listening for an NIS domain server: test

[root@test root]#


Вы можете проверить учетные записи пользователей с помощью команды ypcat.

[root@test root]# ypcat passwd

nobody:x:65534:65534:Nobody:/:/bin/sh

majordomo:x:502:2::/usr/local/majordomo-1.94.5:/bin/bash

csahut:x:501:501:csahut:/home/csahut:/bin/bash

[root@test root]# ypcat shadow.byname

nobody:*:12630:0:99999:7:::

majordomo:!!:12643:0:99999:7:::

csahut:$1$KZ7PVhqL$dQT0aYJfaWMBP4QBU7uxB.:12630:0:99999:7:::

[root@test root]# ypcat group

csahut:x:501:

kolab:x:60001:

nogroup:x:65534:

[root@test root]#


Затем должен быть запущен сервис ypbind:

[root@test root]# rpcinfo -u localhost ypbind

program 100007 version 1 ready and waiting

program 100007 version 2 ready and waiting

[root@test root]#




Использование библиотеки libc версии < 6


Укажите NIS в /etc/nsswitch.conf:

passwd: compat

group: compat

shadow: compat

Добавьте в /etc/passwd

+::::::

в /etc/shadow

+::::::

в /etc/group

+:::


Использование libc версии 6


Укажите NIS в /etc/nsswitch.conf (должно быть уже указано по умолчанию):

[root@test root]# cat /etc/nsswitch.conf

#

# /etc/nsswitch.conf


...

[пропущено]

...


passwd: files nisplus nis

shadow: files nisplus nis

group: files nisplus nis


...

[SNIP]

...

[root@test root]#




Тестирование


Вы должны видеть пользователей NIS в конце вывода следующей команды.

[root@test root]# getent passwd

root:x:0:0:root:/root:/bin/bash

bin:x:1:1:bin:/bin:/bin/sh


...

[пропущено]

...


uid:/bin/false

nobody:x:65534:65534:Nobody:/:/bin/sh

majordomo:x:502:2::/usr/local/majordomo-1.94.5:/bin/bash

nisuser:x:502:502:nisuser:/home/nisuser:/bin/bash

[root@test root]#


Таким же образом можно получить с NIS-сервера список групп и «теневые» пароли. Для этого используются команды getent group и getent shadow.


Теперь вы должны иметь возможность войти в систему, воспользовавшись учетной записью NIS.

Программа rpc.yppasswdd


Для того, чтобы иметь возможность поменять пароль с клиентской машины, на сервере должен быть запущен демон rpc.yppasswdd.

[root@test root]# /etc/init.d/yppasswdd start

Starting YP passwd service: [ OK ]

[root@test root]#

Программа rpc.ypxfrd


Эта программа используется для эффективной синхронизации карт NIS на дополнительных серверах NIS (NIS slaves). Программа запускается следующим образом:

[root@test root]# /etc/init.d/ypxfrd start

Starting YP map server: [ OK ]

[root@test root]#


Затем запустите программу yppush.

Некоторые команды NIS


Узнать имя NIS-сервера можно командой:

[root@test root]# ypwhich

test

[root@test root]#


Показать доступные карты:

[root@test root]# ypwhich -x

Use "ethers" for map "ethers.byname"

Use "aliases" for map "mail.aliases"

Use "services" for map "services.byname"

Use "protocols" for map "protocols.bynumber"

Use "hosts" for map "hosts.byname"

Use "networks" for map "networks.byaddr"

Use "group" for map "group.byname"

Use "passwd" for map "passwd.byname"

[root@test root]#


Узнать версию карты и сервера:

[root@test root]# yppoll passwd.byname

Domain domain.org is supported.

Map passwd.byname has order number 1092670129. [Mon Aug 16 17:28:49 2004]

The master server is test.

[root@test root]#


Проверить конфигурацию:

[root@test root]# yptest

Test 1: domainname

Configured domainname is "domain.org"


...

[пропущено]

...


Test 9: yp_all

nobody nobody:x:65534:65534:Nobody:/:/bin/sh

majordomo majordomo:x:502:2::/usr/local/majordomo-1.94.5:/bin/bash

csahut csahut:x:501:501:csahut:/home/csahut:/bin/bash

All tests passed

[root@test root]#