Установка и ввод в эксплуатацию 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.
План действий (высокоуровнево)
- Задать FQDN и часовой пояс для сервера.
- Настроить /etc/hosts и базовый DNS/резолвер на клиентах.
- Открыть нужные порты в firewalld.
- Установить пакеты FreeIPA Server и запустить ipa-server-install с настройкой DNS (по необходимости).
- Получить Kerberos билет админа (kinit) и проверить работу веб UI.
- Создать пользователей/группы, добавить хосты (ipa-client-install).
- Проверить вход пользователей через 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
Задайте часовой пояс, например 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
Совет: для продакшена разумно ограничить доступ по зонам/адресам, чтобы службы были доступны только доверенным подсетям.
Установка FreeIPA Server
На Rocky Linux 9 пакеты FreeIPA доступны в репозитории appstream, поэтому дополнительных репозиториев не требуется.
sudo dnf install freeipa-server freeipa-server-dns freeipa-client
Запустите интерактивную установку с настройкой DNS, если хотите, чтобы FreeIPA также управлял DNS через BIND:
sudo ipa-server-install --setup-dnsУстановщик по шагам проверит FQDN, предложит значения домена и realm. По умолчанию домен и realm выводятся из FQDN (прим.: ipa.hwdomain.lan → domain: hwdomain.lan, realm: HWDOMAIN.LAN). Нажмите ENTER, чтобы принять значения по умолчанию.

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

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

Работа с пользователями и группами через 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 и настраивает системную интеграцию. Шаги:
- Добавить DNS запись на FreeIPA-сервере (если DNS управляется FreeIPA).
- Настроить /etc/hosts и /etc/resolv.conf на клиенте.
- Установить 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

Настройка /etc/hosts и /etc/resolv.conf на клиенте
На клиенте добавьте запись сервера и настройте резолвер:
sudo nano /etc/hosts
# ip - fqdn/domain - hostname
192.168.5.25 ipa.hwdomain.lan ipasudo nano /etc/resolv.conf
# list resolver
nameserver 192.168.5.25Проверьте:
ping -c3 ipa.hwdomain.lan
ping -c3 client.hwdomain.lan
Установка клиента и присоединение
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)
- kinit admin; klist — билет получен.
- ldapsearch или ipa user-find — LDAP отвечает.
- ssh [email protected] — пользователь может аутентифицироваться и получает домашнюю директорию.
- Смена пароля пользователя и вход по новому паролю.
- Проверить отказоустойчивость: отключить сеть на одном реплицированном узле (если есть) и проверить доступность службы.
Частые команды-«шпаргалка» (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 для обновлений.
Сценарии отката и инцидентный план
Если установка сервера привела к проблемам:
- Не плодить изменения: остановите дальнейшие действия.
- Выполните ipa-backup до любых значимых изменений.
- В случае повреждения данных используйте ipa-restore на тестовом стенде.
- Отключите повторно проблемные сервисы и восстановите сервисы по шагам.
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 в вашей инфраструктуре.
Похожие материалы
Несколько аккаунтов Skype: Multi Skype Launcher
Журнал для работы: повысить продуктивность
Персональные звуки уведомлений на Android
Скачивание шоу Hulu для офлайн‑просмотра
Microsoft Start: персонализированная новостная лента