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

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

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

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

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

# apt-get install dhcp-server

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

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

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

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

# cd /etc/dhcp/
# cp dhcpd.conf.sample dhcpd.conf
# # Воспользуйтесь любым текстовым редактором
# mcedit dhcpd.conf

В результате редактирования файл /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 необходимо перечислить все сети, которые непосредственно подсоединены к данному компьютеру. В нашем случае достаточно добавить строку с информацией о существовании внешней сети 10.0.2.0/24

subnet 10.0.2.0 netmask 255.255.255.0 {}

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

# services dhcpd restart

На клиенте, если он уже включен, следует также перезапустить службу network, предварительно настроенную на использование DHCP.

# cd /etc/net/ifaces/eth0
# cd /etc/net/ifaces/eth0
# echo 'DISABLED=no' > options
# echo 'BOOTPROTO=dhcp' >> options
# services network restart

Динамическое обновление DNS

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

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

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

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

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

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


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

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

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

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

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

Level

1

1

1

1