DHCP в Linux реализован в виде демона сервера (dhcpd) и демона клиента (dhcpcd или pump (в Red Hat)). Демон dhcpd запускается на сервере и непосредственно отвечает за назначение и отбор IP-адресов клиентам, при входе и выходе их из сети. Клиентский демон, как явствует из названия, запускается на стороне клиента.
DHCP при установке Linux обычно не устанавливается, однако входит в состав дистрибутивов. В любом случае вы всегда можете скачать последнюю версию с сайта www.isc.org. Установите пакет dhcp и включите поддержку динамических IP-адресов командой echo «1» > /proc/sys/net/ ipv4/ip_dynaddr.
Конфигурационным файлом для dhcpd является /etc/dhcpd.conf. При запуске DHCP-сервера происходит выделение IP-адресов согласно содержащимся в файле /etc/dhcpd.conf установкам. Выделенные адреса dhcpd регистрирует в файле dhcpd. leases, который обычно находится в каталоге /var/dhcpd.
Сейчас давайте рассмотрим простейшую конфигурацию, которую будем постепенно наращивать. Описание опций приведено непосредственно в самом листинге. Обратите внимание на то, что, чтобы внесенные вами в файл /etc/dhcp.conf изменения вступили в силу, демон dhcpd необходимо остановить и запустить снова. При этом используйте команду /etc/rc.d/init.d/dhcpd stop для останова демона и команду /etc/rc.d/init.d/dhcpd start для его запуска.
# Файл /etc/dhcpd.conf
# описание сети, указывающее какая из подсетей будет
# обслуживаться. Указывается сетевой адрес и маска сети
subnet 192.168.1.0 netmask 255.255.255.0 {
# маршрутизатор по умолчанию
option routers 192.168.1.1;
# маска подсети 255.255.255.0
option subnet-mask 255.255.255.0;
# устанавка домена по умолчанию и сервера NIS, если таковой используется
option nis-domain «domain.ua»;
option domain-name «domain.ua»;
# адрес DNS сервера, который будут использовать клиенты
option domain-name-servers 192.168.1.1;
# диапазон, из которого будут назначаться IP-адреса
# для клиентов 192.168.1.50-192.168.1.250
range 192.168.1.10 192.168.1.254;
# сказать клиентам, чтобы отдали адрес через 86400 секунд
# (24 часа)
# после получения адреса
default-lease-time 86400;
# забрать адрес самому через 172800 секунд (48 часов)
max-lease-time 172800;
}
Удачи!