Данная статья применима к:
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
Для настройки FreeIPA используется сторонний пакет, не входящий в Astra Linux: https://github.com/Turgon37/freeipa-plugin-dhcp
Введение
При стандартной установке службы DHCP конфигурация этой службы хранится в локальном конфигурационном файле /etc/dhcp/dhcpd.conf. При наличии нескольких DHCP-серверов и сложной конфигурации сети удобнее хранить конфигурации служб централизованно, в единой базе данных. В качестве такой базы данных можно использовать службу каталогов FreeIPA. Далее описывается установка и настройка службы DHCP для работы с конфигурациями, хранящимися в службе каталогов FreeIPA. Данные настройки могут применяться как для размещения службы DHCP непосредственно на сервере FreeIPA, так и для размещения на отдельном сервере.
Параметры стенда
- Сеть 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), то его необходимо удалить:
В обновлениях Astra Linux Special Edition, выпущенных ранее очередного обновления x.7, пакет isc-dhcp-server-ldap доступен на диске со средствами разработки.
Если служба DHCP размещается на отдельном компьютере, то:
- Назначить этому компьютеру статический IP-адрес;
- Ввести компьютер в домен FreeIPA;
Настройка сервера FreeIPA
Скачать пакет для регистрации службы (предварительно должен быть установлен пакет git):
sudo apt install gitПакет будет сохранён в текущем каталоге в подкаталоге freeipa-plugin-dhcp.
git clone https://github.com/Turgon37/freeipa-plugin-dhcp.gitИсправить пакет, заменив в файле freeipa-plugin-dhcp/install.sh путь
IPALIB_DEST=/usr/lib/python2.7/site-packages/ipaserver/plugins/
на
IPALIB_DEST=/usr/lib/python2.7/dist-packages/ipaserver/plugins/
Команда для замены:
sed -i "s~IPALIB_DEST=/usr/lib/python2.7/site-packages/ipaserver/plugins/~IPALIB_DEST=/usr/lib/python2.7/dist-packages/ipaserver/plugins/~" freeipa-plugin-dhcp/install.shВыполнить установку:
sudo freeipa-plugin-dhcp/install.shОткрыть WEB-интерфейс FreeIPA:
firefox https://`hostname`- В закладке "Сетевые службы"В закладке "Сетевые службы" выбрать службу DHCP;
- Выбрать пункт меню "Configuration";
В Domain Name указать имя домена:
ipadomain.ruВ Domain Name Servers указать IP-адрес DNS-сервера:
10.0.2.10
- Выбрать пункт меню 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 в файле /etc/systemd/system/multi-user.target.wants/ipa.service в секции [Unit]:
Если параметр Before уже есть (Astra Linux Special Edition), то дописать к уже существующим сервисам через пробел isc-dhcp-server.service:
Before=parsec.service isc-dhcp-server.service
Если параметр Before отсутсвует (Astra Linux Common Edition), то добавить строку:
Before=isc-dhcp-server.service
Перезапустить службу DHCP. Лучше двумя командами stop-start, а не одной restart:
sudo systemctl stop isc-dhcp-server
sudo systemctl start isc-dhcp-server