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

Установка и настройка клиента FreeIPA на Ubuntu 18.04

• 6 min read • Linux • Обновлено 23 Nov 2025
FreeIPA клиент на Ubuntu 18.04 — установка и проверка
FreeIPA клиент на Ubuntu 18.04 — установка и проверка

Схема или логотип FreeIPA

FreeIPA — свободный набор решений для управления идентификацией, политиками и аудитом (Identity, Policy, Audit), поддерживаемый Red Hat. В основе — набор сервисов: коробочный Linux (Fedora), 389 Directory Server (LDAP), MIT Kerberos, NTP, BIND (DNS), Dogtag (PKI), Apache и Python.

В предыдущем руководстве рассматривалась установка сервера FreeIPA на CentOS 7. Здесь описывается установка и подключение FreeIPA-клиента на Ubuntu 18.04.

Суть и когда это применимо

FreeIPA обеспечивает централизованную аутентификацию и управление учётными записями в гетерогенных Linux-средах. Этот гайд применим, когда у вас уже есть развёрнутый FreeIPA-сервер и вы хотите объединить под одну систему несколько Ubuntu-хостов (18.04). Термин: FQDN — полностью квалифицированное доменное имя хоста.

Требования

  • Развёрнутый FreeIPA Server с правами администратора.
  • Клиентская машина: Ubuntu 18.04 (Bionic Beaver).
  • Права root или sudo на клиенте.
  • Доступ по сети между сервером и клиентом, открытые порты (см. блок «Факты»).

Что мы сделаем

  1. Добавим DNS-запись клиента на FreeIPA-сервере
  2. Настроим DNS-резолвер клиента для автопоиска FreeIPA
  3. Настроим FQDN клиента и /etc/hosts
  4. Установим пакеты FreeIPA-клиента на Ubuntu 18.04
  5. Включим автоматическое создание домашней директории
  6. Проверим регистрацию хоста на сервере и в Web UI
  7. Проведём тестовую авторизацию через SSH

Шаг 1 — Добавление DNS-записи клиента на сервере

На FreeIPA-сервере войдите в Kerberos под admin:

kinit admin
ВВЕДИТЕ ПАРОЛЬ

Добавьте DNS-запись клиента (пример):

ipa dnsrecord-add hakase-labs.io client1 --a-rec 10.9.9.16

Замените hakase-labs.io, client1 и IP-адрес на свои значения.

Шаг 2 — Настройка DNS-резолвера клиента

Для работы DNS-autodiscovery клиент должен использовать в /etc/resolv.conf DNS-сервер FreeIPA.

Откройте /etc/resolv.conf в редакторе:

vim /etc/resolv.conf

Пример содержимого (подставьте IP и домен вашего сервера):

search hakase-labs.io
nameserver 10.9.9.15

Важно: если у вас NetworkManager или systemd-resolved, /etc/resolv.conf может быть перезаписан. В таких случаях настройте резолвер через соответствующий инструмент (nmcli или systemd-resolved configuration) или укажите DNS на уровне DHCP/VM template.

Шаг 3 — Настройка FQDN и /etc/hosts

Установите FQDN на клиенте:

hostnamectl set-hostname client1.hakase-labs.io

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

vim /etc/hosts

Вставьте (пример):

10.9.9.15   ipa.hakase-labs.io  ipa
10.9.9.16   client1.hakase-labs.io client1

Сохраните и выйдите. Проверьте FQDN:

hostname -f

Если результат совпадает с ожидаемым FQDN, переходите дальше.

Шаг 4 — Установка пакетов FreeIPA-клиента

На Ubuntu 18.04 пакеты FreeIPA-клиента доступны в стандартных репозиториях. Установите client и утилиту создания домашних директорий:

sudo apt-get update
sudo apt-get install freeipa-client oddjob-mkhomedir -y

Запустите интерактивный мастер установки клиента:

ipa-client-install --mkhomedir --no-ntp

При появлении подсказок подтвердите предложенные значения (type yes), если DNS-autodiscovery корректно нашёл профиль. В конце вы увидите сообщение об успешной установке: “The ipa-client-install command was successful”.

Установка пакетов FreeIPA на Ubuntu

Важно:

  • Если autodiscovery не сработал, проверьте, что в /etc/resolv.conf первым указан FreeIPA DNS и что порт 53 открыт между машинами.
  • При ошибке при join можно попробовать опцию –force-join:
ipa-client-install --mkhomedir --no-ntp --force-join

Шаг 5 — Включение автоматического создания домашней директории

Даже при использовании –mkhomedir на Ubuntu нужно обеспечить PAM-конфигурацию, чтобы при первой авторизации пользователя автоматически создавалась домашняя директория.

Создайте конфигурацию PAM для mkhomedir:

cat > /usr/share/pam-configs/mkhomedir <

Примените конфигурацию PAM:

sudo pam-auth-update

После этого при первой авторизации пользователя через FreeIPA (через SSH или консоль) будет создана домашняя директория.

Шаг 6 — Проверка регистрации клиента на сервере

На FreeIPA-сервере выполните:

ipa host-show client1.hakase-labs.io

Вы увидите свойства зарегистрированного хоста. Также можно проверить через Web-интерфейс FreeIPA: зайдите в Dashboard → Hosts и найдите запись о клиенте.

Панель управления FreeIPA с информацией о хосте

Шаг 7 — Тестирование авторизации

Создайте тестовую учётную запись на FreeIPA-сервере:

ipa user-add misaka --first=misaka --last=mikoto [email protected] --shell=/bin/bash --password

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

ssh [email protected]

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

Результат тестового входа по SSH

Проверить информацию о пользователе локально можно командами:

getent passwd misaka
id misaka

Они должны возвращать сведения, полученные из LDAP/Kerberos.

Когда это может не сработать

  • DNS неправильно настроен или /etc/resolv.conf перезаписывается менеджером сети.
  • Порты между сервером и клиентом блокируются сетевым фаерволом (см. список портов ниже).
  • Разные версии пакетов FreeIPA на сервере и клиенте (редко, но возможно конфликтное поведение).
  • Неправильное время/синхронизация (Kerberos чувствителен к рассинхронированию часов).

Альтернативные подходы

  • Если вы не хотите полностью полагаться на DNS-autodiscovery, можно явно передать параметры в ipa-client-install: –server, –realm, –domain.
  • Для контейнерных/immutable-систем настраивайте клиент в образе (image build) или используйте configuration management (Ansible/Chef) для автоматизации.
  • Для гостевых машин без прямого доступа к DNS используйте статическую запись в /etc/hosts и ручной join (–server).

Контроль качества: критерии приёмки

  • Хост отображается в списке Hosts на FreeIPA-сервере.
  • Пользователь из FreeIPA может успешно выполнить вход на клиент и получить домашнюю директорию.
  • Команды getent passwd и id возвращают корректные данные из LDAP/Kerberos.
  • Синхронизация времени исправна (ntp или chrony) на клиенте и сервере.

Тесты/кейсы приёмки

  • Попытка входа с новой учётной записью: успешный вход и создана домашняя директория.
  • Попытка входа с некорректным паролем: доступ запрещён, событие логируется.
  • Отказ DNS: ipa-client-install должен корректно сообщать об ошибке autodiscovery.

Руководство для ролей (чек-листы)

Администратор серверов:

  • Проверить, что FreeIPA-сервер работает и доступен по сети.
  • Убедиться в корректной конфигурации DNS и времени.

SRE / инженер по развёртыванию:

  • Автоматизировать установку пакетов и запуск ipa-client-install в конфигурационном сценарии.
  • Обеспечить мониторинг доступности LDAP/Kerberos.

Helpdesk / оператор:

  • Проверить наличие хоста в Web UI → Hosts.
  • Проверить логины пользователей и при необходимости направить на администратора.

Безопасность и жёсткая настройка

  • Ограничьте доступ к портам FreeIPA только доверенным сетям (LDAP/LDAPS, Kerberos).
  • Используйте LDAPS (порт 636) и контролируйте сертификаты PKI (Dogtag).
  • Обновляйте пакеты безопасности на клиенте и сервере.
  • Ограничьте возможности sudo/политики авторизации через FreeIPA ACLs.

Совместимость и рекомендации по миграции

  • Для более новых версий Ubuntu (20.04, 22.04) процедура схожа, но пакеты и зависимости могут отличаться; проверяйте официальную документацию FreeIPA.
  • Для машин под управлением systemd-resolved настройте DNS в systemd, а не напрямую в /etc/resolv.conf.

Факты: порты и сервисы, задействованные FreeIPA

  • DNS: 53 (UDP/TCP)
  • Kerberos: 88 (UDP/TCP), kpasswd 464
  • LDAP: 389 (TCP), LDAPS 636
  • HTTP(S): 80/443
  • NTP/chrony: 123

Эти порты должны быть доступны между клиентом и сервером по сети.

План отката / восстановление

  • Если join завершился некорректно, выполните на клиенте:
ipa-client-install --uninstall
  • Удалите соответствующую запись хоста на сервере: либо через Web UI → Hosts → Delete, либо через CLI:
ipa host-del client1.hakase-labs.io

После исправления конфигурации повторите установку.

Полезные команды для отладки

  • Проверка DNS с клиента:
host -t A client1.hakase-labs.io
dig @10.9.9.15 client1.hakase-labs.io
  • Проверка времени:
chronyc tracking
  • Логи установки клиента: смотрите /var/log/sssd/ и /var/log/messages или journalctl -xe

Дополнительные советы

  • Автоматизируйте установку через Ansible: модуль command/apt для пакетов и command для ipa-client-install.
  • В тестовой среде сначала добавляйте и удаляйте хосты, чтобы выработать процедуру отката.

Ссылки и документация

Резюме

FreeIPA-клиент на Ubuntu 18.04 устанавливается и настраивается за несколько шагов: настройка DNS/FQDN, установка пакетов, запуск ipa-client-install и настройка PAM для mkhomedir. Ключевые моменты — корректная DNS-конфигурация, синхронизация времени и открытые сетевые порты. При подготовке к масштабированию автоматизируйте шаги и добавьте мониторинг.

Тестовая авторизация на клиенте

Краткие рекомендации:

  • Проверяйте /etc/resolv.conf и systemd-resolved при проблемах с DNS.
  • Убедитесь в корректной работе Kerberos — проверьте kinit.
  • При массовом развёртывании используйте CM-инструменты.
Поделиться: 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 быстро