2.9.20.3.4 Установка сервера IPA без интегрированного ЦС
Предварительная подготовка
Синхронизация времени
Назначение серверу доменного имени
Настройка Java OpenJDK
Установка необходимых пакетов
Подготовка сертификатов
Настройка сервера
Настройка сервера в интерактивном режиме
Настройка в автоматическом режиме
Проверка работоспособности
Настройка брандмауэра
Подключение клиентских машин
Окружение
- Версия ОС: 7.3
- Конфигурация ОС: Рабочая станция, Сервер графический, Сервер минимальный
- Редакция ОС: Стандартная
- Архитектура: x86_64
- Версия ПО: ipa-server-4.10.3-9, ipa-server-dns-4.10.3-9
Предварительная подготовка
Перед развертыванием контроллера домена на сервере необходимо выполнить предварительную настройку. Далее приведен ряд действий, которые рекомендуется выполнить перед установкой FreeIPA-сервера для обеспечения корректной работы программного обеспечения.
Вы можете подробнее ознакомиться с информацией по установке в РЕД ОС сервера IPA, просмотрев наши обучающие видео:
на RuTube — Установка и настройка FreeIPA в РЕД ОС;
в Яндекс.Дзен — Установка и настройка FreeIPA в РЕД ОС;
в VK Видео — Установка и настройка FreeIPA в РЕД ОС.
На наших каналах вы также сможете найти много другой полезной информации.
Синхронизация времени
Для настройки синхронизации времени выполните настройку службы chrony
. Подробную информацию см. в нашей статье «Установка и настройка chrony».
Назначение серверу доменного имени
IP-адрес сервера не должен изменяться. Рекомендуется установить IP-адрес сервера статическим в используемой сети.
Аутентификация Kerberos основана на использовании статического имени хоста. Если имя хоста изменится, аутентификация Kerberos может нарушиться.
Имя хоста должно быть задано в файле /etc/hostname, например, использованием команды вида:
hostnamectl set-hostname <имя_хоста>.<домен>
Полное доменное имя должно соответствовать следующим условиям:
- имя должно состоять только из цифр (0-9), букв (a-z) и дефисов (-); другие символы, например, символы подчеркивания (_) в имени хоста вызывают сбои DNS;
- должны использоваться только строчные буквы (a-z); прописные буквы (A-Z) не допускаются;
- полное доменное имя должно преобразовываться в общедоступный IP-адрес машины, а не в 127.0.0.1.
В рассматриваемом примере серверу будет назначено имя server.redosipa.test:
hostnamectl set-hostname server.redosipa.test
Настройка Java OpenJDK
Для того чтобы при установке избежать появления ошибки CA configuration failed
, выполните следующие действия:
1. Убедитесь, что используется Java OpenJDK версии 8:
java -version
2. Если используется Java 17, то необходимо переключиться на 8-ую версию. Для этого выполните команды:
update-alternatives --config java update-alternatives --config jre_openjdk
в каждой выберите нужную версию, указав ее порядковый номер. После чего нажмите Enter.
3. Удалите пакеты прочих версий Java OpenJDK:
rpm -e java-17-openjdk-headless --nodeps rpm -e java-21-openjdk-headless --nodeps
Установка необходимых пакетов
Для развертывания IPA-сервера со встроенными службами DNS и без интегрированного ЦС установите следующие пакеты:
dnf install ipa-server-dns
В процессе установки автоматически устанавливаются другие необходимые пакеты в качестве зависимостей, например, 389-ds-base для службы LDAP сервера каталогов, пакет krb5-server для службы Kerberos и пр.
Подготовка сертификатов
Подготовка сертификатов осуществляется только в том случае, если развертывание сервера FreeIPA будет производиться без интегрированного центра сертификации (ЦС, CA).
Создайте корневой сертификат:
openssl req -x509 -sha256 -days 3650 -newkey rsa:2048 -keyout ca.key -out ca.crt -subj "/CN=redosipa.test"
где:
req
– команда создания сертификатов или запросов на сертификаты;-x509
– создание именно сертификата, а не запроса;-sha256
– алгоритм хеширования для создания подписи ключа;-days 3650
– выпуск сертификата на 10 лет;-new
– новый сертификат (потребуется ввести значения некоторых полей в сертификате);-newkey rsa:2048
– генерация нового закрытого ключа, из которого затем будет создан открытый;-keyout ca.key
– имя файла закрытого ключа;-out ca.crt
– имя сформированного файла сертификата;-subj "/CN=redosipa.test"
– имя домена (Common Name).
Сгенерируйте ключ и файл запроса сертификата KDC, который необходим для аутентификации по протоколу Kerberos, с помощью следующих команд:
openssl genrsa -out kdc.key 2048
openssl req -new -key kdc.key -out kdc.csr -subj "/CN=server.redosipa.test"
Создайте файл расширений kdc.ext:
nano ./kdc.ext
со следующим содержимым:
[kdc_cert]
basicConstraints=CA:FALSE
# Here are some examples of the usage of nsCertType.
#If it is omitted
keyUsage = critical, nonRepudiation, digitalSignature, keyEncipherment, keyAgreement
#Pkinit EKU
extendedKeyUsage = 1.3.6.1.5.5.7.3.1, 1.3.6.1.5.2.3.5
#extendedKeyUsage=serverAuth, id-pkkdcekuoid
subjectKeyIdentifier=hash
authorityKeyIdentifier=keyid,issuer
# Copy subject details
issuerAltName=issuer:copy
# Add id-pkinit-san (pkinit subjectAlternativeName)
# Also add the KDC fqdn, for good measure.
subjectAltName=otherName:1.3.6.1.5.2.2;SEQUENCE:kdc_princ_name,DNS:server.redosipa.test
[kdc_princ_name]
realm = EXP:0, GeneralString:REDOSIPA.TEST
principal_name = EXP:1, SEQUENCE:kdc_principal_seq
[kdc_principal_seq]
name_type = EXP:0, INTEGER:1
name_string = EXP:1, SEQUENCE:kdc_principals
[kdc_principals]
princ1 = GeneralString:krbtgt
princ2 = GeneralString:REDOSIPA.TEST
Сгенерируйте сертификат KDC для домена с использованием файла расширений kdc.ext:
openssl x509 -req -in kdc.csr -CA ca.crt -CAkey ca.key -CAcreateserial -out kdc.crt -days 3650 -extfile kdc.ext -extensions kdc_cert
где:
x509
– создание сертификата методом подписания;-req
– если производится подпись файла запроса, необходимо использовать эту опцию;-CA ca.crt -CAkey ca.key
– корневая пара ключей;-extfile kdc.ext
– файл, содержащий расширения сертификатов;-in kdc.csr
,-out kdc.crt
– файл запроса и файл сертификата.
Преобразуйте ключ и сертификат KDC в формат PEM с помощью команды:
openssl pkcs12 -export -in kdc.crt -inkey kdc.key -certfile ca.crt -out kdc.p12 -passout pass:strongpassword
В файле /usr/share/ipa/updates/90-post_upgrade_plugins.update закомментируйте строку plugin: fix_kra_people_entry
.
На этом подготовка сертификатов завершена.
Настройка сервера
Настройку сервера можно запустить как в автоматическом, так и в интерактивном режиме.
Перед запуском автоматической настройки потребуется сразу указать все необходимые параметры, далее процесс настройки будет произведен без взаимодействия с администратором.
В процессе интерактивной настройки требуется взаимодействие с администратором – указание имени сервера, задание паролей администратора IPA/DM, подтверждение настроек и пр.
Настройка сервера в интерактивном режиме
Встроенный (интегрированный) DNS-сервер, предоставляемый FreeIPA, не предназначен для использования в качестве DNS-сервера общего назначения. Он поддерживает только функции, связанные с развертыванием и обслуживанием FreeIPA, но не поддерживает некоторые расширенные функции DNS.
Рекомендуется использовать интегрированный DNS для базового применения при развертывании FreeIPA: когда сервер FreeIPA управляет DNS, существует тесная интеграция между DNS и собственными инструментами FreeIPA, что позволяет автоматизировать управление записями DNS.
Обратите внимание, что если сервер FreeIPA используется в качестве главного DNS-сервера, другие внешние DNS-серверы могут использоваться в качестве дополнительных серверов.
В интерактивном режиме утилита запросит необходимую информацию, а затем настроит необходимые службы.
Для запуска интерактивной настройки IPA-сервера с интегрированным DNS, но без интегрированного ЦС в качестве корневого ЦС, предварительно подготовьте сертификаты согласно п. «Подготовка сертификатов».
Затем выполните команду:
ipa-server-install --dirsrv-cert-file=/<путь_к_файлу>/kdc.p12 \ --http-cert-file=/<путь_к_файлу>/kdc.p12 \ --pkinit-cert-file=/<путь_к_файлу>/kdc.p12 \ --dirsrv-pin strongpassword --http-pin strongpassword \ --pkinit-pin strongpassword --mkhomedir
Сценарий настройки сервера ipa-server-install создает файл журнала в /var/log/ipaserver-install.log. Если установка завершилась неудачно, журнал поможет определить проблему.
В интерактивной настройке установленные по умолчанию значения указываются в квадратных скобках. Если изменение установленного по умолчанию значения не требуется, для его принятия можно нажать Enter. Если значение по умолчанию необходимо изменить, введите требуемое значение для запрашиваемого параметра и нажмите Enter.
Для настройки интегрированной службы DNS введите yes
:
Do you want to configure integrated DNS (BIND)? [no]: yes
Далее необходимо указать имя хоста, на котором будет развернут сервер FreeIPA, доменное имя и пространство Kerberos.
Server host name [server.redosipa.test]: Please confirm the domain name [redosipa.test]: Please provide a realm name [REDOSIPA.TEST]:
Настоятельно рекомендуется, чтобы имя области Kerberos совпадало с именем основного домена DNS, а все буквы имени указывались в верхнем регистре. Например, если основным доменом DNS является ipa.example.com, необходимо использовать IPA.EXAMPLE.COM в качестве имени области Kerberos.
В противном случае различные методы именования не позволят использовать доверительные отношения Active Directory и могут иметь другие негативные последствия.
Создайте пароль для менеджера каталогов:
Directory Manager password: <введите_пароль> Password (confirm): <подтвердите_пароль>
Создайте пароль администратора IPA, который будет использоваться при аутентификации в IPA:
IPA admin password: <введите_пароль> Password (confirm): <повторите_пароль>
Настройте перенаправления DNS:
Do you want to configure DNS forwarders? [yes]:
Если необходимо, добавьте ретранслятор службы имен (DNS relay
). Этот шаг необязателен, и необходим в том случае, если предполагается использование внешнего сервера для обработки запросов службы имен DNS. Обратите внимание, что по умолчанию сервер IPA предполагает использование собственного сервера имен, который разворачивает локально.
Do you want to configure these servers as DNS forwarders? [yes]: All detected DNS servers were added. You can enter additional addresses now: Enter an IP address for a DNS forwarder, or press Enter to skip:
Выберите [yes]
, в случае если будет использоваться внешний ретранслятор службы имен, иначе выберите [no]
.
Инициируйте создание обратной зоны для службы имен:
Do you want to search for missing reverse zones? [yes]: Checking DNS domain 185.168.192.in-addr.arpa., please wait ... Do you want to create reverse zone for IP 192.168.185.130 [yes]: Please specify the reverse zone name [185.168.192.in-addr.arpa.]:
Укажите имя NetBIOS для домена IPA. По умолчанию он определяется на основе доменного имени DNS:
NetBIOS domain name [REDOSIPA]:
Т.к. предварительно службы времени были настроены, от конфигурации NTP-серверов можно отказаться:
Do you want to configure chrony with NTP server or pool address? [no]:
После этого будет выведена информация о конфигурации сервера. Если все настроено верно, подтвердите настройки:
The IPA Master Server will be configured with: Hostname: server.redosipa.test IP address(es): 192.168.185.130 Domain name: redosipa.test Realm name: REDOSIPA.TEST The CA will be configured with: Subject DN: CN=Certificate Authority,O=REDOSIPA.TEST Subject base: O=REDOSIPA.TEST Chaining: self-signed BIND DNS server will be configured to serve IPA domain with: Forwarders: 192.168.1.1, 192.168.0.251 Forward policy: only Reverse zone(s): 185.168.192.in-addr.arpa. Continue to configure the system with these values? [no]: yes
Для запуска процесса настройки сервера введите [yes]
и нажмите Enter.
Если настройка выполнена верно, будут выведены рекомендации по проверке доступности указанных портов, а также созданию резервной копии сертификата ЦС:
Setup complete Next steps: 1. You must make sure these network ports are open: TCP Ports: * 80, 443: HTTP/HTTPS * 389, 636: LDAP/LDAPS * 88, 464: kerberos * 53: bind UDP Ports: * 88, 464: kerberos * 53: bind * 123: ntp 2. You can now obtain a kerberos ticket using the command: 'kinit admin' This ticket will allow you to use the IPA tools (e.g., ipa user-add) and the web user interface. Be sure to back up the CA certificates stored in /root/cacert.p12 These files are required to create replicas. The password for these files is the Directory Manager password The ipa-server-install command was successful
На этом настройка сервера завершена. Информацию о проверке работоспособности настроенного сервера см. в п. «Проверка работоспособности».
Настройка в автоматическом режиме
Для настройки сервера в автоматическом режиме команде ipa-server-install необходимо сразу передать все требуемые параметры установки.
Для настройки сервера в автоматическом режиме необходимо передать следующие параметры:
-U
,--unattended
– автоматическая установка без взаимодействия с пользователем;-p DM_PASSWORD
,--ds-password=DM_PASSWORD
– пароль менеджера каталогов (DM);-a ADMIN_PASSWORD
,--admin-password=ADMIN_PASSWORD
– пароль пользователяadmin
, администратора FreeIPA;-n DOMAIN_NAME
,--domain=DOMAIN_NAME
– основное доменное имя DNS для сервера FreeIPA;-r REALM_NAME
,--realm=REALM_NAME
– имя области Kerberos для сервера FreeIPA;--hostname=HOST_NAME
– полное DNS-имя настраиваемого сервера.
Для настройки сервера с интегрированным DNS дополнительно необходимо указать следующие параметры:
--setup-dns
– создать зону DNS, если она не создана, и настроить DNS-сервер;--forwarder=FORWARDERS
или--no-forwarders
– настроить серверы пересылки DNS или не настраивать;--auto-reverse
или--no-reverse
– настроить автоматическое обнаружение обратных зон DNS, которые должны быть созданы в FreeIPA DNS, или отключить автоматическое определение обратных зон.
Для настройки сервера без интегрированного ЦС в качестве корневого ЦС дополнительно необходимо указать следующие параметры:
--dirsrv-cert-file
– файл, содержащий SSL-сертификат и закрытый ключ сервера каталогов;--http-cert-file
– файл с SSL-сертификатом и закрытым ключом сервера Apache;--pkinit-cert-file
– файл, предназначенный для SSL-сертификата Kerberos KDC и закрытого ключа;--dirsrv-pin
– пароль для доступа к закрытому ключу сервера каталогов;--http-pin
– пароль для доступа к закрытому ключу сервера Apache;--pkinit-pin
– пароль для доступа к закрытому ключу Kerberos KDC.
Подробную информацию о доступных параметрах и их применении можно просмотреть, выполнив команду:
ipa-server-install --help
Для запуска автоматической установки сервера с интегрированным DNS, но без интегрированного ЦС в качестве корневого ЦС, предварительно подготовьте сертификаты согласно п. «Подготовка сертификатов».
Затем выполните команду:
ipa-server-install -U --hostname=$(hostname) -r REDOSIPA.TEST \ -n redosipa.test -p 12345678dm -a 12345678ipa --setup-dns \ --forwarder=8.8.8.8 --auto-reverse \ --dirsrv-cert-file=/<путь_к_файлу>/kdc.p12 \ --http-cert-file=/<путь_к_файлу>/kdc.p12 \ --pkinit-cert-file=/<путь_к_файлу>/kdc.p12 \ --dirsrv-pin strongpassword --http-pin strongpassword \ --pkinit-pin strongpassword --mkhomedir
где:
--hostname=$(hostname)
– установить используемое (заданное на этапе подготовки сервера) имя сервера;REDOSIPA.TEST
– имя области Kerberos;redosipa.test
– основной домен FreeIPA;12345678dm
– пароль менеджера каталогов;12345678ipa
– пароль администратора FreeIPA;--setup-dns
– создать зону DNS;
--forwarders=8.8.8.8
– добавить внешний сервер пересылки DNS;--auto-reverse
– автоматическое обнаружение обратных зон.--dirsrv-cert-file
– файл, содержащий SSL-сертификат и закрытый ключ сервера каталогов;--http-cert-file
– файл с SSL-сертификатом и закрытым ключом сервера Apache;--pkinit-cert-file
– файл, предназначенный для SSL-сертификата Kerberos KDC и закрытого ключа;--dirsrv-pin
– пароль для доступа к закрытому ключу сервера каталогов;--http-pin
– пароль для доступа к закрытому ключу сервера Apache;--pkinit-pin
– пароль для доступа к закрытому ключу Kerberos KDC.
Если настройка выполнена верно, будет выведено соответствующее сообщение:
The ipa-server-install command was successful
На этом настройка сервера завершена. Информацию о проверке работоспособности настроенного сервера см. в п. «Проверка работоспособности».
Проверка работоспособности
Для проверки работоспособности сервера FreeIPA получите билет Kerberos для администратора (потребуется ввести пароль администратора IPA, заданный в процессе настройки):
kinit admin
Password for admin@REDOSIPA.TEST: <пароль_администратора_IPA>
Выполните поиск зарегистрированных пользователей. В ответе команды будет выведена информация о единственном пользователе admin
:
ipa user-find admin –––––––––––––––––––- установлено соответствие 1 пользователя –––––––––––––––––––- Имя учётной записи пользователя: admin Фамилия: Administrator Домашний каталог: /home/admin Оболочка входа: /bin/bash Псевдоним учётной записи: admin@REDOSIPA.TEST, root@REDOSIPA.TEST UID: 712800000 ID группы: 712800000 Учётная запись отключена: False ––––––––––––––––- Количество возвращённых записей 1 ––––––––––––––––-
Сервер FreeIPA успешно настроен.
Настройка брандмауэра
Порты, используемые сервером FreeIPA, необходимо открыть для обеспечения возможности подключения удаленных клиентов или дополнительных серверов FreeIPA.
Установите firewalld командой:
dnf install firewalld
Запустите службу брандмауэра firewalld и добавьте ее в автозагрузку:
systemctl enable --now firewalld
Откройте порты, используемые службами FreeIPA:
firewall-cmd --permanent --add-port=53/{tcp,udp} --add-port={88,464}/{tcp,udp} --add-port=123/udp --add-port={389,636}/tcp
где:
53
— запросы DNS, не обязателен, если не планируется использовать IPA-сервер в качестве сервера DNS;88
и464
— порты, используемые kerberos и kpasswd;123
— порт синхронизации времени;389
и636
— порты, используемые LDAP и LDAPS соответственно;опция
--permanent
– позволяет сохранить внесенные в настройки брандмауэра изменения после перезагрузки системы.
Также добавьте разрешения для соответствующих сетевых служб:
firewall-cmd --add-service={http,https,ldap,ldaps} --permanent
Для применения внесенных изменений перезапустите брандмауэр:
firewall-cmd --reload
Подключение клиентских машин
После успешной настройки сервера можно выполнять подключение клиентских машин. Подробную информацию см. в нашей статье «Ввод клиентских машин в домен IPA».
Дата последнего изменения: 29.04.2025
Если вы нашли ошибку, пожалуйста, выделите текст и нажмите Ctrl+Enter.