FreeIPA/Клиент
Подготовка системы к установке клиента FreeIPA
Клиентские компьютеры должны быть настроены на использование DNS-сервера, который был сконфигурирован на сервере FreeIPA во время его установки. В сетевых настройках необходимо указать использовать сервер FreeIPA для разрешения имен. Эти настройки можно выполнить как в графическом интерфейсе, так и в консоли.
В Центре управления системой в разделе «Сеть» → «Ethernet интерфейсы» задать имя компьютера, указать в поле «DNS-серверы» IP-адрес FreeIPA сервера и в поле «Домены поиска» — домен для поиска:
В консоли:
- задать имя компьютера:
# hostnamectl set-hostname comp01.example.test
- добавить DNS сервер, для этого необходимо создать файл /etc/net/ifaces/eth0/resolv.conf со следующим содержимым:
nameserver 192.168.0.113
- где 192.168.0.113 — IP-адрес FreeIPA сервера;
- указать службе resolvconf использовать DNS FreeIPA и домен для поиска. Для этого в файле /etc/resolvconf.conf добавить/отредактировать следующие параметры:
interface_order='lo lo[0-9]* lo.* eth0' search_domains=example.test
- где eth0 — интерфейс на котором доступен FreeIPA сервер, example.test — домен;
- обновить DNS адреса:
# resolvconf -u
В результате выполненных действий в файле /etc/resolv.conf должны появиться строки:
search example.test
nameserver 192.168.0.113
Установка пакетов
Установить необходимые пакеты:
# apt-get install freeipa-client zip
Подключение к серверу
При настройке системы в качестве клиента FreeIPA она регистрируется в домене FreeIPA и позволяет системе использовать услуги FreeIPA на серверах FreeIPA.
Для успешной установки клиента FreeIPA необходимо предоставить учетные данные, которые можно использовать для регистрации клиента. Доступны следующие методы аутентификации:
- учетные данные привилегированного пользователя (параметр по умолчанию);
- одноразовый пароль (OTP);
- ключ (keytab) из предыдущей регистрации.
Интерактивная установка
Запустить скрипт настройки клиента в интерактивном режиме:
# ipa-client-install --mkhomedir
Можно добавить параметр --enable-dns-updates, чтобы обновить записи DNS с помощью IP-адреса клиентской системы, если выполняется одно из следующих условий:
- сервер FreeIPA, на котором будет зарегистрирован клиент, был установлен со встроенным DNS;
- DNS-сервер в сети принимает обновления записей DNS по протоколу GSS-TSIG.
# ipa-client-install --mkhomedir --enable-dns-updates
Скрипт установки должен автоматически найти необходимые настройки на FreeIPA сервере, вывести их и спросить подтверждение для найденных параметров:
This program will set up IPA client.
Version 4.9.7
Discovery was successful!
Do you want to configure CHRONY with NTP server or pool address? [no]:
Client hostname: comp08.example.test
Realm: EXAMPLE.TEST
DNS Domain: example.test
IPA Server: ipa.example.test
BaseDN: dc=example,dc=test
Continue to configure the system with these values? [no]: yes
Затем запрашивается имя пользователя, имеющего право вводить машины в домен, и его пароль (можно использовать администратора по умолчанию, который был создан при установке сервера):
User authorized to enroll computers: admin
Password for admin@EXAMPLE.TEST:
Далее сценарий установки настраивает клиент. Если установка прошла успешно, в конце вывода вы увидите:
Client configuration complete.
The ipa-client-install command was successful
С использованием одноразового пароля
На сервере добавить будущую клиентскую систему (следует использовать параметр --random, чтобы команда сгенерировала случайный одноразовый пароль):
# ipa host-add comp03.example.test --random --ip-address=192.168.0.104
-----------------------------------
Добавлен узел "comp03.example.test"
-----------------------------------
Имя узла: comp03.example.test
Случайный пароль: 3SeOaJ5GyOxbPcLmF5wpFQH
Пароль: True
Таблица ключей: False
Managed by: comp03.example.test
Запустить утилиту ipa-client-install в системе, которая будет настроена в качестве клиента. Чтобы указать одноразовый случайный пароль, необходимо использовать параметр --password. Т.к. пароль часто содержит специальные символы, следует заключить его в одинарные кавычки:
# ipa-client-install --mkhomedir --password='3SeOaJ5GyOxbPcLmF5wpFQH'
В пакетном режиме
Для установки в пакетном режиме утилите ipa-client-install с помощью параметров командной строки нужно предоставить всю необходимую информацию, как минимум:
- Метод проверки пользователя:
- -p PRINCIPAL, --principal=PRINCIPAL и -w PASSWORD, --password=PASSWORD для указания учетных данных пользователя, уполномоченного регистрировать клиентов;
- --password=PASSWORD указать одноразовый случайный пароль, сгенерированный для клиента;
- -k KEYTAB, --keytab=KEYTAB, чтобы указать таблицу ключей из предыдущей регистрации.
- Возможность автоматической установки:
- --unattended, -U — не запрашивать у пользователя информацию.
Скрипт настройки клиента в пакетном режиме:
# ipa-client-install -U -p admin -w 12345678
Если записи SRV установлены правильно в зоне DNS FreeIPA, сценарий автоматически обнаруживает все остальные требуемые значения. Если сценарий не может обнаружить значения автоматически, можно указать их с помощью параметров командной строки, например:
- --hostname=HOST_NAME — полное доменное имя (FQDN) для клиентского компьютера;
- --realm=REALM_NAME — имя области Kerberos для сервера FreeIPA;
- --domain=DOMAIN_NAME — доменное имя;
- --server=SERVER — FQDN сервера FreeIPA.
Пример скрипта настройки клиента в пакетном режиме с дополнительными параметрами:
# ipa-client-install -U --password='3SeOaJ5GyOxbPcLmF5wpFQH' --domain example.test --server ipa.example.test --realm EXAMPLE.TEST --mkhomedir
В Центре управления системой
Для ввода рабочей станции в домен FreeIPA, необходимо в Центре управления системой перейти в раздел «Пользователи» → «Аутентификация».
Здесь следует выбрать пункт «Домен FreeIPA», заполнить поля «Домен» и «Имя компьютера», затем нажать кнопку «Применить»:
В открывшемся окне необходимо ввести имя пользователя, имеющего право вводить машины в домен, и его пароль и нажать кнопку «ОК»:
В случае успешного подключения, будет выведено соответствующее сообщение:
Проверка клиента FreeIPA
Проверить, может ли клиент FreeIPA получать информацию о пользователях, определенных на сервере:
$ id admin
uid=465000000(admin) gid=465000000(admins) группы=465000000(admins)
Отладочная информация
При установке клиента FreeIPA отладочная информация добавляется в файл /var/log/ipaclient-install.log.
В случае сбоя установки клиента установщик регистрирует ошибку в журнале и откатывает изменения, чтобы отменить любые изменения на узле. Причина сбоя установки может быть указана не в конце файла журнала, так как программа установки также записывает в журнал процедуру отката. Для устранения неполадок при неудачной установке клиента FreeIPA следует просмотреть строки с пометкой ScriptError.
Повторная регистрация клиента FreeIPA
В этом сценарии рассмотрена процедура повторной регистрации клиента в среде FreeIPA с тем же именем хоста. Повторная регистрация может потребоваться, если клиентский компьютер был уничтожен и потерял связь с серверами FreeIPA, например, из-за аппаратного сбоя клиента.
Во время повторной регистрации клиент создает новый ключ Kerberos и ключи SSH, но идентификатор клиента в базе данных LDAP остается неизменным. После повторной регистрации узел имеет свои ключи и другую информацию в том же объекте LDAP с тем же полным доменным именем, что и раньше, до потери связи машины с серверами FreeIPA.
Нельзя повторно зарегистрировать клиента, если он был переименован. Единственный способ переименовать клиента — удалить узел из FreeIPA, изменить имя узла и установить его в качестве клиента FreeIPA с новым именем.
При повторной регистрации, FreeIPA:
- отменяет исходный сертификат хоста;
- создает новые ключи SSH;
- создает новый keytab.
В интерактивном режиме
Процедура повторной регистрации клиента FreeIPA в интерактивном режиме:
- Повторно создать клиентский компьютер с тем же именем хоста.
- Выполнить команду на клиентской машине:
# ipa-client-install --force-join
- Скрипт запросит имя пользователя, имеющего право вводить машины в домен, и его пароль (можно использовать администратора по умолчанию, который был создан при установке сервера):
User authorized to enroll computers: admin Password for admin@EXAMPLE.TEST:
В пакетном режиме, с использованием keytab клиентской системы
Повторная регистрация клиента FreeIPA в пакетном режиме:
- Создать резервную копию исходного файла keytab.
- Повторно создать (переустановить) клиентский компьютер, задав ему тоже имя узла.
- Скопировать файл keytab из резервной копии в каталог /etc/.
- Повторная регистрации клиента, с указанием местоположения файла keytab:
# ipa-client-install --keytab /etc/krb5.keytab
Удаление клиента FreeIPA
При удалении, клиент удаляется из домена FreeIPA вместе с конфигурацией системных служб FreeIPA, таких как демон System Security Services Daemon (SSSD).
- На клиенте ввести команду:
# ipa-client-install --uninstall … Client uninstall complete. The original nsswitch.conf configuration has been restored. You may need to restart services or reboot the machine. Do you want to reboot the machine? [no]: yes The ipa-client-install command was successful
- На клиенте удалить старые принципалы Kerberos, кроме /etc/krb5.keytab:
# ipa-rmkeytab -k /path/to/keytab -r EXAMPLE.TEST
- На сервере FreeIPA удалить все записи DNS для клиентского узла:
# ipa dnsrecord-del Имя записи: comp04 Имя зоны: example.test Возможность удаления определённой записи не предусмотрена. Удалить все? Yes/No (default No): yes ----------------------- Удалена запись "comp04" -----------------------
- На сервере FreeIPA удалить запись узла с сервера FreeIPA LDAP. При этом будут удалены все службы и отозваны все сертификаты, выданные для этого узла:
# ipa host-del comp04.example.test --------------------------------- Удалён узел "comp04.example.test" ---------------------------------