Предварительная подготовка Синхронизация времени Назначение серверу доменного имени Настройка Java OpenJDK Установка необходимых пакетов Подготовка сертификатов Настройка сервера Настройка сервера в интерактивном режиме Настройка в автоматическом режиме Проверка работоспособности Настройка брандмауэра Подключение клиентских машин
Окружение
Перед развертыванием контроллера домена на сервере необходимо выполнить предварительную настройку. Далее приведен ряд действий, которые рекомендуется выполнить перед установкой FreeIPA-сервера для обеспечения корректной работы программного обеспечения.
Вы можете подробнее ознакомиться с информацией по установке в РЕД ОС сервера IPA, просмотрев наши обучающие видео:
на RuTube — Установка и настройка FreeIPA в РЕД ОС;
в Яндекс.Дзен — Установка и настройка FreeIPA в РЕД ОС;
в VK Видео — Установка и настройка FreeIPA в РЕД ОС.
На наших каналах вы также сможете найти много другой полезной информации.
Для настройки синхронизации времени выполните настройку службы chrony. Подробную информацию см. в нашей статье «Установка и настройка chrony».
chrony
IP-адрес сервера не должен изменяться. Рекомендуется установить IP-адрес сервера статическим в используемой сети.
Аутентификация Kerberos основана на использовании статического имени хоста. Если имя хоста изменится, аутентификация Kerberos может нарушиться.
Имя хоста должно быть задано в файле /etc/hostname, например, использованием команды вида:
hostnamectl set-hostname <имя_хоста>.<домен>
Полное доменное имя должно соответствовать следующим условиям:
В рассматриваемом примере серверу будет назначено имя server.redosipa.test:
hostnamectl set-hostname server.redosipa.test
Для того чтобы при установке избежать появления ошибки CA configuration failed, выполните следующие действия:
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 – команда создания сертификатов или запросов на сертификаты;
req
-x509 – создание именно сертификата, а не запроса;
-x509
-sha256 – алгоритм хеширования для создания подписи ключа;
-sha256
-days 3650 – выпуск сертификата на 10 лет;
-days 3650
-new – новый сертификат (потребуется ввести значения некоторых полей в сертификате);
-new
-newkey rsa:2048 – генерация нового закрытого ключа, из которого затем будет создан открытый;
-newkey rsa:2048
-keyout ca.key – имя файла закрытого ключа;
-keyout ca.key
-out ca.crt – имя сформированного файла сертификата;
-out ca.crt
-subj "/CN=redosipa.test" – имя домена (Common Name).
-subj "/CN=redosipa.test"
Сгенерируйте ключ и файл запроса сертификата 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 – создание сертификата методом подписания;
x509
-req – если производится подпись файла запроса, необходимо использовать эту опцию;
-req
-CA ca.crt -CAkey ca.key – корневая пара ключей;
-CA ca.crt -CAkey ca.key
-extfile kdc.ext – файл, содержащий расширения сертификатов;
-extfile kdc.ext
-in kdc.csr, -out kdc.crt – файл запроса и файл сертификата.
-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.
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:
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 предполагает использование собственного сервера имен, который разворачивает локально.
DNS relay
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].
[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 – автоматическая установка без взаимодействия с пользователем;
-U
--unattended
-p DM_PASSWORD, --ds-password=DM_PASSWORD – пароль менеджера каталогов (DM);
-p DM_PASSWORD
--ds-password=DM_PASSWORD
-a ADMIN_PASSWORD, --admin-password=ADMIN_PASSWORD – пароль пользователя admin, администратора FreeIPA;
-a ADMIN_PASSWORD
--admin-password=ADMIN_PASSWORD
admin
-n DOMAIN_NAME, --domain=DOMAIN_NAME – основное доменное имя DNS для сервера FreeIPA;
-n DOMAIN_NAME
--domain=DOMAIN_NAME
-r REALM_NAME, --realm=REALM_NAME – имя области Kerberos для сервера FreeIPA;
-r REALM_NAME
--realm=REALM_NAME
--hostname=HOST_NAME – полное DNS-имя настраиваемого сервера.
--hostname=HOST_NAME
Для настройки сервера с интегрированным DNS дополнительно необходимо указать следующие параметры:
--setup-dns – создать зону DNS, если она не создана, и настроить DNS-сервер;
--setup-dns
--forwarder=FORWARDERS или --no-forwarders – настроить серверы пересылки DNS или не настраивать;
--forwarder=FORWARDERS
--no-forwarders
--auto-reverse или --no-reverse – настроить автоматическое обнаружение обратных зон DNS, которые должны быть созданы в FreeIPA DNS, или отключить автоматическое определение обратных зон.
--auto-reverse
--no-reverse
Для настройки сервера без интегрированного ЦС в качестве корневого ЦС дополнительно необходимо указать следующие параметры:
--dirsrv-cert-file – файл, содержащий SSL-сертификат и закрытый ключ сервера каталогов;
--dirsrv-cert-file
--http-cert-file – файл с SSL-сертификатом и закрытым ключом сервера Apache;
--http-cert-file
--pkinit-cert-file – файл, предназначенный для SSL-сертификата Kerberos KDC и закрытого ключа;
--pkinit-cert-file
--dirsrv-pin – пароль для доступа к закрытому ключу сервера каталогов;
--dirsrv-pin
--http-pin – пароль для доступа к закрытому ключу сервера Apache;
--http-pin
--pkinit-pin – пароль для доступа к закрытому ключу Kerberos KDC.
--pkinit-pin
Подробную информацию о доступных параметрах и их применении можно просмотреть, выполнив команду:
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) – установить используемое (заданное на этапе подготовки сервера) имя сервера;
--hostname=$(hostname)
REDOSIPA.TEST – имя области Kerberos;
REDOSIPA.TEST
redosipa.test – основной домен FreeIPA;
redosipa.test
12345678dm – пароль менеджера каталогов;
12345678dm
12345678ipa – пароль администратора FreeIPA;
12345678ipa
--forwarders=8.8.8.8 – добавить внешний сервер пересылки DNS;
--forwarders=8.8.8.8
--auto-reverse – автоматическое обнаружение обратных зон.
Если настройка выполнена верно, будет выведено соответствующее сообщение:
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;
53
88 и 464 — порты, используемые kerberos и kpasswd;
88
464
123 — порт синхронизации времени;
123
389 и 636 — порты, используемые LDAP и LDAPS соответственно;
389
636
опция --permanent – позволяет сохранить внесенные в настройки брандмауэра изменения после перезагрузки системы.
--permanent
Также добавьте разрешения для соответствующих сетевых служб:
firewall-cmd --add-service={http,https,ldap,ldaps} --permanent
Для применения внесенных изменений перезапустите брандмауэр:
firewall-cmd --reload
После успешной настройки сервера можно выполнять подключение клиентских машин. Подробную информацию см. в нашей статье «Ввод клиентских машин в домен IPA».
Дата последнего изменения: 29.04.2025
Если вы нашли ошибку, пожалуйста, выделите текст и нажмите Ctrl+Enter.
Нажимая «Отправить запрос», вы соглашаетесь с условиями обработки персональных данных.
Вы будете получать только актуальную информацию по обновлению безопасности
Подписываясь на уведомления, вы соглашаетесь с условиями обработки персональных данных.
На ваш почтовый адрес отправлено письмо с подтверждением подписки.