DHCP (англ. Dynamic Host Configuration Protocol — протокол динамической конфигурации узла) — это сетевой протокол, позволяющий компьютерам автоматически получать IP-адрес и другие параметры, необходимые для работы в сети TCP/IP. Для этого компьютер обращается к специальному серверу, называемому сервером DHCP. Сетевой администратор может задать диапазон адресов, распределяемых среди компьютеров. Это позволяет избежать ручной настройки компьютеров сети и уменьшает количество ошибок. Протокол DHCP используется в большинстве крупных (и не очень) сетей TCP/IP.
DHCP является расширением протокола BOOTP, использовавшегося ранее для обеспечения бездисковых рабочих станций IP-адресами при их загрузке. DHCP сохраняет обратную совместимость с BOOTP.
Установка
Будем ставить из портов.
# cd /usr/ports/net/isc-dhcp30-server
# make install clean
В опциях установки я убрал DHCP_LDAP_SSL
, т.к. LDAP я не использую.
Настройка
После установки, у нас автоматически создается пользователь и группа dhcpd. Сначала добавим в /etc/rc.conf
следующую строчку:
dhcpd_enable="YES"
# на каком интерфейсе работает dhcp
dhcpd_ifaces="re0"
Файл конфигурации находится в /usr/local/etc/
. Его надо переименовать из dhcpd.conf.sample
в dhcpd.conf
. Мой конфиг выглядит примерно так:
# глобальные опции
option domain-name "flextron.vcore.ru";
option domain-name-servers 192.168.1.1, 85.21.192.5, 213.234.192.7;
# на сколько выдаем ip-адреса
default-lease-time 600;
max-lease-time 7200;
# главный dhcp-сервер
authoritative;
ddns-update-style ad-hoc;
# куда шлем логи
log-facility local7;
# не будем обрабатывать эту подсеть, но объявляя ее мы помогаем dhcp-серверу понять
# топологию сети (ну-ну..)
subnet 10.152.187.0 netmask 255.255.255.0 {
}
# моя подсеть
subnet 192.168.1.0 netmask 255.255.255.0 {
# выдает адреса в этом диапазоне
range 192.168.1.10 192.168.1.100;
# основной шлюз
option routers 192.168.1.1;
# вещаем тут
option broadcast-address 192.168.1.255;
# обновляем время там
option ntp-servers 192.168.1.1;
}
# объявляем хосты в сети, которым нужны статические адреса
host vcore-av3nger {
hardware ethernet 00:1f:c6:7e:30:34;
fixed-address 192.168.1.3;
}