# 2024 Модуль Б: 8. На сервере SRV-HQ сконфигурируйте основной доменный контроллер на базе FreeIPA

#### **Задание:**

10\. На сервере SRV-HQ сконфигурируйте основной доменный контроллер на базе FreeIPA

* a) Создайте 30 пользователей user1-user30.
* b) Пользователи user1-user10 должны входить в состав группы group1.
* c) Пользователи user11-user20 должны входить в состав группы group2.
* d) Пользователи user21-user30 должны входить в состав группы group3.
* e) Разрешите аутентификацию с использованием доменных учетных данных на ВМ CLI-HQ.
* f) Установите сертификат центра сертификации FreeIPA в качестве доверенного на обоих клиентских ПК.

#### Выполнение:

**SRV-HQ:**

**Развёртывание контроллера домена на базе FeeIPA:**

* Для ускорения установки можно установить демон энтропии **haveged**:

```
apt-get update && apt-get install -y haveged
```

* Включаем и запускаем службу **haveged**:

```
systemctl enable --now haveged
```

* Установим пакет **FreeIPA**:

```
apt-get install -y freeipa-server
```

* Запускаем интерактивную установку **FreeIPA**:

```
ipa-server-install
```

**1** - отвечаем **no** на вопрос, нужно ли сконфигурировать **DNS-сервер BIND**;

**2, 3, 4** - нужно указать **имя узла** на котором будет установлен сервер **FreeIPA**, **доменное имя** и **пространство Kerberos**;

* * *Эти имена нельзя изменить после завершения установки!*

![](https://sysahelper.ru/pluginfile.php/225/mod_page/content/4/image%20%2820%29.png)

**1** - задаётся и подтверждается пароль для **Director Manager**;

* не менее 8 символов;

**2** - задаётся и подтверждается пароль для **администратора** FreeIPA;

![](https://sysahelper.ru/pluginfile.php/225/mod_page/content/4/image%20%2821%29.png)

**1** - указывается **имя NetBIOS**;

**2** - Указать, если это необходимо, **NTP-сервер** или пул серверов:

**3** - Далее необходимо проверить информацию о конфигурации и подтвердить ответив **yes**:

![](https://sysahelper.ru/pluginfile.php/225/mod_page/content/4/image%20%2822%29.png)

Начнётся процесс конфигурации. После его завершения будет **выведена следующая информация**:

![](https://sysahelper.ru/pluginfile.php/225/mod_page/content/4/image%20%2823%29.png)

* Проверяем запущенные службы FreeIPA:

![](https://sysahelper.ru/pluginfile.php/225/mod_page/content/4/image%20%2824%29.png)

**Далее выполняем создание необходимых групп и пользователей:**

*Пользователей и группы можно накликать и в веб-интерфейсе FreeIPA с CLI-HQ*

* получаем билет **kerberos**:

```
kinit admin
```

* * вводим пароль доменного пользователя **admin:**

![](https://sysahelper.ru/pluginfile.php/225/mod_page/content/4/image%20%286%29.png)

* используя цикл **for** создадим **30** пользователей: **user№** с паролем **P\@ssw0rd**, а также сменим срок действия пароля до **2025** года, чтобы при входе из под пользователя на не пришлось менять пароль:

```
for i in {1..30};do 
	echo "P@ssw0rd" | ipa user-add user$i --first=User --last=$i --password;
	ipa user-mod user$i --setattr=krbPasswordExpiration=20251225011529Z;
done
```

* Проверяем:

![](https://sysahelper.ru/pluginfile.php/225/mod_page/content/4/image%20%287%29.png)

* создадим группы: **group1**, **group2** и **group3**:

```
for i in {1..3}; do
	ipa group-add group$i;
done
```

![](https://sysahelper.ru/pluginfile.php/225/mod_page/content/4/image%20%288%29.png)

* добавим пользователей в соответствующие группы:
  * **group1:**

```
for i in {1..10}; do
	ipa group-add-member group1 --users=user$i;
done
```

![](https://sysahelper.ru/pluginfile.php/225/mod_page/content/4/image%20%289%29.png)

* * **group2:**

```
for i in {11..20}; do
	ipa group-add-member group2 --users=user$i;
done
```

![](https://sysahelper.ru/pluginfile.php/225/mod_page/content/4/image%20%2810%29.png)

* * **group3:**

```
for i in {21..30}; do
	ipa group-add-member group3 --users=user$i;
done
```

![](https://sysahelper.ru/pluginfile.php/225/mod_page/content/4/image%20%2811%29.png)

**Разрешаем аутентификацию с использованием доменных учетных данных на ВМ CLI-HQ**

Чтобы разрешить аутентификацию с использованием доменных учетных данных на CLI-HQ введём CLI-HQ в домен FreeIPA

* &#x20;

**CLI-HQ:**

* Установим необходимые пакеты:

```
apt-get update && apt-get install -y freeipa-client zip
```

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

```
ipa-client-install --mkhomedir
```

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

![](https://sysahelper.ru/pluginfile.php/225/mod_page/content/4/image%20%2812%29.png)

* перезапускаем клиента:

```
reboot
```

* Также после ввода в домен - **CLI-HQ** автоматически доверяет интегрированному **Корневому Центру Сертификации FreeIPA**:

<img src="https://sysahelper.ru/pluginfile.php/225/mod_page/content/4/image%20%2813%29.png" alt="" height="619" width="989">

<img src="https://sysahelper.ru/pluginfile.php/225/mod_page/content/4/image%20%2814%29.png" alt="" height="603" width="988">

* Выполняем вход из под пользователя **admin** и проверяем ранее **созданные группы**:

![](https://sysahelper.ru/pluginfile.php/225/mod_page/content/4/image%20%2815%29.png)

* * И соответствующих пользователей в каждой группе:

![](https://sysahelper.ru/pluginfile.php/225/mod_page/content/4/image%20%2816%29.png)

![](https://sysahelper.ru/pluginfile.php/225/mod_page/content/4/image%20%2817%29.png)

![](https://sysahelper.ru/pluginfile.php/225/mod_page/content/4/image%20%2818%29.png)

* проверим вход на **HQ-CLI** из под доменного пользователя:

![](https://sysahelper.ru/pluginfile.php/225/mod_page/content/4/image%20%2819%29.png)

Для добавления Корневого Сертификата на **CLI-BR** - необходимо передать сертификат с **SRV-HQ** расположенный по пути **/etc/ipa/ca.crt**

* данный сертификат на **CLI-BR** - необходимо разместить по пути **/etc/pki/ca-trust/source/anchors/** и выполнить команду **update-ca-trust extract**


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://seraphim.gitbook.io/volodyazetkin2024gitbook/2024-modul-b-1.-bazovaya-nastroika/2024-modul-b-8.-na-servere-srv-hq-skonfiguriruite-osnovnoi-domennyi-kontroller-na-baze-freeipa.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
