FreeIPA/Клиент

Материал из ALT Linux Wiki
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 --serveripa.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

Во время повторной регистрации клиент создает новый ключ Kerberos и ключи SSH, но идентификатор клиента в базе данных LDAP остается неизменным. После повторной регистрации узел имеет свои ключи и другую информацию в том же объекте LDAP с тем же полным доменным именем, что и раньше, до потери связи машины с серверами FreeIPA.

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


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

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

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

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

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

# ipa-client-install --force-join

Скрипт запросит имя пользователя, имеющего право вводить машины в домен, и его пароль (можно использовать администратора по умолчанию, который был создан при установке сервера).

В пакетном режиме, с использованием 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-адресом или другим именем узла.