Различия между версиями 6 и 8 (по 2 версиям)
Версия 6 от 2008-07-13 20:53:04
Размер: 9210
Редактор: Allena
Комментарий:
Версия 8 от 2008-07-13 22:36:43
Размер: 7903
Редактор: VsevolodKrishchenko
Комментарий:
Удаления помечены так. Добавления помечены так.
Строка 2: Строка 2:
Для начала следует напомнить, что из себя представляет служба DHCP. Предположим, что в процессе подготовки класса уже сделаны маршрутизация и трансляция сетевых адресов. Теперь возникает необходимость настроить рабочие машины класса для работы в локальной сети и доступа в Интернет. Есть два пути:
Строка 4: Строка 3:
 1. Вручную прописывать все необходимые настройки (как минимум IP-адрес, маршрутизатор по умолчанию и DNS) на всех клиентских машинах
 2. Использовать службу DHCP
Для начала следует напомнить, что из себя представляет служба DHCP. Предположим, что в процессе подготовки класса уже настроены маршрутизация и трансляция сетевых адресов. Теперь возникает необходимость настроить рабочие машины класса для работы в локальной сети и доступа в Интернет. Есть два пути:
Строка 7: Строка 5:
Работает эта служба на нескольких уровнях, и, вообще говоря, ее возможности шире чем просто выдача IP-адреса, адреса маршрутизатора по умолчанию и адресов DNS --- например с помощью DHCP можно организовать загрузку бездискового клиента по сети или автоматическое определение параметров прокси-сервера клиентами.  * вручную прописывать все необходимые настройки (как минимум это IP-адрес, маршрутизатор по умолчанию и DNS) на всех клиентских машинах;
 * использовать службу DHCP.
Строка 9: Строка 8:
Установим dhcp-сервер Работает служба DHCP на нескольких уровнях стека TCP/IP, и, вообще говоря, ее возможности шире чем просто выдача IP-адреса, адреса маршрутизатора по умолчанию и адресов DNS --- например с помощью DHCP можно организовать загрузку бездискового клиента по сети или автоматическое определение параметров прокси-сервера клиентами.
Строка 11: Строка 10:
Для начала установим на маршрутизаторе класса dhcp-сервер.
Строка 19: Строка 19:
Клиенту выдается адрес из указанного администратором диапазона. По истечении определенного времени -- срока аренды(leasing), клиент обязан снова запросить настройки у сервера, причем новые настройки могут не совпадать с предыдущими. Сервер считает свободными IP-адреса, для которых истек срок аренды. Алгоритм выбора сервером IP-адреса обычно следующий: по первому запросу выдается последний адрес диапазона, по второму -- предпоследний, и т. д. Клиенту, запрашивающему адрес не в первый раз, выдается, если возможно, тот же адрес, что у него был. У такого алгоритма есть хорошее свойство -- если появляется новый клиент, то ему, по возможности, выдается ранее не использовавшийся адрес. В этом режиме клиенту выдается адрес из указанного администратором диапазона. По истечении определенного времени --- срока аренды (''leasing''), клиент обязан снова запросить настройки у сервера, причем новые настройки могут не совпадать с предыдущими. Сервер считает свободными те IP-адреса диапазона, для которых истек срок аренды. Алгоритм выбора сервером IP-адреса обычно следующий: по первому запросу выдается последний адрес диапазона, по второму -- предпоследний, и т. д. Клиенту, запрашивающему адрес не в первый раз, выдается, если возможно, тот же адрес, что у него был. У такого алгоритма есть хорошее свойство -- если появляется новый клиент, то ему, по возможности, выдается ранее не использовавшийся адрес.
Строка 62: Строка 62:
Так как разработкой дхцп и бинд занимаются одни и те же люди, между этими этими проектами существует тесная связь. Например, поддерживается автоматическое обновление имени и ип-адреса в днс-зоне -- это и называется Dynamic DNS update. В отдельных случаях подобное может быть удобно, но обычно рекомендуется отключить это функцию. Так как разработкой DHCP и bind занимаются одни и те же люди, между этими этими проектами существует тесная связь. Например, поддерживается автоматическое обновление имени и IP-адреса в DNS-зоне -- это и называется dynamic DNS update. В отдельных случаях подобное может быть удобно, но обычно рекомендуется отключить это функцию.
Строка 65: Строка 65:
 * [Второй способ:] Для успокоения совести освоим схему раздачи по MAC и успокоимся. Неудобно раздавать ip-адреса, не зная, кто какой адрес получит. Если мы устанавливаем класс вручную, мы можем в принципе прописать у каждой машины собственный host name, на сервере установить сервер, который будет организовывать внутренний dns, прописать в dhcp более правильный dynamic update, настроить dns, чтобы он dynamic update'ы принимал, и ситуацию с взаимнооднозначным соответствием машины и внутреннего доменного имени решим. IP адрес будет выдаваться по неизвестным соображениям, но машина будет запрашивать себе IP в обмен на то, что попросит зарегистрировать себя в DNS именно под таким именем, и это будет произведено. Лектор этим заниматься не будет, потому что это довольно сложная операция, можно сделать другое: раздавать ip по mac-ам, поскольку они всегда (кроме извращённых случаев) уникальные. Понятно, что в принципе изменить руками MAC адрес можно, и сделать вид, что вы-это не вы, а другая машина и получить вместо неё IP адрес. Однако, его ещё надо знать как поменять, поэтому это является некоторой степенью защиты от дурака и облегчением работы администратора.

Где-то в /var/lib/dhcp/dhcpd/state/dhcpd.leases записаны все маки, которым был выдан когда-то dhcp. То есть, вы либо ходите по всем компьютерам и везде смотрите мак-адреса, либо всё включаете и потом смотрите этот файл - там записаны leases

После этого пишется в dhcpd.conf:
Существует также возможность выдать определенный IP-адрес компьютеру с определенным MAC-адресом.
Для этого достаточно прописать в dhcpd.conf, например:
Строка 77: Строка 73:
При этом, этот адрес не должен входить в диапазон динамически выдаваемых адресов. После этого необходимо на клиентах в /etc/net/ifaces проделать следующие телодвижения:
Строка 79: Строка 74:
И выполнить на соотвествующем клиенте:
Строка 80: Строка 76:
# cd /etc/net/ifaces
Строка 86: Строка 83:
Заметим, что выдаваемый таким образом IP-адрес должен лежать вне диапазона адресов распределяемых динамически.

Такой вариант удобен, если есть необходимость знать, какой адрес получит конкретный клиент. Подобная схема работоспособна, так как в большинстве случаев MAC-адреса уникальны.
Узнать список MAC-адресов компьютеров сети можно либо посмотрев адреса вручную на каждом из клиентов, либо используя файл /var/lib/dhcp/dhcpd/state/dhcpd.leases, в котором записана информация, в том числе MAC-адреса, всех клиентов, которым когда либо выдавались в аренду IP-адреса.

Строка 93: Строка 96:
|| 20 || 1 || 1 || 1 || || 1 || ConstantinYershow, [[Allena]], VsevolodKrishchenko || || || || 50 || 1 || 1 || 1 || || 1 || ConstantinYershow, [[Allena]], VsevolodKrishchenko || || ||

Настройка DHCP-сервера

Для начала следует напомнить, что из себя представляет служба DHCP. Предположим, что в процессе подготовки класса уже настроены маршрутизация и трансляция сетевых адресов. Теперь возникает необходимость настроить рабочие машины класса для работы в локальной сети и доступа в Интернет. Есть два пути:

  • вручную прописывать все необходимые настройки (как минимум это IP-адрес, маршрутизатор по умолчанию и DNS) на всех клиентских машинах;
  • использовать службу DHCP.

Работает служба DHCP на нескольких уровнях стека TCP/IP, и, вообще говоря, ее возможности шире чем просто выдача IP-адреса, адреса маршрутизатора по умолчанию и адресов DNS --- например с помощью DHCP можно организовать загрузку бездискового клиента по сети или автоматическое определение параметров прокси-сервера клиентами.

Для начала установим на маршрутизаторе класса dhcp-сервер.

# apt-get install dhcp-server

Существует несколько вариантов поведения сервера DHCP. Далее рассмотрим два наиболее распространенных.

Динамическое распределение IP-адресов

В этом режиме клиенту выдается адрес из указанного администратором диапазона. По истечении определенного времени --- срока аренды (leasing), клиент обязан снова запросить настройки у сервера, причем новые настройки могут не совпадать с предыдущими. Сервер считает свободными те IP-адреса диапазона, для которых истек срок аренды. Алгоритм выбора сервером IP-адреса обычно следующий: по первому запросу выдается последний адрес диапазона, по второму -- предпоследний, и т. д. Клиенту, запрашивающему адрес не в первый раз, выдается, если возможно, тот же адрес, что у него был. У такого алгоритма есть хорошее свойство -- если появляется новый клиент, то ему, по возможности, выдается ранее не использовавшийся адрес.

Итак, рассмотрим настройку динамического распределения IP-адресов с помошью службы DHCP.

Скопируем файл /etc/dhcpd.conf.sample в /etc/dhcpd.conf и отредактируем его. Файл /etc/dhcpd.conf.sample в ALTLinux создается автоматически, если отсутствует правильный конфигурационный файл для DHCP. В результате файл /etc/dhcpd.conf должен выглядеть так:

# See dhcpd.conf(5) for further configuration

ddns-update-style none;

subnet 172.16.0.0 netmask 255.255.255.0 {
        option routers                  172.16.0.1;
        option subnet-mask              255.255.255.0;

        option domain-name              "demo.class.altlinux.ru";
        option domain-name-servers      10.0.2.3;

        range dynamic-bootp 172.16.0.10 172.16.0.90;
        default-lease-time 21600;
        max-lease-time 43200;

}

Кроме того, в dhcpd.conf необходимо перечислить все сети, в которые есть доступ с данного компьютера. В нашем случае достаточно добавить строку

subnet 10.0.0.0 netmask 255.0.0.0 {}

Осталось лишь запустить службу DHCP. Для этого на сервере необходимо выполнить:

# services dhcpd start

На клиенте:

# dhcpcd eth0

Dynamic DNS update

Так как разработкой DHCP и bind занимаются одни и те же люди, между этими этими проектами существует тесная связь. Например, поддерживается автоматическое обновление имени и IP-адреса в DNS-зоне -- это и называется dynamic DNS update. В отдельных случаях подобное может быть удобно, но обычно рекомендуется отключить это функцию.

Распределение IP-адресов по MAC-адресам

Существует также возможность выдать определенный IP-адрес компьютеру с определенным MAC-адресом. Для этого достаточно прописать в dhcpd.conf, например:

host lite {
 fixed-address 172.16.0.98;
 hardware ethernet 08:00:27:b7:69:b9
}

И выполнить на соотвествующем клиенте:

# cd /etc/net/ifaces
# mkdir eth0
# cd eth0
# cat > options
DISABLED=no
BOOTPROTO=dhcp

Заметим, что выдаваемый таким образом IP-адрес должен лежать вне диапазона адресов распределяемых динамически.

Такой вариант удобен, если есть необходимость знать, какой адрес получит конкретный клиент. Подобная схема работоспособна, так как в большинстве случаев MAC-адреса уникальны. Узнать список MAC-адресов компьютеров сети можно либо посмотрев адреса вручную на каждом из клиентов, либо используя файл /var/lib/dhcp/dhcpd/state/dhcpd.leases, в котором записана информация, в том числе MAC-адреса, всех клиентов, которым когда либо выдавались в аренду IP-адреса.


Сведения о ресурсах

Готовность (%)

Продолжительность (ак. ч.)

Подготовка (календ. ч.)

Полный текст (раб. д.)

Предварительные знания

Level

Maintainer

Start date

End date

50

1

1

1

1

ConstantinYershow, Allena, VsevolodKrishchenko


PspoClasses/080708/04Dhcpd (последним исправлял пользователь VsevolodKrishchenko 2008-10-04 10:56:13)