- Введение
- Параметры стенда
- Установка версии пакета DHCP, поддерживающей работу с LDAP
- Установка плагина
- Настройка службы DHCP
- DHCP
- Установка пакета
- Настройка
- Проверка работоспособности сервиса
- Указание параметров домена
- Указание параметров сетевой загрузки
- Указание параметров резервирования IP по MAC-адресу
- Быстрая настройка
- Динамическое обновление DNS FreeIPA
- Введение
- Настройка обновления с клиентских машин (SSSD)
- Настройка централизованного обновления через сервер DHCP
- Создание ключей
- Настройка сервера DNS FreeIPA
- Настройка сервера DHCP
- Установка клиентов с включением автоматического обновления
- Проверка успешности настройки
Введение
При стандартной установке службы DHCP настройки я этой службы хранятся в локальном конфигурационном файле /etc/dhcp/dhcpd.conf. При сложной конфигурации сети удобнее хранить конфигурации служб централизованно, в единой базе данных. В качестве такой базы данных можно использовать службу каталогов FreeIPA. Далее описывается установка и настройка службы DHCP для работы с конфигурациями, хранящимися в службе каталогов FreeIPA. Данные настройки могут применяться как для размещения службы DHCP непосредственно на сервере FreeIPA, так и для размещения на отдельном сервере.
Для успешной настройки все операции разрешения имен должны выполняться через DNS-сервер контроллера домена, т.е. в файле /etc/resolv.conf должна быть только одна запись nameserver, указывающая IP-адрес контроллера домена.
Параметры стенда
- Сеть 10.0.2.0/24;
- Адрес маршрутизатора (шлюза) сети 10.0.2.1;
- Имя домена FreeIPA ipadomain.ru;
- Имя сервера FreeIPA ipaserver.ipadomain.ru;
- IP-адрес сервера FreeIPA 10.0.2.10
- IP-адрес сервера DNS 10.0.2.10 (совпадает с адресом сервера FreeIPA так как функции сервера DNS выполняет сервер FreeIPA).
Установка версии пакета DHCP, поддерживающей работу с LDAP
Для работы с доменными службами нужен вариант пакета DHCP, собранный для работы со службой каталогов (LDAP). Если ранее был установлен обычный DHCP-сервер (пакет isc-dhcp-server), то его необходимо удалить:
И установить вариант сервера, поддерживающий работу со службой каталогов (пакет isc-dhcp-server-ldap):
В Astra Linux Special Edition x.7 пакет isc-dhcp-server-ldap доступен в базовом репозитории (см. Репозитории Astra Linux Special Edition x.7: структура, особенности подключения и использования).
В обновлениях Astra Linux Special Edition, выпущенных ранее очередного обновления x.7, пакет isc-dhcp-server-ldap доступен на диске со средствами разработки.
Установка плагина
- Скачать пакет для регистрации службы (предварительно должен быть установлен пакет git):
Пакет будет сохранен в текущем каталоге в подкаталоге freeipa-plugin-dhcp.
- Заменить в файле freeipa-plugin-dhcp/install.sh путь
IPALIB_DEST=/usr/lib/python2.7/site-packages/ipaserver/plugins/
IPALIB_DEST=/usr/lib/python3/dist-packages/ipaserver/plugins/
IPALIB_DEST=/usr/lib/python2.7/dist-packages/ipaserver/plugins/
except (AttributeError, ValueError):
Настройка службы DHCP
. INTERFACESv4="eth0" #INTERFACESv6=""
# dhcpd.conf
# Sample configuration file for ISC dhcpd
# option definitions common to all supported networks.
option domain-name «ipadomain.ru»;
option domain-name-servers 10.0.2.10;
default-lease-time 600;
max-lease-time 7200;
ldap-server «ipaserver.ipadomain.ru»;
ldap-port 389;
ldap-username «cn=Directory Manager»; ldap-password «12345678»;
ldap-base-dn «dc=ipadomain,dc=ru»;
ldap-method dynamic;
ldap-debug-file «/var/log/dhcp-ldap-startup.log»;
# The ddns-updates-style parameter controls whether or not the server will attempt to do a DNS update when a lease is confirmed. We default to the behavior of the version 2 packages (‘none’, since DHCP v2 didn’t # have support for DDNS.)
ddns-update-style none;
# If this DHCP server is the official DHCP server for the local network, the authoritative directive should be uncommented.
authoritative;
Остальные параметры DHCP-сервер будет получать от доменной службы каталогов.
DHCP
Помимо описанной в настоящей статье службы DHCP isc-dhcp-server в состав Astra Linux упрощенная служба DHCP dnsmasq. Пример установки и настройки этой службы приведен в статье Терминальный сервер LTSP (ltsp-server-standalone) на базе Astra Linux.
Данная статья применима к:
- Astra Linux Special Edition РУСБ.10015-01 (очередное обновление 1.7)
- Astra Linux Special Edition РУСБ.10015-01 (очередное обновление 1.6)
- Astra Linux Special Edition РУСБ.10015-16 исп. 1и исп. 2
- Astra Linux Special Edition РУСБ.10265-01 (очередное обновление 8.1)
- Astra Linux Common Edition 2.12
Установка пакета
В состав дистрибутива ОС Astra Linux входит пакет DHCP-сервера isc-dhcp-server и графический инструмент для его быстрой настройки fly-admin-dhcp. Установка графического инструмента fly-admin-dhcp может быть выполнена из графического менеджера пакетов (см. Графический менеджер пакетов synaptic) , или из командной строки:
При установке f ly-admin-dhcp автоматически будет установлен также и isc-dhcp-server .
После установки инструмент может быть запущен из системного меню («Пуск» > «Панель управления» > «Сеть» > «DHCP сервер), или из командной строки.
Настройка
Конфигурация сервиса DHCP хранится в файлах /etc/default/isc-dhcp-server и /etc/dhcp/dhcpd.conf.
В файле /etc/default/isc-dhcp-server в параметрах INTERFACES нужно указать протоколы и сетевые интерфейсы, с которыми будет работать сервис.
При необходимости указать несколько сетевых интерфейсов, их можно перечислить через пробел.
Пример настроек (для протокола IPv4 используется интерфейс eth0, работа по протоколу IPv6 запрещена):
Список имеющихся интерфейсов можно проверить командой
В файле /etc/dhcp/dhcpd.conf указывается топология сети, и параметры выдаваемой через DHCP информации.
При этом, в самом этом файле имеется много примеров задания параметров.
Для того, чтобы сервис запустился, указанному в файле /etc/default/isc-dhcp-server сетевому интерфейсу должен быть присвоен IP-адрес.
С учетом того, что DHCP сервис мы только настраиваем, автоматически получить адрес не получится, то есть адрес нужно назначить вручную до запуска сервиса.
Неудачный запуск с ошибкой при запуске «Not configured to listen on any interfaces!» говорит о том, что у сетевого интерфейса нет IP-адреса.
При запуске сервера с отключенным IPv6 может выдаваться сообщение об ошибке запуска, связанное с тем, что не может запуститься часть сервиса, отвечающая за работу с IPv6.
При этом часть, работающая с IPv4, запускается и работает нормально.
Проверка работоспособности сервиса
Для проверки работоспособности сервиса можно установить и использовать команду nmap:
Указание параметров домена
Особо следует отметить важные для обеспечения работы в составе домена возможности задания в параметрах выдаваемой информации имени домена и адреса DNS-сервера:
option domain-name «somedomain.example.com»;
option domain-name-servers 10.0.2.254;
Указание параметров сетевой загрузки
Для указания какой файл и откуда загрузить при старте хоста используются параметры
- filename — имя файла для загрузки
- next-server — адрес сервера, с которого загрузить файл (в виде IP-адреса или в виде имени сервера)
subnet 10.0.2.0 netmask 255.255.255.0 range 10.0.2.10 10.0.2.100;
max-lease-time 86400;
option routers 10.0.2.1;
filename «pxelinux.0»;
next-server 10.0.2.254;
>
Указание параметров резервирования IP по MAC-адресу
Быстрая настройка
Быстрая настройка основных параметров DHCP для сети IPv4 может быть осуществлена через графический инструмент f ly-admin-dhcp .
Работа сервиса DHCP существенно влияет на работоспособность сети в целом, и случайное появление в сети неправильно настроенного сервера, некорректно отвечающего на запросы клиентов, может привести к существенным нарушения работы всей сети.
Для предотвращения случайных включений в настройках сервиса предусмотрена специальная защита: в конфигурационном файле /etc/dhcp/dhcpd.conf предусмотрен параметр authoritative. По умолчанию этот параметр оформлен как комментарий, и не действует. Для того, чтобы сервер действительно начал работать (отвечать на запросы), этот параметр нужно раскомментировать.
После завершения всех настроек следует перезапустить сервис:
Динамическое обновление DNS FreeIPA
Настройку DHCP для динамического обновления доменного DNS-сервиса FreeIPA см. в статье Динамическое обновление DNS клиентских машин FreeIPA
Введение
В больших сетях очевидна необходимость использования сервера DHCP для автоматического назначения IP-адресов компьютерам, при этом возникает необходимость поддержания соответствия имён компьютеров и назначенных им адресов. При этом:
- устанавливаемая на клиентских машинах служба SSSD умеет сообщать контроллеру домена о своём IP-адресе;
- входящий в дистрибутив Astra Linux сервер DHCP isc-dhcp-server имеет возможность автоматически сообщать доменному серверу DNS (DNS-сервер BIND9) о назначаемых клиентам адресах.
Таким образом обновление адресов можно выполнять либо по инициативе клиентских машин, либо централизованно с помощью DHCP-сервера.
Настройка обновления с клиентских машин (SSSD)
Для включения обновления в файл конфигурации службы SSSD /etc/sssd/sssd.conf в секцию с параметрами домена FreeIPA следует добавить опции:
[domain/. ] . # Включить обновление прямых записей (A/AAAA записей) dyndns_update = true # Включить обновление обратных записей (PTR записей) dyndns_update_ptr = true # Интервал обновления в секундах. По умолчанию - 0, и обновление выполняется только один раз при запуске службы SSSD. # Если интервал менее 60 секунд, то обновление выполняется раз в 60 секунд. # Если адрес после предыдущего обновления не изменялся - обновление не выполняется. dyndns_refresh_interval = 60
Авторизация по ключам Kerberos для такого обновления настраивается автоматически при установке сервера и клиентов FreeIPA.
При установке клиента можно использовать ключ —enable-dns-updates, автоматически задающий нужные настройки:
однако при этом будет добавлена только опция dyndns_update = true (однократное обновление A/AAAA записей при запуске системы при условии обнаружения изменений). Обновление PTR записей выполняться не будет.
Настройка централизованного обновления через сервер DHCP
Создание ключей
Создать ключ для сервера DHCP. Ключ будет автоматически сохранен в файле /etc/bind/rndc.key:
Настройка сервера DNS FreeIPA
Запустить WEB-интерфейс управления сервера FreeIPA и в свойствах необходимой ПРЯМОЙ зоны в разделе «Политика обновления BIND» добавить запись:
grant rndc-key wildcard * ANY;
В свойствах соответствующей ОБРАТНОЙ зоны в том же разделе «Политика обновления BIND» добавить запись:
grant rndc-key wildcard * PTR;
Сохранить изменения и перезапустить службы FreeIPA:
Настройка сервера DHCP
Установить DHCP-сервер в соответствии с инструкциями.
В файле настроек /etc/default/isc-dhcp-server указать интерфейс, через который должна работать служба:
Отредактировать файл конфигурации /etc/dhcp/dhcpd.conf (в примере подразумевается домен samdom.example.com и сеть 10.0.2.0/24 с адресом сервера FreeIPA/DNS 10.0.2.102):
ddns-updates on;
ddns-update-style standard;
include «/etc/bind/rndc.key»;
ddns-domainname «»;
update-static-leases on;
option domain-name «samdom.example.com«;
option domain-search «samdom.example.com«;
option domain-name-servers 10.0.2.102;
option dhcp-server-identifier 10.0.2.102;
#Следующая строка нужна только если используется Samba с WINS
#option netbios-name-servers 10.0.2.102;
default-lease-time 129600;
max-lease-time 1296000;
authoritative;
server-name «ipa.samdom.example.com«;
server-identifier 10.0.2.102;
#Эта подсеть должна соответствовать подсети вашей локальной сети, обращенной к устройству Ethernet.
Subnet 10.0.2.0 netmask 255.255.255.0 option broadcast-address 10.0.2.255;
option subnet-mask 255.255.255.0;
option routers 10.0.2.1;
pool range 10.0.2.10 10.0.2.100;
allow known-clients;
allow unknown-clients;
max-lease-time 86400;
default-lease-time 43200;
>
zone samdom.example.com. primary 127.0.0.1;
key «rndc-key»;
>
zone 2.0.10.in-addr.arpa. primary 127.0.0.1;
key «rndc-key»;
>
>
В отладочных целях можно задать заведомо маленький диапазон адресов:
и для гарантированного изменения адреса клиента заменять его на непересекающийся диапазон:
На клиентах обновить и проверить адрес можно командами:
После внесения изменений в конфигурационные файлы необходимо перезапускать сервис DHCP:
Если после неудачного запуска причина неудачного запуска устранена, а сервер всё равно не может стартовать, сообщая, что он уже запущен, следует удалить вручную файл /var/run/dhcpd.pid.
Установка клиентов с включением автоматического обновления
DHCP-сервер передавая записи об адресах клиентов DNS-серверу подписывает переданные записи своим ключём. Это исключает возможность изменения «чужих» записей. Поэтому, чтобы динамическое обновление работало, нужно создать запись с помощью DHCP-сервера. Для этого нужно обновить адрес от имени полного доменного имени компьютера (FQDN). Это можно сделать следующими командами, выполняемыми до выполнения команды ввода клиента в домен:
- client — имя клиентского компьютера;
- somedom.example.com — имя домена;
- client.somedom.example.com — полное доменное имя компьютера.
Эти команды должны быть выполнены до ввода компьютера в домен.
Проверка успешности настройки
Проверить работу динамического обновления можно запустив отдельный компьютер, настроенный на получение сетевого адреса по DHCP.
После включения такого компьютера и получения им адреса этот компьютер станет доступен по имени.
Например, для компьютера с именем client можно попробовать для проверки следующие команды: