Наши партнеры








Книги по Linux (с отзывами читателей)

Библиотека сайта rus-linux.net

На главную -> MyLDP -> Электронные книги по ОС Linux
Beyond Linux From Scratch. Version 2011-12-30
Назад 13. Подключение к сети Вперед

Пакет Пакет DHCP-4.2.3

Знакомимся с пакетом DHCP

В пакете DHCP находятся клиентская и серверная программы DHCP. Программа dhclient (клиентская) используется для подключения вашего компьютера к сети, в которой для назначения сетевых адресов применяется DHCP. Программа dhcpd (сервер) используется для назначения сетевых адресов в вашей частной сети.

Известно, что пакет правильно собирается и работает на платформе LFS-7.0.

Информация о пакете

  • Загрузка (HTTP): http://www.isc.org/software/dhcp/423/download/dhcp-423targz?download=
  • Загрузка (FTP): ftp://ftp.isc.org/isc/dhcp/4.2.3/dhcp-4.2.3.tar.gz
  • Контрольная сумма MD5: a06649ec5336d284fc86a0232c0edd63
  • Размер загружаемого пакета: 9,1 MB
  • Оценочный размер требуемого дискового пространства: 185 MB (клиент и сервер), 140 MB — только клиент, 172 MB — только сервер
  • Оценочное время сборки: : 0,7 SBU (клиент и сервер, либо сервер), 0.6 SBU — только клиент

Дополнительные загрузки

Зависимости пакета DHCP

Обязательные

Если вы не используете патч iproute2, то во время выполнения программы dhclient требуется пакет Net-tools-1.60

Замечания для пользователей:

Конфигурирование ядра

У вас в ядре должна быть включена поддержка Packet Socket (Networking Support => Networking Options => Packet Socket - Поддержка сетей => Сетевые настройки => Packet Socket). Если у вас не скомпилирована поддержка протокола IPv6 (Networking Support => Networking Options => The IPv6 Protocol - Поддержка сетей => Сетевые настройки => Протокол IPv6), то вы должны использовать патч missing_ipv6.

Установка пакета DHCP

Если у вас в ядре не откомпилирована поддержка протокола IPv6, то примените патч missing_ipv6

patch -Np1 -i ../dhcp-4.2.3-missing_ipv6-1.patch

Если вы устанавливаете клиентскую программу и к тому времени, когда вы будете ее использовать,у вас не будет установлен пакет net-tools, то примените патч iproute2:

patch -Np1 -i ../dhcp-4.2.3-iproute2-1.patch

Установите пакет DHCP с помощью следующих команд:

sed -i 's%\(^sbindir =\).*%\1 @prefix@@sbindir@%' server/Makefile.in &&
./configure --prefix=/usr --sysconfdir=/etc --localstatedir=/var \
 --sbindir=/sbin \
  --with-srv-lease-file=/var/state/dhcp/dhcpd.leases \
   --with-srv6-lease-file=/var/state/dhcp/dhcpd6.leases \
    --with-cli-lease-file=/var/state/dhclient.leases \
     --with-cli6-lease-file=/var/state/dhclient6.leases  &&
sed -i 's/-Werror//' {client,common,dst,omapip,relay,server,tests}/Makefile

Если вы хотите собрать только сервер, введите:

sed -i 's/ client//' Makefile

Если вы хотите собрать только клиентскую программу, введите:

sed -i 's/ dhcpctl relay server//' Makefile

Соберите выбранный вами вариант с помощью следующей команды:

make

Чтобы проверить результаты, выполните команду make check.

Теперь в роли пользователя root выполните:

make install

В файлах /etc/dhcpd.conf (сервер) и /etc/dhclient.conf (клиент) приведены примеры настроек для конкретной системы BSD. Маловероятно, что они вам подойдут, но будет правильно, если вы их просмотрите перед тем, как их удалять или перемещать в другое место.

Теперь создайте рабочий директорий (директории).

Для сервера:

mkdir -pv /var/state/dhcp

Для клиентской программы:

mkdir -pv /var/state

Пояснение команд

sed -i 's%\(^sbindir =\).*%\1 @prefix@@sbindir@%' server/Makefile.in: Эта команда перемещает программу dhcp в директорий /usr/sbin вместо директория /sbin, поскольку она не нужна во время загрузки сервера.

--sbindir=/sbin: Программа dhclient перемещается в директорий /sbin вместо директория /usr/sbin, поскольку она должна быть доступна во время загрузки, например, если в /usr монтируется сетевая файловая система nfs.

--with-*-lease-files=...: По умолчанию, рабочие файлы помещаются в директорий /var/db, что является анахронизмом

sed -i 's/-Werror//' {client,common,...}/Makefile: В этом пакете для файлов Makefile в переменную CFLAGS добавляется параметр -Werror. В последних версиях компилятора gcc добавлено много нового, в том числе выдача предупреждений в случае, если переменные не используются. Флаг -Werror указывает выдавать предупреждения, что прервет сборку пакета, поэтому мы удаляем его там, где он не нужен.

sed -i 's/ something//' Makefile: Эта команда останавливает сборку пакета из-за того, что требуется ввести имя директория (директориев).

rm -v /usr/lib/lib{dhcpctl,dst,omapi}.a: Предотвратить сборку этих статических библиотек непросто, но они нужны только во время сборки этого пакета. Библиотека libdhcpctl.a устанавливается только в том случае, если вы собираете сервер.

Конфигурирование пакета DHCP

Конфигурационные файлы

/etc/dhclient.conf и /etc/dhcpd.conf

Подробнее о конфигурировании

Информацию о настройке клиентской программы DHCP можно найти в следующем разделе.

Обратите внимание, что если вы хотите только раздавать адреса LAN в вашей сети, вам нужен только сервер DHCP. В этом скрипте не нужно использовать клиентскую программу DHCP. Также обратите внимание, что этот скрипт закодирован для интерфейса eth1, который, возможно, потребуется изменения для вашей аппаратной конфигурации.

Установите скрипт начальной загрузки /etc/rc.d/init.d/dhcp, который находится в пакете blfs-bootscripts-20111226.

make install-dhcp

Рабочий файл должен существовать при запуске системе. С помощью следующей команды можно удовлетворить это требование:

touch /var/state/dhcp/dhcpd.leases

С помощью следующих команд будет создан файл базовой конфигурации для сервера DHCP. Есть несколько параметров, которые вы можете добавить (информация будет передана обратно клиенту DHCP) и которые описаны в страницах man для dhcp.conf.

cat > /etc/dhcpd.conf << "EOF"
default-lease-time 72000;
max-lease-time 144000;

subnet <192.168.5.0> netmask <255.255.255.0> {
  range <192.168.5.10> <192.168.5.240>;
  option broadcast-address <192.168.5.255>;
  option routers <192.168.5.1>;
}
EOF

Все адреса следует изменить в соответствии с вашей конкретной ситуацией.

Описание пакета

Установленные программы: dhcpd, dhcrelay, dhclient, dhclient-script и omshell

Установленные библиотеки: libbdhcpctl.a, libdst.a, libomapi.a

Установленные директории: /var/state/dhcp, /usr/include/omapip и /usr/include/isi-dhcp

Краткое описание

dhclient

реализация клиентской программы DHCP

dhclient-script

используется программой dhclient для (пере) конфигурирования интерфейсов. С его помощью можно выполнить дополнительные изменения с использованием dhclient-{entry,exit}-hooks

dhcpd

реализует протокол запросов Dynamic Host Configuration Protocol (DHCP) и Internet Bootstrap Protocol (BOOTP) сетевых адресов

dhcrelay

предоставляет средство доступа запросов DHCP и BOOTP для подсети, не имеющих сервера DHCP, и перетрансляции их на сервер DHCP, находящийся в другой подсети

omshell

предоставляет интерактивный способ подключения, запросов, и, возможно, изменения состояния сервера ISC DHCP через OMAPI (Object Management API - API управления объектами).

Перевод сделан с варианта оригинала, датированного 2011-12-01 05:09:32 +0000


Предыдущий раздел: Оглавление Следующий раздел:
Пакет dhcpcd-5.2.12   Конфигурирование клиента DHCP-4.2.3