В данном приложении описывается синтаксис команды dhcpd и файла настройки dhcpd.conf. Оно является справочником по серверу протокола динамической настройки (Internet Software Consortium Dynamic Host Configuration Protocol) - dhcpd. Чтобы полностью разобраться с настройкой и применением dhcpd в реально существующих сетях, обратитесь к руководству и примерам файлов настройки, приведенным в главе 9.
Информация в этом приложении относится к версии dhcpd, доступной на момент написания книги. Являясь бета-версией, программа, несомненно, будет дорабатываться и изменяться. Информация о наиболее актуальной версии dhcpd доступна по адресу http://www.isc.org/dhcp.html. И помните, другая реализация DHCP, вероятнее всего, настраивается совершенно иным образом.
Сборка dhcpd
Исходный текст dhcpd можно получить на веб-сайте ISC, расположенном по адресу http://www.isc.org, либо с анонимного FTP-сервера по адресу ftp://ftp.isc.org/isc/dhcp. Название сжатого tar-файла изменяется с выпуском новых версий. Однако самый последний вариант пакета должен храниться в файле с именем dhcp-latest.tar.gz. Скопируйте этот файл, распакуйте посредством gunzip и untar:
> ftp ftp.isc.org Connected to pub1.bryant.vix.com. 220 pub1.bryant.vix.com FTP server ready. Name (ftp.isc.org:craig): anonymous 331 Guest login ok, send your complete email address as password. Password: 230 Guest login ok, access restrictions apply. ftp> cd isc/dhop 250 CWD command successful. ftp> binary 200 Type set to I. ftp> get dhcp-latest.tar.gz 200 PORT command successful. 150 Opening BINARY mode data connection for dhcp-latest.tar.gz 226 Transfer complete. 181892 bytes received in 17 sees (10 Kbytes/sec) ftp> quit 221 Goodbye. > gunzip dhcp-latest.tar.gz > tar -xvf dhcp-latest.tar drwxrwxr-x mellon/engsrc 0 2001-10-05 00:22:41 dhcp-3.0/ drwxrwxr-x mellon/engsrc 0 2001-10-05 00:22:32 dhcp-3.0/doc/ -rw-rw-r— mellon/engsrc 150274 2001-08-23 12:25:51 dhcp-3.0/server/failover.с -rw-rw-r— mellon/engsrc 67711 2001-08-23 12:30:58 dhcp-3.O/server/mdb.с -rw-rw-r— mellon/engsrc 62087 2001-06-21 22:28:51 dhcp-3.O/server/omapi.с -rw-rw-r— mellon/engsrc 7612 2001-06-21 22:31:39 dhcp-3.0/server/salloc.с -rw-rw-r— mellon/engsrc 34248 2001-06-21 22:35:08 dhcp-3.0/server/stables.с drwxrwxr-x mellon/engsrc 0 2001-10-05 00:22:42 dhcp-3.0/tests/ drwxrwxr-x mellon/engsrc 0 2001-10-05 00:22:42 dhcp-3.0/tests/failover/ -rw-rw-r-- mellon/engsrc 3585 2001-05-31 16:16:05 dhcp-3.0/tests/failover/dhcp-1.cf -rw-rw-r— mellon/engsrc 3463 2001-05-31 16:16:06 dhcp-3.0/tests/failover/dhcp-2.cf -rwxrwxr-x mellon/engsrc 537 2001-05-31 16:16:07 dhcp-3.0/tests/failover/new- failover
Перейдите во вновь созданный каталог и выполните configure, configure определяет тип используемой системы Unix и создает корректные для этой системы файлы сборки. Если configure не может определить вариант Unix, необходимо вручную создать файл сборки Makefile. Наберите make, чтобы выполнить компиляцию демона. Наконец, скопируйте полученный исполняемый файл и страницы руководства в подходящие каталоги:
# cd dhcp-3.0 # ./configure System Type: linux # make cc -g -c dhcpd.c -o dhcpd.o cc -g -c dhcp.c -o dhcp.o cc -g -c bootp.c -o bootp.o nroff -man dhcpd.conf.5 >dhcpd.conf.cat5 tt make install
Демон DHCP должен компилироваться без ошибок. Если вы получаете сообщения об ошибках компиляции либо если configure не может определить конфигурацию системы, следует прервать компиляцию и уведомить группу поддержки. Чтобы подписаться на список рассылки группы поддержки, посетите сайт http://www.fugue.com/dhcp. После регистрации отправьте сообщение на адрес списка рассылки Этот адрес электронной почты защищён от спам-ботов. У вас должен быть включен JavaScript для просмотра.: опишите конфигурацию системы и подробно возникшую проблему. Подписчиками этого списка является большинство пользователей dhcpd. Возможно, вашу проблему уже кто-то решил.
Не исключено, что просто установкой dhcpd дело не кончится. Прочтите очень внимательно файл README, dhcpd работает с широким диапазоном систем, включая OSF/1, большинство современных производных от BSD, Solaris и Linux. Лучше всего демон чувствует себя в OSF/1 и BSD; в прочих системах могут присутствовать определенные ограничения. Например, в Solaris и Linux демон поддерживает работу лишь с одним сетевым интерфейсом. Кроме того, dhcpd может потребовать определенной настройки, специфичной для данной системы. Отличным примером такой ситуации являются старые системы с ядром Linux 2.0.0. Чтобы успешно работать с dhcpd на одной из таких систем, добавьте следующую запись в таблицу /etc/hosts:
255.255.255.255 all-ones
Затем добавьте специальный маршрут для ограниченного широковещательного адреса, 255.255.255.255:
u route add -host all-ones dev eth0
Ограниченный широковещательный адрес следует добавлять в таблицу маршрутизации ядра после каждой загрузки системы, поэтому внесите следующий фрагмент кода в загрузочный сценарий:
# Установить ограниченный широковещательный адрес и запустить DHCP if [ -f /etc/dhcpd.conf ]; then echo -n " dhcpd" route add -host all-ones dev ethO /usr/sbin/dhcpd fi
Информация, необходимая для выполнения этих действий, явным образом содержится в файле README. Прочтите его, прежде чем приступать к работе с dhcpd. Разумеется, такая настройка не требуется в современных версиях Linux, однако следует иметь в виду, что иногда приходится прибегать к дополнительным мерам.