Сервер DHCP обязательно входит в состав дистрибутивного пакета Linux, чего нельзя сказать об остальных системах. Поэтому при формировании сети имеет смысл планировать установку сервера DHCP на компьютере под управлением Linux. В небольшой сети можно использовать широкополосный маршрутизатор — устройство, которое позволяет подключать офисную или домашнюю сеть к Internet посредством кабельного или DSL-соединения. Такое устройство обычно содержит сервер DHCP. Сервер на широкополосном маршрутизаторе легче настраивать, чем сервер DHCP в системе Linux, однако он обеспечивает меньшую степень гибкости. Например, сервер DHCP широкополосного маршрутизатора, как правило, нельзя настроить так, чтобы конкретному клиенту выделялся один и тот же IP-адрес.
Для запуска сервера DHCP обычно используется сценарий SysV. Благодаря этому время отклика становится минимальным, а сервер получает возможность хранить важные конфигурационные данные в памяти. (Вопросы запуска серверов рассматривались в главе 5.)
Настройка ядра и сетевых интерфейсов
Для того чтобы иметь возможность использовать сервер DHCP, надо правильно выбрать конфигурацию ядра системы, а также настроить сетевые средства. В частности, вам необходимо установить опции ядра Packet Socket и Socket Filtering. (Версия 1 dhcpd не требует Socket Filtering; эта опция нужна для новых версий программы.) Вопросы установки конфигурации ядра подробно рассматривались в главе
Некоторые клиенты DHCP требуют, чтобы сервер передавал ответы на запросы по адресу 255.255.255.255. Однако по умолчанию система Linux заменяет этот адрес на широковещательный адрес локальной сети (например, 192.168.1.255). Если при работе некоторых клиентов DHCP возникает проблема (обычно это проявляется в системе Windows), ее можно устранить, включив в таблицу маршрутизации компьютера, на котором расположен сервер DHCP, специальный маршрут. Для этого используется следующая команда:
# route add -host 255.255.255.255 dev eth0
Имя eth0
следует заменить на имя сетевого интерфейса, используемого для подключения к вашей локальной сети. Подобную команду можно включить в сценарий запуска. Чтобы проверить установленный маршрут, надо ввести в командной строке команду route -n
. В результате ее выполнения будут выведены все записи, содержащиеся в таблице маршрутизации. Если маршрут 255.255.255.255 содержится в таблице, он должен находиться в начале списка.
Конфигурационные файлы DHCP
Большинство дистрибутивных пакетов Linux содержит сервер DHCP, разработанный Internet Software Consortium ( http://www.isc.org/products/DHCP/
). Internet Software Consortium (ISC) в конце 2000 г. выпустил версию 3.0 DHCP, но в начале 2002 г. многие версии Linux все еще поставлялись со старой версией 2.0 сервера DHCP. Большинство параметров настройки, рассматриваемых в данном разделе, применимо к версиям 2.0 и 3.0, но версия 3.0 поддерживает некоторые новые возможности, например, средства интеграции с DNS-сервером, которые будут обсуждаться далее в этой главе.
Для настройки сервера DHCP используется конфигурационный файл dhcpd.conf
, который обычно располагается в каталоге /etc
или /etc/dhdcp
. Подобно остальным конфигурационным файлам Linux, dhcpd.conf
— это текстовый файл, для редактирования которого можно использовать обычный текстовый редактор. Кроме того, во время работы программа dhcpd
создает собственный файл состояния dhcp.leases
, который обычно помещается в каталог /var/lib/dhcp
. В файле dhcp.leases
содержится информация об аренде адресов. В системе DHCP распределением IP-адресов занимается сервер DHCP. Он сообщает клиенту DHCP, что тому на определенный период времени выделяется некоторый IP-адрес. Другими словами, адрес дается клиенту в аренду, а клиент должен вовремя продлевать ее. В файле dhcp.leases
также содержатся сведения об Ethernet-адресах клиентов. Файл dhcp.leases
не является конфигурационным файлом в полном смысле слова; его нельзя редактировать, но при возникновении проблем или в случае, если вам потребуется выяснить аппаратный адрес, или MAC-адрес, клиента, вы можете просмотреть содержимое dhcp.leases
.
Строки файла dhcpd.conf
, начинающиеся с символа #
, содержат комментарии. Помимо комментариев, в этом файле находятся выражения, которые делятся на две категории.
• Параметры. Параметры сообщают серверу DHCP о том, надо ли выполнять некоторые действия (например, предоставлять адреса неизвестным клиентам), как их выполнять (например, как долго может длиться аренда адреса), и о том, какая информация должна предоставляться клиентам (например, адрес шлюза).
Читать дальше