Инструменты пользователя

Инструменты сайта


freebsd:dhcp

Настраиваем DHCP сервер для офисной сети.

Содержание •Установка 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

Запуск ISC DHCP Server

Редактируем 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

Настройка isc-dhcpd для предоставления опции 150 для телефонов Cisco.

На верхнем уровне файла конфигурации, расположенного в /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;

Настройка dhcp клиента dhclient в FreeBSD

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

freebsd/dhcp.txt · Последние изменения: 2022/01/03 18:09 — alex