Содержание •Установка 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
Редактируем файл конфигурации: 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; #}
Редактируем 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://www.opennet.ru/man.shtml?topic=dhcpd.leases&category=5&russian=0
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