FreeIPA/Клиент

Материал из ALT Linux Wiki
< FreeIPA
Версия от 16:15, 29 августа 2023; Elena Mishina (обсуждение | вклад) (→‎В пакетном режиме)
(разн.) ← Предыдущая версия | Текущая версия (разн.) | Следующая версия → (разн.)
Stub.png
Данная страница находится в разработке.
Эта страница ещё не закончена. Информация, представленная здесь, может оказаться неполной или неверной.


Подготовка системы к установке клиента FreeIPA

Клиентские компьютеры должны быть настроены на использование DNS-сервера, который был сконфигурирован на сервере FreeIPA во время его установки. В сетевых настройках необходимо указать использовать сервер FreeIPA для разрешения имен. Эти настройки можно выполнить как в графическом интерфейсе, так и в консоли.

В Центре управления системой в разделе «Сеть» → «Ethernet интерфейсы» задать имя компьютера, указать в поле «DNS-серверы» IP-адрес FreeIPA сервера и в поле «Домены поиска» — домен для поиска:

Настройка на использование DNS-сервера 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
Примечание: Сгенерированный пароль станет недействительным после регистрации машины в домене FreeIPA. Он будет заменен соответствующей таблицей ключей узла после завершения регистрации.


Запустить утилиту ipa-client-install в системе, которая будет настроена в качестве клиента. Чтобы указать одноразовый случайный пароль, необходимо использовать параметр --password. Т.к. пароль часто содержит специальные символы, следует заключить его в одинарные кавычки:

# ipa-client-install --mkhomedir --password='3SeOaJ5GyOxbPcLmF5wpFQH'

В пакетном режиме

Для установки в пакетном режиме утилите ipa-client-install с помощью параметров командной строки нужно предоставить всю необходимую информацию, как минимум:

  1. Метод проверки пользователя:
    • -p PRINCIPAL, --principal=PRINCIPAL и -w PASSWORD, --password=PASSWORD для указания учетных данных пользователя, уполномоченного регистрировать клиентов;
    • --password=PASSWORD указать одноразовый случайный пароль, сгенерированный для клиента;
    • -k KEYTAB, --keytab=KEYTAB, чтобы указать таблицу ключей из предыдущей регистрации.
  2. Возможность автоматической установки:
    • --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
Примечание: Полный список параметров можно увидеть, запустив команду ipa-client-install --help.


В Центре управления системой

Для ввода рабочей станции в домен FreeIPA, необходимо в Центре управления системой перейти в раздел «Пользователи» → «Аутентификация».

Здесь следует выбрать пункт «Домен FreeIPA», заполнить поля «Домен» и «Имя компьютера», затем нажать кнопку «Применить»:

Ввод в домен 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.

Примечание: Повторно зарегистрировать можно только тех клиентов, запись о которых в домене все еще активна. Если клиент удалён (ipa-client-install --uninstall) или запись его узла отключена (ipa host-disable) его нельзя повторно зарегистрировать.


Нельзя повторно зарегистрировать клиента, если он был переименован. Единственный способ переименовать клиента — удалить узел из FreeIPA, изменить имя узла и установить его в качестве клиента FreeIPA с новым именем.

При повторной регистрации, FreeIPA:

  • отменяет исходный сертификат хоста;
  • создает новые ключи SSH;
  • создает новый keytab.

В интерактивном режиме

Процедура повторной регистрации клиента FreeIPA в интерактивном режиме:

  1. Повторно создать клиентский компьютер с тем же именем хоста.
  2. Выполнить команду на клиентской машине:
    # ipa-client-install --force-join
    
  3. Скрипт запросит имя пользователя, имеющего право вводить машины в домен, и его пароль (можно использовать администратора по умолчанию, который был создан при установке сервера):
    User authorized to enroll computers: admin
    Password for admin@EXAMPLE.TEST:
    


В пакетном режиме, с использованием keytab клиентской системы

Повторная регистрация клиента FreeIPA в пакетном режиме:

  1. Создать резервную копию исходного файла keytab.
  2. Повторно создать (переустановить) клиентский компьютер, задав ему тоже имя узла.
  3. Скопировать файл keytab из резервной копии в каталог /etc/.
  4. Повторная регистрации клиента, с указанием местоположения файла keytab:
    # ipa-client-install --keytab /etc/krb5.keytab
    
Примечание: Keytab, указанный в параметре --keytab, используется только при аутентификации для инициации регистрации. Во время повторной регистрации FreeIPA создаст новый keytab для клиента.


Удаление клиента FreeIPA

При удалении, клиент удаляется из домена FreeIPA вместе с конфигурацией системных служб FreeIPA, таких как демон System Security Services Daemon (SSSD).

  1. На клиенте ввести команду:
    # 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
    
  2. На клиенте удалить старые принципалы Kerberos, кроме /etc/krb5.keytab:
    # ipa-rmkeytab -k /path/to/keytab -r EXAMPLE.TEST
    
  3. На сервере FreeIPA удалить все записи DNS для клиентского узла:
    # ipa dnsrecord-del
    Имя записи: comp04
    Имя зоны: example.test
    Возможность удаления определённой записи не предусмотрена.
    Удалить все? Yes/No (default No): yes
    -----------------------
    Удалена запись "comp04"
    -----------------------
    
  4. На сервере FreeIPA удалить запись узла с сервера FreeIPA LDAP. При этом будут удалены все службы и отозваны все сертификаты, выданные для этого узла:
    # ipa host-del comp04.example.test
    ---------------------------------
    Удалён узел "comp04.example.test"
    ---------------------------------
    
Примечание: Удаление записи узла клиента с сервера LDAP FreeIPA имеет решающее значение, если в будущем нужно будет зарегистрировать клиент с другим IP-адресом или другим именем узла.