Гид по технологиям

Установка и ввод в эксплуатацию FreeIPA на Rocky Linux 9

• 10 min read • Linux • Обновлено 18 Nov 2025
FreeIPA на Rocky Linux 9 — полная настройка
FreeIPA на Rocky Linux 9 — полная настройка

О чём эта статья

FreeIPA — это OSS-платформа для централизованного управления идентификацией на Linux/Unix: LDAP (Directory Server), Kerberos, PKI (CA), DNS (BIND), Certmonger, NTP, веб-админка и прочие компоненты. Статья шаг за шагом показывает установку FreeIPA Server и подключение клиента на Rocky Linux 9, а также даёт практические рекомендации для перехода в продакшен.

Important: в примерах используется домен hwdomain.lan и подсеть 192.168.5.0/24. Замените их на ваши реальные имена и адреса перед применением команд.

Кому пригодится

  • Системным администраторам, которые хотят централизовать аутентификацию и авторизацию.
  • DevOps-инженерам, готовящим инфраструктуру идентификации для Linux-флота.
  • Тем, кто изучает Kerberos, LDAP и интеграцию систем с единой директорией.

Предварительные требования

Прежде чем начать, убедитесь в следующем:

  • Минимум два сервера Rocky Linux 9: один для FreeIPA Server, другой — для клиента. В демонстрации используются два хоста:
Hostname    IP Address      Used as
--------------------------------------------
ipa         192.168.5.25    FreeIPA Server
client      192.168.5.80    FreeIPA Client
  • Ненулевой пользователь с sudo/root правами.
  • SELinux в режиме permissive (рекомендуется для простоты установки; для продакшена — переводить в enforcing и тестировать политики).
  • Корректная базовая сеть и понимание вашей DNS-схемы.

Примечание: в продакшене рекомендуется иметь отдельный резервный сервер FreeIPA и репликацию LDAP/PKI.

План действий (высокоуровнево)

  1. Задать FQDN и часовой пояс для сервера.
  2. Настроить /etc/hosts и базовый DNS/резолвер на клиентах.
  3. Открыть нужные порты в firewalld.
  4. Установить пакеты FreeIPA Server и запустить ipa-server-install с настройкой DNS (по необходимости).
  5. Получить Kerberos билет админа (kinit) и проверить работу веб UI.
  6. Создать пользователей/группы, добавить хосты (ipa-client-install).
  7. Проверить вход пользователей через SSH и работу mkhomedir.

Основные порты и пути (фактбокс)

  • LDAP: 389 (TCP)
  • LDAPS: 636 (TCP)
  • Kerberos: 88 (TCP/UDP)
  • Kerberos kpasswd: 464 (TCP/UDP)
  • DNS: 53 (TCP/UDP)
  • HTTP: 80 (TCP)
  • HTTPS: 443 (TCP)
  • NTP: 123 (UDP)
  • Основные каталоги: /etc/ipa, /var/lib/ipa, /var/log/dirsrv

Эти значения используются далее при настройке firewalld и проверках.


Подготовка FQDN и часового пояса

На FreeIPA-сервере задайте полное доменное имя (FQDN) и часовой пояс.

Пример: сервер с FQDN ipa.hwdomain.lan

sudo hostnamectl set-hostname ipa.hwdomain.lan

Откройте /etc/hosts и добавьте строку для сопоставления IP и FQDN сервера:

sudo nano /etc/hosts

Добавьте (замените адрес и имена на ваши):

# ip - fqdn - hostname
192.168.5.25    ipa.hwdomain.lan    ipa

Проверьте, что FQDN разрешается в локальной сети:

sudo hostname -f
sudo ping -c3 ipa.hwdomain.lan

настройка fqdn и файла hosts

Задайте часовой пояс, например Europe/Stockholm:

sudo timedatectl set-timezone Europe/Stockholm

Настройка /etc/localtime (символическая ссылка на файл зоны):

sudo unlink /etc/localtime
sudo ln -s /usr/share/timezone/Europe/Stockholm /etc/localtime

настройка часового пояса

Note: согласованные часы критичны для Kerberos. Убедитесь, что на всех хостах синхронизация времени работает и отличается не более чем на несколько минут.


Настройка firewalld

Откройте сервисы, необходимые FreeIPA (LDAP/LDAPS, DNS, NTP, HTTP/HTTPS, Kerberos):

sudo firewall-cmd --add-service={freeipa-ldap,freeipa-ldaps,dns,ntp,http,https,kerberos} --permanent
sudo firewall-cmd --reload

Проверьте статус:

sudo firewall-cmd --list-all

настройка firewalld

Совет: для продакшена разумно ограничить доступ по зонам/адресам, чтобы службы были доступны только доверенным подсетям.


Установка FreeIPA Server

На Rocky Linux 9 пакеты FreeIPA доступны в репозитории appstream, поэтому дополнительных репозиториев не требуется.

sudo dnf install freeipa-server freeipa-server-dns freeipa-client

установка freeipa server

Запустите интерактивную установку с настройкой DNS, если хотите, чтобы FreeIPA также управлял DNS через BIND:

sudo ipa-server-install --setup-dns

Установщик по шагам проверит FQDN, предложит значения домена и realm. По умолчанию домен и realm выводятся из FQDN (прим.: ipa.hwdomain.lan → domain: hwdomain.lan, realm: HWDOMAIN.LAN). Нажмите ENTER, чтобы принять значения по умолчанию.

установка freeipa server

Задайте пароль для Directory Manager и админа IPA (не менее 8 символов, лучше — длинная фраза):

настройка пароля ipa admin и manager

Оставьте NetBIOS по умолчанию, при необходимости настройте резолверы/forwarders. Если не хотите, чтобы FreeIPA менял NTP, ответьте no на запрос по NTP.

настройка резолверов netbios ntp

Подтвердите установку и дождитесь завершения. В конце вы увидите сообщение об успешной установке.

подтверждение установки

Когда установка закончится удачно, вы увидите инструкцию по открытию дополнительных портов и как получить Kerberos билет.

установка завершена


Аутентификация Kerberos и веб-интерфейс FreeIPA

Получите Kerberos-билет администратора:

kinit admin

Проверьте билет:

klist

Если всё успешно, вы увидите кешированный билет для [email protected]

тест аутентификации

Чтобы зайти в веб UI с локальной машины, добавьте в локальный /etc/hosts IP и домен FreeIPA-сервера:

sudo nano /etc/hosts
# ip - domain
192.168.5.25  ipa.hwdomain.lan ipa

Откройте https://ipa.hwdomain.lan/ в браузере. Логин: admin и пароль, который вы задали при установке.

страница входа freeipa

Если всё в порядке, вы увидите административную панель FreeIPA.

дашборд freeipa


Работа с пользователями и группами через ipa-cli

Из консоли сервера можно управлять объектами через утилиту ipa. Дальше — примеры основных операций.

Установите оболочку по умолчанию для новых пользователей:

ipa config-mod --defaultshell=/bin/bash

настройка пользователя по умолчанию

Создайте пользователя rocky:

ipa user-add rocky --first=Rocky --last=Linux --password

добавление пользователя

Проверьте пользователя:

ipa user-find rocky
ipa user-show --raw rocky

поиск пользователя

Создайте группу development и добавьте в неё пользователя:

ipa group-add --desc='Development Team' development
ipa group-find development
ipa group-add-member --user=rocky development

добавление группы

Проверьте в веб UI: Identity → Users и Identity → Groups. Вы увидите пользователя rocky и группу development.

список пользователей список групп


Добавление хоста (клиента) в FreeIPA

FreeIPA-клиент добавляет запись хоста в LDAP и настраивает системную интеграцию. Шаги:

  1. Добавить DNS запись на FreeIPA-сервере (если DNS управляется FreeIPA).
  2. Настроить /etc/hosts и /etc/resolv.conf на клиенте.
  3. Установить freeipa-client и запустить ipa-client-install.

Добавление DNS-записи на сервере

ipa dnsrecord-add hwdomain.lan client --a-rec 192.168.5.80
ipa dnsrecord-find hwdomain.lan client

Проверьте через dig:

dig client.hwdomain.lan

добавление dns записи проверка dns записи

Настройка /etc/hosts и /etc/resolv.conf на клиенте

На клиенте добавьте запись сервера и настройте резолвер:

sudo nano /etc/hosts
# ip - fqdn/domain - hostname
192.168.5.25    ipa.hwdomain.lan    ipa
sudo nano /etc/resolv.conf
# list resolver
nameserver 192.168.5.25

Проверьте:

ping -c3 ipa.hwdomain.lan
ping -c3 client.hwdomain.lan

настройка резолвера и fqdn

Установка клиента и присоединение

sudo dnf install freeipa-client oddjob-mkhomedir

установка клиентов

Запустите ipa-client-install (параметры замените на ваши):

ipa-client-install --hostname=`hostname -f` \
--mkhomedir \
--server=ipa.hwdomain.lan \
--domain hwdomain.lan \
--realm HWDOMAIN.LAN

Подтвердите фиксированные значения и при запросе авторизуйтесь как admin (kinit можно выполнить заранее). Для NTP ответьте no, если не хотите менять локальный ntpd.

добавление клиента на сервер

После успешного выполнения вы увидите сообщение о завершении настройки клиента.

добавлен клиент


Вход на клиент как FreeIPA-пользователь

Подключитесь по SSH к клиенту от имени пользователя rocky:

ssh [email protected]

При первом входе будет создана домашняя директория (thanks to oddjob-mkhomedir). Вам может потребоваться сменить пароль при первом входе. Проверьте идентичность и FQDN хоста:

id
whoami
hostname -f

тест входа на клиент

Проверьте в веб UI Identity → Hosts: появится клиент client.hwdomain.lan

список хостов детали хоста


Практические советы и когда что может пойти не так

Ниже — типовые проблемы и рекомендации по их диагностике.

1. Kerberos-проблемы (kinit не проходит)

  • Проверьте синхронизацию времени (timedatectl) на сервере и клиентах.
  • Проверьте /etc/krb5.conf и тот ли realm указан.
  • Убедитесь, что имя хоста совпадает с тем, что указано в сертификате и в DNS.

2. DNS-резолвинг не работает

  • Проверьте, что клиент использует в /etc/resolv.conf IP FreeIPA DNS.
  • На сервере выполните dig и ipa dnsrecord-find для проверки записи.

3. SSH: логин по пользователю FreeIPA невозможен

  • Проверьте работу sssd: systemctl status sssd
  • Посмотрите /var/log/sssd/sssd.log и /var/log/messages
  • Убедитесь, что pam и nss конфигурации не конфликтуют.

4. Установка ipa-client-install прерывается с ошибкой

  • Запустите с опцией –debug для подробного лога.
  • Проверьте доступность LDAP/LDAPS и Kerberos с клиента (ldapsearch, kinit).

Безопасность и hardening

Короткая методика укрепления FreeIPA перед продакшеном:

  • Переведите SELinux в enforcing и протестируйте. Нужны политики для некоторых сервисов.
  • Ограничьте доступ к портам LDAP/LDAPS/HTTP по зонам firewalld и IP.
  • Используйте LDAPS (636) и HTTPS для всех административных операций.
  • Регулярно проверяйте и обновляйте сертификаты CA; автоматизируйте продление Certmonger.
  • Разверните репликацию FreeIPA для отказоустойчивости: хотя в этой статье репликация не описана, её следует добавить для продакшена.
  • Запретите root-логин по SSH и используйте sudo.

Security checklist (минимум):

  • SSL/TLS для всех интерфейсов
  • Оповещения о отзывах сертификатов
  • Логи централизованы и анализируются
  • Резервные копии LDAP и CA регулярно создаются

Резервное копирование и восстановление

FreeIPA включает инструменты для резервного копирования LDAP и CA. Общая рекомендация:

  • Регулярно выполнять ipa-backup на сервере и переносить архив в безопасное место.
  • Тестировать восстановление на тестовом стенде.

Пример создания бэкапа (на сервере):

sudo ipa-backup

Для восстановления используется ipa-restore, но восстановление требует аккуратности (остановить соответствующие сервисы, убедиться в совместимости версий).


Чеклист готовности к продакшену

  • FQDN и DNS корректно работает во всей сети.
  • Синхронизация времени верна на всех хостах.
  • SELinux и firewalld настроены и протестированы.
  • SSL/TLS сертификаты проверены и управляются (Certmonger).
  • Репликация FreeIPA настроена (рекомендуется минимум 2 сервера).
  • Резервное копирование настроено и протестировано.
  • Мониторинг и алерты для LDAP/Kerberos/CA настроены.

Роли и обязанности (ролевые чеклисты)

Администратор FreeIPA:

  • Настройка сервера, обновления, создание realm и политик паролей.
  • Настройка реплик и управление CA.
  • Резервное копирование и контроль доступа администраторов.

Оператор хостов:

  • Настройка клиента (ipa-client-install), работа с mkhomedir.
  • Диагностика SSSD/SSHD и pam.

Инфобез:

  • Политики паролей, аудит, контроль сертификатов и ревокации.

Критерии приёмки

Минимальный набор критериев, чтобы принять развертывание как рабочее:

  • Сервер FreeIPA установлен и отвечает на LDAP(S)/Kerberos/HTTP(S).
  • Веб UI доступен по HTTPS и вход admin работает.
  • Создан хотя бы один пользователь и одна группа, пользователь может войти на клиенте через SSH.
  • Клиент подключён к серверу и отображается в Identity → Hosts.
  • Резервная копия завершилась успешно и проверена на тестовом восстановлении.

Приёмочные тесты (test cases)

  1. kinit admin; klist — билет получен.
  2. ldapsearch или ipa user-find — LDAP отвечает.
  3. ssh [email protected] — пользователь может аутентифицироваться и получает домашнюю директорию.
  4. Смена пароля пользователя и вход по новому паролю.
  5. Проверить отказоустойчивость: отключить сеть на одном реплицированном узле (если есть) и проверить доступность службы.

Частые команды-«шпаргалка» (cheat sheet)

  • Установка server/client: sudo dnf install freeipa-server freeipa-server-dns freeipa-client
  • Запуск установки сервера: sudo ipa-server-install –setup-dns
  • Получить Kerberos-билет: kinit admin
  • Проверить билет: klist
  • Создать пользователя: ipa user-add rocky –first=Rocky –last=Linux –password
  • Создать группу: ipa group-add –desc=’Development Team’ development
  • Добавить клиент: ipa-client-install –mkhomedir –server=ipa.hwdomain.lan –domain hwdomain.lan –realm HWDOMAIN.LAN
  • Бэкап: sudo ipa-backup

Тонкая настройка и альтернативные подходы

  • DNS: если у вас корпоративный DNS, можно не включать –setup-dns и просто вносить записи в существующий DNS; при этом потребуется правильно настроить резолверы.
  • HA: для высокой доступности используйте репликацию LDAP/PKI и балансировщик для HTTP/HTTPS.
  • PKI: при больших требованиях к безопасности можно интегрировать внешнюю корпоративную CA.

Модель зрелости (уровни внедрения FreeIPA)

  • Уровень 0 — тестовый: один сервер, SELinux permissive, базовый набор пользователей.
  • Уровень 1 — рабочая нагрузка: бэкапы, ограничения доступа через firewall, мониторинг.
  • Уровень 2 — продакшен: репликация, SELinux enforcing, аудит и логирование.
  • Уровень 3 — корпоративный: интеграция с корпоративной CA, HA, централизованный мониторинг и CI для обновлений.

Сценарии отката и инцидентный план

Если установка сервера привела к проблемам:

  1. Не плодить изменения: остановите дальнейшие действия.
  2. Выполните ipa-backup до любых значимых изменений.
  3. В случае повреждения данных используйте ipa-restore на тестовом стенде.
  4. Отключите повторно проблемные сервисы и восстановите сервисы по шагам.

FAQ — коротко

Q: Нужен ли DNS-сервер в FreeIPA? A: Не обязателен, но удобен. Если есть корпоративный DNS, используйте его и добавляйте записи вручную.

Q: Можно ли использовать FreeIPA в облаке? A: Да, но обратите внимание на сетевые политики, приватные подсети, правила безопасности и время (NTP).

Q: Как добавить ещё один сервер FreeIPA? A: Разверните второй FreeIPA-сервер и используйте механизм репликации (ipa-replica-install).


Ресурсы для дальнейшего изучения

Официальная документация FreeIPA — основной источник подробных руководств по репликации, CA, политике паролей и интеграции.


Короткое объявление для команды (100–200 слов)

Мы развернули FreeIPA на Rocky Linux 9 для централизованного управления пользователями и хостами. FreeIPA обеспечивает LDAP, Kerberos, PKI и DNS в единой системе. В ближайшие дни планируется подключение всех Linux-хостов к FreeIPA-клиенту, миграция пользователей и настройка репликации для отказоустойчивости. Пожалуйста, ознакомьтесь с чеклистом готовности и временем обслуживания перед началом миграции.


Итог

Вы получили пошаговую инструкцию по установке FreeIPA Server на Rocky Linux 9 и подключению клиента. Дополнительно в статье приведены рекомендации по безопасности, резервному копированию, чеклисты приёмки и советы по устранению неполадок. После успешного внедрения FreeIPA вы сможете централизованно управлять пользователями, группами и хостами, а также упростить аутентификацию по Kerberos в вашей инфраструктуре.

Поделиться: X/Twitter Facebook LinkedIn Telegram
Автор
Редакция

Похожие материалы

Несколько аккаунтов Skype: Multi Skype Launcher
Программное обеспечение

Несколько аккаунтов Skype: Multi Skype Launcher

Журнал для работы: повысить продуктивность
Productivity

Журнал для работы: повысить продуктивность

Персональные звуки уведомлений на Android
Android.

Персональные звуки уведомлений на Android

Скачивание шоу Hulu для офлайн‑просмотра
Стриминг

Скачивание шоу Hulu для офлайн‑просмотра

Microsoft Start: персонализированная новостная лента
Новости

Microsoft Start: персонализированная новостная лента

Как изменить имя в Epic Games быстро
Гайды

Как изменить имя в Epic Games быстро