2.5.1.2 Базовая настройка DHCP
Скачать документУстановка и первоначальная настройка
Устанавливаем DHCP:
dnf install dhcp-server
Настройки для диапазона адресов IPv4 производятся в файле /etc/dhcp/dhcpd.conf. Пример данного файла можно посмотреть в файле /usr/share/doc/dhcp-4.2.5/dhcpd.conf.example. Ваша версия dhcpd в пути может отличаться.
Вы можете подробнее ознакомиться c базовой настройкой DHCP, просмотрев наши обучающие видео:
на RuTube — Базовая настройка DHCP;
в Яндекс.Дзен — Базовая настройка DHCP;
в VK Видео — Базовая настройка DHCP.
На наших каналах вы также сможете найти много другой полезной информации.
Теперь откроем на редактирование конфигурационный файл:
nano /etc/dhcp/dhcpd.conf
Подсети обозначаются блоками, пример такого блока представлен ниже:
subnet 192.168.0.0 netmask 255.255.255.0 { range 192.168.0.0 192.168.0.100; range 192.168.0.120 192.168.0.254; option domain-name-servers 192.168.0.10, 192.168.0.11; option domain-name "redos.test"; option routers 192.168.0.1; option broadcast-address 192.168.0.255; default-lease-time 600; max-lease-time 7200; }
* где
- subnet обозначает сеть, в области которой будет работать данная группа настроек;
- range — диапазон, из которого будут браться IP-адреса, диапазон адресов 192.168.0.101—192.169.0.120 выдаваться не будет;
- option domain-name-servers — через запятую перечисленные DNS-сервера;
- option domain-name — суффикс доменного имени;
- option routers — шлюз по умолчанию;
- option broadcast-address — адрес сети для широковещательных запросов;
- default-lease-time, max-lease-time — время и максимальное время в секундах, на которое клиент получит адрес, по его истечению будет выполнено продление срока.
Добавляем правило в firewalld:
firewall-cmd --permanent --add-service=dhcp firewall-cmd --reload
Некоторые дополнительные параметры
option domain-name string; — Параметр задает доменное имя, которое клиенты используют при запросах к DNS, при разрешении имен.
option netbios-name-servers <ip-address> [, ip-address...]; — Задает список серверов имен NetBIOS (NBNS), соответствующих RFC 1001/1002. Сервера должны быть перечислены в порядке предпочтительности. Сервера имен NetBIOS также известны как сервера WINS.
option netbios-dd-server <ip-address> [, ip-address...]; — Опция сервера распределения данных NetBIOS (NBDD) указывает список серверов RFC 1001/1002 NBDD. Серверы должны быть перечислены в порядке предпочтения.
option netbios-node-type INT; — Параметр позволяет сконфигурировать тип узла, т.е. способ разрешения имен клиентами NetBIOS поверх TCP/IP.
Возможные значения параметра:
1 B-node (Broadcast): Разрешение имен с помощью широковещательных запросов, WINS не используется.
2 P-node (Peer): Используется только WINS.
4 M-node (Mixed): Смешанный тип, сначала используется широковещательный запрос, затем в случае неудачи - WINS
8 H-node (Hybrid): Смешанный наоборот. WINS, а затем broadcast.
option netbios-scope string; — Опция области NetBIOS указывает параметр NetBIOS через TCP/IP для клиента, как указано в RFC 1001/1002. См. RFC1001, RFC1002 и RFC1035 для ограничения набора символов.
BOOTP
Каждый клиент BOOTP может быть настроен отдельно в файле dhcpd.conf. Самая простая конфигурация состоит из адреса сетевой карты и IP-адреса, назначаемого этому клиенту. Если клиент должен быть загружен с сервера, указывается загрузочный образ. Простая конфигурация для клиента BOOTP может выглядеть так:
host haagen { hardware ethernet 08:00:2b:4c:59:23; fixed-address 239.252.197.9; filename "/tftpboot/haagen.boot"; }
Дополнительные параметры.
Включение и отключение bootp
allow bootp;
deny bootp;
Параметр bootp сообщает серверу dhcp обрабатывать или нет bootp-запросы. По умолчанию bootp-запросы разрешены.
Параметр dynamic-bootp в секции range указывается в случае, если предполагается назначать адреса из диапазона клиентам по протоколу BOOTP.
Необходима хотя бы одна секция host для каждого BOOTP-клиента, обслуживаемого сервером. Так же host может быть указана для DHCP-клиентов, хотя это и не обязательно, если только не требуется раздача адресов только определенным клиентам.
Если требуется обеспечить выдачу фиксированных адресов и конфигурацию клиентов по протоколам DHCP или BOOTP в более, чем одной подсети, то можно указать несколько адресов с помощью параметра fixed-address или указать несколько секций host.
Если клиентские параметры меняются в зависимости от сети, к которой подключен клиент, то необходимо использовать множественные записи host.
<имя_хоста> - имя, идентифицирующее хост. Если в описании хоста опция hostname не указана, то используется значение <имя_хоста>.
Объявления Host сопоставляются с реальными DHCP или BOOTP-клиентами путем сравнения опции dhcp-client-identifier, указанной в секции host со значением, предоставленным клиентом, или если клиент не предоставляет dhcp-client-identifier, то путем сравнения опции hardware и аппаратного (mac) адреса клиента. Клиенты BOOTP нормально не предоставляют dhcp-client-identifier, так что, при работе по протоколу BOOTP, необходимо использовать mac-адреса.
hardware <тип_железа> <аппаратный_адрес>;
Для того что бы BOOTP-клиент был опознан сервером, его mac-адрес должен быть объявлен с помощью параметра hardware в секции host параметр <тип_железа> - тип физического интерфейса. В настоящее время используются только ethernet и token-ring и, возможно, скоро будут реализованы другие типы, особенно fddi.
<аппаратный_адрес> - записывается как набор шестнадцатеричных значений ( от 0 до ff ), разделенных двоеточиями. Параметр hardware можно использовать и для DHCP-клиентов.
Параметр dynamic-bootp-lease-cutoff
dynamic-bootp-lease-cutoff <дата>;
Параметр dynamic-bootp-lease-cutoff устанавливает момент времени, в который все адреса, назначенные клиентам BOOTP, должны быть освобождены. Так как клиенты BOOTP не имеют возможности продлить срок использования полученных адресов и не могут определить, что срок аренды истек, то по умолчанию клиентам BOOTP адреса выделяются на неограниченный срок. Однако в некоторых случаях оказывается полезным установить параметр dynamic-bootp-lease-cutoff, например в учебном заведении при окончании семестра или в ночное время, когда предприятие не работает, а все компьютеры выключены.
<дата> - срок окончания действия всех адресов, выделенных BOOTP-клиентам. Дата указывается в следующем формате: W ГГГГ/ММ/ДД ЧЧ:ММ:СС .
W - день недели в виде числа от 0 (воскресенье) до 6 (суббота);
ГГГГ - год;
ММ - месяц 1..12;
ДД - день месяца 1..31;
ЧЧ - часы 0..23 ММ - минуты 0..59;
СС - секунды 0..59.
Время указывается в GMT, а не местное.
Параметр dynamic-bootp-lease-length
dynamic-bootp-lease-length <время_в_секундах>;
Параметр dynamic-bootp-lease-length используется для указания срока, на который выделяется адрес BOOTP-клиенту. В некоторых организациях возможна ситуация, что по прошествии определенного времени можно быть уверенным, что выделенный адрес уже не используется. Период задается числом секунд. Если клиент перезагружается в момент, когда срок, указанный в этом параметре еще не истек, то период аренды адреса заново устанавливается в указанное значение. Таким образом, часто перезагружаемые BOOTP-клиенты могут постоянно удерживать свой адрес. Необходимо заметить, что при настройке параметра следует быть осторожным.
always-reply-rfc1048 <on/off>;
Некоторые BOOTP-клиенты ожидают ответа от сервера в стиле RFC1048, но сами не следуют RFC1048 при посылке запросов. Если в вашей сети имеется такой проблемный клиент, который не воспринимает параметры, передаваемые ему сервером, и если в логах появляется сообщение "(non-rfc1048)" , то можно воспользоваться этим параметром.
Если у вас все клиенты требуют работы в стиле RFC1048, то можно использовать параметр always-reply-rfc1048. Параметр может быть указан в любом объявлении, в этом случае - воздействует только на тех клиентов, которые соответствуют указанной зоне действия.
Резервирование ip-адреса за клиентом
Хост с именем myhost, у которого сетевая карта имеет MAC 08:45:32:00:00:23 должен иметь постоянный адрес 192.168.1.121.
host myhost { hardware ethernet 08:45:32:00:00:23; fixed-address 192.168.1.121; }
Определенный интерфейс для работы
Если в системе присутствует несколько сетевых адаптеров, а сервер DHCP должен работать только для определенных, открываем на редактирование следующий файл:
vi /etc/sysconfig/dhcpd
И добавляем в него следующее:
DHCPDARGS=enp0s8
* в данном примере сервер будет работать только для интерфейса enp0s8.
Перед запуском убедитесь, что сетевой адаптер enp0s8 настроен для работы в создаваемой сети. Для этого создайте файл /etc/sysconfig/network-scripts/ifcfg-enp0s8 со следующим содержимым.
TYPE="Ethernet" BOOTPROTO="none" DNS1="192.168.0.1" IPADDR0="192.168.0.1" PREFIX0=24 GATEWAY0=192.168.0.1 DEFROUTE="yes" PEERDNS="yes" PEERROUTES="yes" IPV4_FAILURE_FATAL="no" IPV6INIT="yes" IPV6_AUTOCONF="yes" IPV6_DEFROUTE="yes" IPV6_PEERDNS="yes" IPV6_PEERROUTES="yes" IPV6_FAILURE_FATAL="no" IPV6_ADDR_GEN_MODE="stable-privacy" NAME="enp0s8" DEVICE="enp0s8" ON BOOT="yes"
Разрешаем автозапуск сервиса:
systemctl enable dhcpd
и запускаем его:
systemctl start dhcpd
Настройка логов
По умолчанию, сервер dhcp ведет лог в файле /var/log/messages, что не очень удобно, так как это общий лог-файл, в котором может находиться много записей.
Для того чтобы сервер сохранял записи в отдельный файл, открываем на редактирование rsyslog.conf:
vi /etc/rsyslog.conf
И добавляем следующее:
local6.* /var/log/dhcp.log
Далее открываем конфигурационный файл dhcp:
nano /etc/dhcp/dhcpd.conf
И добавляем:
log-facility local6;
Перезапускаем сервисы:
systemctl restart dhcpd systemctl restart rsyslog
Настройка DHCP-сервера для работы с сервером PXE
Отредактируйте файл /etc/dhcp/dhcpd.conf ,
# vi /etc/dhcp/dhcpd.conf
Добавьте строку в конец файла до фигурной скобки.
filename "pxelinux.0";next-server <имя_сервера>;}
Параметр next-server используется для указания клиенту адреса сервера, с которого должен быть получен загрузочный файл (тот самый файл, что указан в параметре filename). <Имя_сервера> может быть IP-адресом или доменным именем. Если этот параметр не указан, то используется адрес DHCP-сервера.
Дата последнего изменения: 10.09.2024
Если вы нашли ошибку, пожалуйста, выделите текст и нажмите Ctrl+Enter.