Оглавление |
---|
Информация | ||
---|---|---|
| ||
|
Предупреждение |
---|
|
Введение
При стандартной установке службы 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), то его необходимо удалить:
Command |
---|
dpkg -s isc-dhcp-server && sudo apt purge isc-dhcp-server |
И установить вариант сервера, поддерживающий работу со службой каталогов (пакет isc-dhcp-server-ldap):
Предупреждение |
---|
В Astra Linux Special Edition x.7 пакет isc-dhcp-server-ldap доступен в базовом репозитории (см. Репозитории Astra Linux Special Edition x.7: структура, особенности подключения и использования). |
Command |
---|
sudo apt install isc-dhcp-server-ldap |
Если служба DHCP размещается на отдельном компьютере, то:
- Назначить этому компьютеру статический IP-адрес;
- Ввести компьютер в домен FreeIPA;
Установка плагина
Сценарий для быстрой установки: freeipa-dhcp-plugin-install-v2.sh.
Установка по шагам:
Скачать пакет для регистрации службы (предварительно должен быть установлен пакет git):
Command sudo apt install git
git clone https://github.com/Turgon37/freeipa-plugin-dhcp.gitПакет будет сохранен в текущем каталоге в подкаталоге freeipa-plugin-dhcp.
Исправить пакет:
Заменить в файле freeipa-plugin-dhcp/install.sh путь
Блок кода IPALIB_DEST=/usr/lib/python2.7/site-packages/ipaserver/plugins/
на путь:
Для Astra Linux Special Edition РУСБ.10015-01 очередное обновление 1.7:
Блок кода IPALIB_DEST=/usr/lib/python3/dist-packages/ipaserver/plugins/
Для Astra Linux Special Edition РУСБ.10015-01 очередное обновление 1.6:
Блок кода IPALIB_DEST=/usr/lib/python2.7/dist-packages/ipaserver/plugins/
Только для Для Astra Linux Special Edition РУСБ.10015-01 очередное обновление 1.7 изменить в файле freeipa-plugin-dhcp/ipaserver/dhcp.py строку
Command except AttributeError, ValueError:
на строку:
Блок кода except (AttributeError, ValueError):
Выполнить установку:
Command sudo freeipa-plugin-dhcp/install.sh Предупреждение "Update failed: Server is unwilling to perform: Unknown attribute nsslapd-enable-upgrade-hash will be ignored" можно игнорировать;
Настройка службы DHCP
Открыть WEB-интерфейс FreeIPA:
Command firefox https://`hostname` Информация Более подробную информацию по настройке службы DHCP см. в статье DHCP-сервер ISC-DHCP В закладке "Сетевые службы" выбрать службу DHCP;
Информация Работа с комментариями в записях DHCP не поддерживается. - Выбрать пункт меню "Configuration";
В Domain Name указать имя домена, например:
Информация ipadomain.ru В Domain Name Servers указать IP-адрес DNS-сервера, например:
Информация 10.0.2.10
- Для нормальной работы службы DHCP в настройках службы должен быть задан хотя бы один диапазон назначаемых адресов. Этот диапазон должна находиться внутри сети, в которой работает служба. Для задания диапазона:
- Выбрать пункт меню Subnets;
Добавить подсеть, например:
Информация 10.0.2.0/24 Перейти в форму добавленной подсети;
В характеристиках подсети в поле "DHCP Statements" добавить опцию диапазон адресов, например:
Информация range 10.0.2.11 10.0.2.99 В характеристиках подсети в поле "DHCP Options" добавить маршрутизатор сети, например:
Информация routers 10.0.2.1
- Выбрать пункт меню Servers;
- Выбрать компьютер из выпадающего списка (чтобы компьютер появился в этом списке он должен быть введен в домен) и нажать кнопку "Добавить";
- Выбрать компьютер из выпадающего списка (чтобы компьютер появился в этом списке он должен быть введен в домен) и нажать кнопку "Добавить";
- Выбрать пункт меню "Configuration";
Выполнить настройку сетевых подключений службы DHCP (подробнее см.статью DHCP), для чего в конфигурационном файле /etc/default/isc-dhcp-server указать сетевые интерфейсы, с которыми будет работать сервер, например:
Блок кода ... INTERFACESv4="eth0" #INTERFACESv6=""
В конфигурационном файле /etc/dhcp/dhcpd.conf указать параметры домена и параметры подключения к службе каталогов. Минимальная рабочая конфигурация выглядит так:
Информация # 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 до запуска служб FreeIPA:
выполнить команду:
Command sudo systemctl edit isc-dhcp-server.service Ввести следующие данные:
Блок кода [Unit] After=ipa.service
- Сохранить изменения (при использовании редактора nano - Ctrl-X - Y - Enter);
Перезапустить службу DHCP. Лучше двумя командами stop-start, а не одной restart:
Command sudo systemctl stop isc-dhcp-server
sudo systemctl start isc-dhcp-server