Для присоединения Ubuntu‑системы к домену FreeIPA используется утилита ipa-client-install из пакета freeipa-client.
Предварительные требования
- Сеть и DNS:
Убедитесь, что сервер FreeIPA разрешаем по имени (DNS настроен корректно).
Проверьте: ping ipa.example.com, nslookup ipa.example.com. - Время:
Синхронизируйте время с сервером IPA (рекомендуется chrony или systemd‑timesyncd).
Пример: # timedatectl set-ntp true. - Пакеты:
Установите клиентские пакеты:
# apt update
# apt install freeipa-client
На этапе установки может быть предложено указать Kerberos realm и здесь на данном этапе можно оставить пустое значение.

Запуск ipa-client-install
Базовая команда:
# ipa-client-install
Если на этапе запуска клиента вы получаете ошибку.
socket.gaierror: [Errno -2] Name or service not known
Проверьте записи в файле /etc/hosts. Там долно тыть указано полное имя рабочей станции (с указаним домена) и короткое имя причем первое имя указываем полное. Например так.
127.0.0.1 localhost
10.101.5.10 srv-lxc-prod-rain-01.rain.shiskitech.ru srv-lxc-prod-rain-01
Утилита запустит интерактивный мастер, запрашивая параметры. Ниже — ключевые опции для неинтерактивного режима (удобно для скриптов).
Основные параметры команды
| Параметр | Описание |
|---|---|
| —domain=DOMAIN | Домен IPA (например, example.com). |
| —server=SERVER | FQDN сервера IPA (например, ipa.example.com). |
| —realm=REALM | Kerberos‑реalm (обычно верхний регистр домена, например, EXAMPLE.COM). |
| —principal=USER | Пользователь с правами присоединения (например, admin@EXAMPLE.COM). |
| —password=PASSWORD | Пароль пользователя (осторожно: может быть виден в истории команд). |
| —mkhomedir | Автоматически создавать домашние каталоги для пользователей IPA. |
| —enable-dns-updates | Разрешить клиенту обновлять DNS‑записи (требуется настройка DDNS на сервере IPA). |
| —no-ntp | Не настраивать NTP (если уже настроено). |
| —unattended | Неинтерактивный режим (все параметры должны быть указаны явно). |
| —force | Игнорировать некоторые предупреждения (использовать с осторожностью). |
| —no-ssh / —no-sshd | Отключить настройку SSH (если не нужно). |
| —no-sudo | Отключить интеграцию с sudo (если не нужно). |
| —no-dns-sshfp | Не добавлять SSHFP‑записи в DNS. |
Пример неинтерактивной команды
# ipa-client-install \
--domain=example.com \
--server=ipa.example.com \
--realm=EXAMPLE.COM \
--principal=admin@EXAMPLE.COM \
--password=your_password \
--mkhomedir \
--enable-dns-updates \
--unattended
Важно:
- Замените your_password на реальный пароль. Для безопасности используйте переменные окружения или менеджеры секретов.
- Если пароль не указан, утилита запросит его интерактивно.
Что происходит во время установки
- Проверка подключения к серверу IPA.
- Получение Kerberos‑тикета для указанного пользователя.
- Регистрация хоста в домене (создаётся сервисный принципал host/client.example.com).
- Настройка SSSD (/etc/sssd/sssd.conf) для аутентификации через IPA.
- Обновление PAM и NSS для использования IPA‑пользователей.
- Настройка DNS (если указано —enable-dns-updates).
- Перезапуск служб (sssd, nscd и др.).
Проверка подключения
После установки:
- Проверьте билет Kerberos:
# kinit admin@EXAMPLE.COM
# klist
- Убедитесь, что пользователи IPA видны:
# getent passwd user_from_ipa@example.com
- Проверьте подключение к домену:
# ipa host-show $(hostname)
Устранение неполадок
- Ошибки DNS: Убедитесь, что /etc/resolv.conf указывает на DNS‑сервер IPA.
- Проблемы с временем: Проверьте синхронизацию времени (timedatectl status).
- Логи: Смотрите /var/log/ipaclient-install.log.
- Переустановка: Для отладки можно удалить клиент:
# ipa-client-install --uninstall
Дополнительные настройки
- Групповая политика sudo: Если нужно управлять sudo через IPA, убедитесь, что —no-sudo не указан.
- SSH‑ключи: Для автоматической раздачи ключей используйте IPA WebUI или CLI (ipa sshkey‑add).
- Автоматическое присоединение: Для массовых развёртываний используйте Ansible или скрипты с —unattended.
Пример реальной команды для ввода рабочей станции в IPA-домен.
# ipa-client-install --mkhomedir --hostname=srv-prod-rain-03.rain.shiskitech.ru --ip-address=10.101.5.1



