FreeIPA/Клиент: различия между версиями

Материал из ALT Linux Wiki
 
(не показаны 3 промежуточные версии этого же участника)
Строка 4: Строка 4:


Клиентские компьютеры должны быть настроены на использование DNS-сервера, который был сконфигурирован на сервере FreeIPA во время его установки. В сетевых настройках необходимо указать использовать сервер FreeIPA для разрешения имен. Эти настройки можно выполнить как в графическом интерфейсе, так и в консоли.
Клиентские компьютеры должны быть настроены на использование DNS-сервера, который был сконфигурирован на сервере FreeIPA во время его установки. В сетевых настройках необходимо указать использовать сервер FreeIPA для разрешения имен. Эти настройки можно выполнить как в графическом интерфейсе, так и в консоли.
В [[ЦУС|Центре управления системой]] в разделе «Сеть» → «Ethernet интерфейсы» задать имя компьютера, указать в поле «DNS-серверы» IP-адрес FreeIPA сервера и в поле «Домены поиска» — домен для поиска:
[[Файл:Alterator-net-eth0-freeipa01.png|Настройка на использование DNS-сервера FreeIPA]]
{{Note| После изменения имени компьютера могут перестать запускаться приложения. Для решения этой проблемы необходимо перезагрузить систему.}}
В консоли:
*задать имя компьютера:
*:<source lang="text" highlight="1"># hostnamectl set-hostname comp01.example.test</source>
*добавить DNS сервер, для этого необходимо создать файл {{path|/etc/net/ifaces/eth0/resolv.conf}} со следующим содержимым:
*:<source lang="text">nameserver 192.168.0.113</source>
*:где 192.168.0.113 — IP-адрес FreeIPA сервера;
*указать службе resolvconf использовать DNS FreeIPA и домен для поиска. Для этого в файле {{path|/etc/resolvconf.conf}} добавить/отредактировать следующие параметры:
*:<source lang="text">interface_order='lo lo[0-9]* lo.* eth0'
search_domains=example.test</source>
*:где eth0 — интерфейс на котором доступен FreeIPA сервер, example.test — домен;
*обновить DNS адреса:
*:<source lang="text" highlight="1"># resolvconf -u</source>
В результате выполненных действий в файле {{path|/etc/resolv.conf}} должны появиться строки:
<source lang="text">search example.test
nameserver 192.168.0.113</source>


== Установка пакетов ==
== Установка пакетов ==
Строка 91: Строка 115:


Пример скрипта настройки клиента в пакетном режиме с дополнительными параметрами:  
Пример скрипта настройки клиента в пакетном режиме с дополнительными параметрами:  
<source lang="text" highlight="1"># ipa-client-install -U --password='3SeOaJ5GyOxbPcLmF5wpFQH' --domain example.test --serveripa.example.test --realm EXAMPLE.TEST --mkhomedir</source>
<source lang="text" highlight="1"># ipa-client-install -U --password='3SeOaJ5GyOxbPcLmF5wpFQH' --domain example.test --server ipa.example.test --realm EXAMPLE.TEST --mkhomedir</source>


{{Note|Полный список параметров можно увидеть, запустив команду {{cmd|ipa-client-install --help}}. }}
{{Note|Полный список параметров можно увидеть, запустив команду {{cmd|ipa-client-install --help}}. }}
Строка 123: Строка 147:


== Повторная регистрация клиента FreeIPA ==
== Повторная регистрация клиента FreeIPA ==
В этом сценарии рассмотрена процедура повторной регистрации клиента в среде FreeIPA с тем же именем хоста. Повторная регистрация может потребоваться, если клиентский компьютер был уничтожен и потерял связь с серверами FreeIPA, например, из-за аппаратного сбоя клиента.


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


=== В интерактивном режиме ===
=== В интерактивном режиме ===
Повторная регистрация клиента FreeIPA в интерактивном режиме:
Процедура повторной регистрации клиента FreeIPA в интерактивном режиме:
<source lang="text" highlight="1"># ipa-client-install --force-join</source>
#Повторно создать клиентский компьютер с тем же именем хоста.
#Выполнить команду на клиентской машине:
#:<syntaxhighlight lang="bash"># ipa-client-install --force-join</syntaxhighlight>
#Скрипт запросит имя пользователя, имеющего право вводить машины в домен, и его пароль (можно использовать администратора по умолчанию, который был создан при установке сервера):
#:<syntaxhighlight lang="bash">User authorized to enroll computers: admin
Password for admin@EXAMPLE.TEST: </syntaxhighlight>


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


=== В пакетном режиме, с использованием keytab клиентской системы ===
=== В пакетном режиме, с использованием keytab клиентской системы ===
Строка 148: Строка 178:
#Скопировать файл keytab из резервной копии в каталог {{path|/etc/}}.
#Скопировать файл keytab из резервной копии в каталог {{path|/etc/}}.
#Повторная регистрации клиента, с указанием местоположения файла keytab:
#Повторная регистрации клиента, с указанием местоположения файла keytab:
#:<source lang="text" highlight="1"># ipa-client-install --keytab /etc/krb5.keytab</source>
#:<syntaxhighlight lang="bash"># ipa-client-install --keytab /etc/krb5.keytab</syntaxhighlight>


{{Note|Keytab, указанный в параметре <tt>--keytab</tt>, используется только при аутентификации для инициации регистрации. Во время повторной регистрации FreeIPA создаст новый keytab для клиента.}}
{{Note|Keytab, указанный в параметре <tt>--keytab</tt>, используется только при аутентификации для инициации регистрации. Во время повторной регистрации FreeIPA создаст новый keytab для клиента.}}
Строка 154: Строка 184:
== Удаление клиента FreeIPA ==
== Удаление клиента FreeIPA ==


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


#На клиенте ввести команду:
#На клиенте ввести команду:

Текущая версия от 16:15, 29 августа 2023

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-адресом или другим именем узла.