Это старая версия документа!
Содержание •Установка ISC DHCP Server •Настройка ISC DHCP Server •Настройка логов ISC DHCP Server •Запуск ISC DHCP Server •Дополнительная информация
Установка ISC DHCP Server
Получаем доступные версии DHCP-сервера: pkg search «isc-dhcp.*-server»
Устанавливаем пакет: pkg install isc-dhcp41-server
Установка ISC DHCP Server из коллекции портов
Если необходимо, DHCP-сервер можно собрать из портов.
Обновляем коллекцию портов: portsnap fetch update
Если коллекция портов используется впервые, получаем ее актуальную версию: portsnap fetch extract
Получаем доступные версии DHCP-сервера: echo /usr/ports/net/isc-dhcp*-server
Устанавливаю:
cd /usr/ports/net/isc-dhcp44-server make install clean Installing isc-dhcp44-server-4.4.1_2... ===> Creating groups. Creating group 'dhcpd' with gid '136'. ===> Creating users Creating user 'dhcpd' with uid '136'. **** To setup dhcpd, please edit /usr/local/etc/dhcpd.conf. **** This port installs the dhcp daemon, but doesn't invoke dhcpd by default. If you want to invoke dhcpd at startup, add these lines to /etc/rc.conf: dhcpd_enable="YES" # dhcpd enabled? dhcpd_flags="-q" # command option(s) dhcpd_conf="/usr/local/etc/dhcpd.conf" # configuration file dhcpd_ifaces="" # ethernet interface(s) dhcpd_withumask="022" # file creation mask **** If compiled with paranoia support (the default), the following rc.conf options are also supported: dhcpd_chuser_enable="YES" # runs w/o privileges? dhcpd_withuser="dhcpd" # user name to run as dhcpd_withgroup="dhcpd" # group name to run as dhcpd_chroot_enable="YES" # runs chrooted? dhcpd_devfs_enable="YES" # use devfs if available? dhcpd_rootdir="/var/db/dhcpd" # directory to run in dhcpd_includedir="<some_dir>" # directory with config- files to include **** WARNING: never edit the chrooted or jailed dhcpd.conf file but /usr/local/etc/dhcpd.conf instead which is always copied where needed upon startup. ===> SECURITY REPORT: This port has installed the following files which may act as network servers and may therefore pose a remote security risk to the system. /usr/local/sbin/dhcpd /usr/local/bin/omshell This port has installed the following startup scripts which may cause these network services to be started at boot time. /usr/local/etc/rc.d/isc-dhcpd If there are vulnerabilities in these programs there may be a security risk to the system. FreeBSD makes no guarantee about the security of ports included in the Ports Collection. Please type 'make deinstall' to deinstall the port if this is a concern. For more information, and contact details about the security status of this software, see the following webpage: https://www.isc.org/products/DHCP/ ===> Cleaning for isc-dhcp44-server-4.4.1_2
Настройка ISC DHCP Server
Редактируем файл конфигурации: ee /usr/local/etc/dhcpd.conf
В минимальной конфигурации необходимо задать параметры, выделенные жирным шрифтом, примеры удалить или закомментировать. # DNS серверы option domain-name-servers 192.168.0.1, 192.168.0.2;
# Время в секундах, по истечению которого клиент должен запросить продление аренды default-lease-time 600;
# Время аренды IP адреса в секундах # Клиент должен освободить IP-адрес, если в течение заданного времени аренду продлить не удалось # Если аренда не продлена, сервер может выдать этот адрес другому клиенту max-lease-time 7200;
# Выдавать клиенту новый адрес, если запрошенный клиентом адрес не входит в пул сервера authoritative;
# Источник, который будет указан при отправке сообщений в Syslog log-facility local7;
# Декларация подсети subnet 192.168.0.0 netmask 255.255.255.0 {
# Пул динамических адресов range 192.168.0.129 192.168.0.189; # Шлюз option routers 192.168.0.1;
}
# Задать фиксированный IP-адрес для хоста #host Name { # hardware ethernet 00:26:5e:66:6c:08; # fixed-address 192.168.0.190; #}
Настройка логов ISC DHCP Server
Редактируем syslog.conf: ee /etc/syslog.conf
Сохраняем сообщения о присвоении адресов в dhcpd.log, предупреждения и ошибки дублируем в messages.
Добавляем следующие строки: !dhcpd *.info -/var/log/dhcpd.log !*
Задаем параметры ротации.
Проверяем, поддерживается ли вашей системой newsyslog.conf.d ls /etc/newsyslog.conf.d && echo ok
Если в вашей системе отсутствует папка newsyslog.conf.d, редактируем newsyslog.conf: ee /etc/newsyslog.conf
Если папка newsyslog.conf.d имеется, создаем папку с тем же именем в /usr/local/etc: mkdir /usr/local/etc/newsyslog.conf.d
Создаем файл c правилами ротации логов: ee /usr/local/etc/newsyslog.conf.d/isc-dhcp-server
Ежедневная ротация в полночь с сохранением логов за неделю: /var/log/dhcpd.log 600 7 * @T00 JC
Создаем лог-файл: touch /var/log/dhcpd.log
Перезагружаем конфигурацию syslogd: service syslogd reload
Редактируем rc.conf: ee /etc/rc.conf
Включаем запуск ISC DHCP Server, и задаем сетевые интерфейсы, обслуживаемые нашим сервером: dhcpd_enable=«YES» dhcpd_ifaces=«fxp0»
Запуск dhcpd: service isc-dhcpd start
В случае успешного запуска видим следующий текст: Internet Systems Consortium DHCP Server 4.1-ESV-R3 Copyright 2004-2011 Internet Systems Consortium. All rights reserved. For info, please visit https://www.isc.org/software/dhcp/ Wrote 1 leases to leases file. Listening on BPF/fxp0/08:00:27:a9:a8:7d/192.168.0.0/24 Sending on BPF/fxp0/08:00:27:a9:a8:7d/192.168.0.0/24 Sending on Socket/fallback/fallback-net
Если ошибок при запуске не возникло, проверяем, раздаются ли IP-адреса.
Для принудительного обновления IP-адреса в Windows, в командной строке используем команды:
ipconfig /release ipconfig /renew
Проверяем лог-файл: cat /var/log/dhcpd.log
В случае проблем, анализируем DHCP трафик: tcpdump -vni fxp0 udp port 67
Текущий список динамически выделенных адресов хранится в обычном текстовом файле /var/db/dhcpd/var/db/dhcpd/dhcpd.leases
На верхнем уровне файла конфигурации, расположенного в /etc/dhcp/dhcpd.conf, нужно определить свой настраиваемый параметр:
option voip-tftp-server code 150 = { ip-address };
Затем в строфе подсети, нужно предоставить параметр с соответствующим значением.
subnet 192.168.0.0 netmask 255.255.255.0 { [...] option voip-tftp-server 10.101.0.10; }
Это может быть:
опция tftp-servers code 150 = массив ip-адреса; опции tftp-servers 10.20.10.1, 10.20.11.1;
DHClient в FreeBSD включен по умолчанию. Чтобы начать его использовать, следует прописать в файле /etc/rc.conf строку следующего вида:
ifconfig_fxp0="DHCP"
и так для каждого интерфейса, настройки которого вы планируете получать от DHCP сервера. Обычно этого достаточно и настройки DHCP клиента по умолчанию достаточно хороши в большинстве случаев. Однако существует еще несколько параметров, которые можно прописать для использования во время загрузки:
dhcp_program="/sbin/dhclient" dhcp_flags=""
Также существует ряд параметров командной строки:
-b Заставляет dhclient перейти в режим фоновой работы. -c file Определяет альтернативное положение конфигурационного файла. -d Заставляет dhclient всегда работать на переднем плане. -l file Определяет альтернативное положение файла с данными о предыдущих полученных конфигурациях. -q Заставляет dhclient быть менее многословным при загрузке. -u Заставляет dhclient не принимать конфигурации с неизвестными параметрами в них. По умолчанию, DHCP клиент принимает такие конфигурации.
Напомню, что настройки клиента по умолчанию находится в файле /etc/dhclient.conf А предыдущие полученные настройки сетевых интерфейсов в файлах /var/db/dhclient.leases.IFNAME, где IFNAME - имя интерфейса.
Для получения IP адреса от DHCP-сервера, использую следующую команду:
dhclient vlan1 DHCPDISCOVER on vlan1 to 255.255.255.255 port 67 interval 3 DHCPOFFER from 10.190.0.1 DHCPREQUEST on vlan1 to 255.255.255.255 port 67 DHCPACK from 10.190.0.1 bound to 10.190.0.2 -- renewal in 1800 seconds.
где vlan1 имя интерфейса который должен получить IP адрес.
В случае успешного получения адреса в файле /var/db/dhclient.leases.alc0 должна появится запись наподобие:
lease { interface "alc0"; fixed-address 10.190.0.98; option subnet-mask 255.255.248.0; option routers 10.190.0.1; option domain-name-servers 213.234.192.8,85.21.192.3; option host-name "mgmt"; option domain-name "beeline"; option interface-mtu 576; option broadcast-address 255.255.255.255; option dhcp-lease-time 7200; option dhcp-message-type 5; option dhcp-server-identifier 10.190.0.1; renew 5 2019/5/17 03:43:23; rebind 5 2019/5/17 04:28:23; expire 5 2019/5/17 04:43:23; }
Настройка dhcp сервера freebsd
Ссылки:
http://itadept.ru/freebsd-dhcp-server
http://sergeysl.ru/freebsd-isc-dhcp-server
http://bezopasniku.ru/unix/dok/FreeBSD/dok/374.htm
http://bezopasniku.ru/unix/dok/FreeBSD/dok/430.htm
http://freebsdlog.blogspot.ru/2011/06/dhcp-dhclient-freebsd.html
https://www.freebsd.org/doc/ru/books/handbook/network-dhcp.html
http://lantan.chat.ru/dhcp-options.5.html
https://rtfm.co.ua/linux-poluchenie-adresa-po-dhcp-i-rabota-s-dhclient
https://www.freebsd.org/doc/ru/books/handbook/network-dhcp.html
https://ubuntugeeks.com/questions/84839/how-can-i-configure-isc-dhcpd-to-provide-option-150-for-cisco-phones