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

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

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

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

Установим dhcp-сервер

# apt-get install dhcp-server

Зайдём, отредактируем файл, который называется /etc/dhcp. В дебиане полиси, что после устаноки он запускается и работает, в альте не так. Поскольку dhcpd капризный демон, если он видит, что конфиг неправильный, то он перестаёт работать. По этой причине создаётся сэмпл и dhcp не запускается. Скопируем dhcpd.conf.sample в 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;

}

Комментарии по повду того, как работает dhcp: оно работает двумя способами.

Что такое dynamic dns update. DHCP пишут те же люди, что и BIND. Пишет internet service consorcium. У них тесное взаимодействие (между bind'ом и dhcp), по поводу автоматического обновления имени и ip-адреса в dns-зоне. Соответственно, имя машины автоматом прописывается в dns. Это и называется dynamic DNS update. И его обычно всегда стоит выключать, так как фича непонятная и в мелких случаях ненужная, хотя иногда и удобная. Понятно, что это связан с нарушениями безопасности, так что когда читаете man dhcpd, пропускайте большие куски про security, это не для простых смертных. Для простых смертных достаточно того, что здесь написано, за исключением одного: в dhcpd.conf бязаны быть перечислены все сети, которые видны на компьютере. В конце файла пишется отдельная строчка

subnet 10.0.0.0 netmask 255.0.0.0 {}

Запускаем:

# services dhcpd start

На клиенте говорим:

# dhcpcd eth0

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

После этого пишется в dhcpd.conf:

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

При этом, этот адрес не должен входить в диапазон динамически выдаваемых адресов. После этого необходимо на клиентах в /etc/net/ifaces проделать следующие телодвижения:

# mkdir eth0
# cd eth0
# cat > options
DISABLED=no
BOOTPROTO=dhcp


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

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

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

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

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

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

Level

Maintainer

Start date

End date

20

1

1

1

1

ConstantinYershow, Allena, VsevolodKrishchenko