Топология:

Название устройства | ОС |
---|---|
RTR-HQ |
Альт Сервер 10 |
RTR-BR |
Альт Сервер 10 |
SRV-HQ |
Альт Сервер 10 |
SRV-BR |
Альт Сервер 10 |
CLI-HQ |
Альт Рабочая станция 10 |
CLI-BR |
Альт Рабочая станция 10 |
SW-HQ |
Альт Сервер 10 |
SW-BR |
Альт Сервер 10 |
PVE1-BR |
Альт Сервер 10 |
PVE2-BR |
Альт Сервер 10 |
CICD-HQ |
Альт Сервер 10 |
K8S-MASTER-HQ |
Debian 11 |
WORKER1-HQ |
Debian 11 |
WORKER2-HQ |
Debian 11 |
K8S-WORKER1-HQ |
Debian 11 |
K8S-WORKER2-HQ |
Debian 11 |
Задания:
-
Настройте имена устройств согласно топологии
-
Используйте полное доменное имя
-
на всех ВМ выполняем следующую команду:
где:
-
<name> — имя ВМ в соответствие с топологией, например:
-
rtr-hq.company.prof;
-
rtr-br.company.prof и т.д.
-
-
company.prof — доменное имя
Проверить:
RTR-HQ:

RTR-BR:

-
Сконфигурируйте адреса устройств на свое усмотрение. Для офиса HQ выделена сеть 10.0.10.0/24, для офиса BR выделена сеть 10.0.20.0/24. Данные сети необходимо разделить на подсети для каждого vlan.
Далее в задании на этапе настройки коммутации, указано явное требование: «Количество хостов в каждой подсети не должно превышать 30-ти», отсюда разбиение на подсети для каждого vlan будет следующее:
HQ:
Имя подсети | Подсеть | Диапазон адресов (узловых) |
---|---|---|
vlan100 |
10.0.10.0/27 |
10.0.10.1 — 10.0.10.30 |
vlan200 |
10.0.10.32/27 |
10.0.10.33 — 10.0.10.62 |
vlan300 |
10.0.10.64/27 |
10.0.10.65 — 10.0.10.94 |
BR:
Имя подсети | Подсеть | Диапазон адресов (узловых) |
---|---|---|
vlan100 |
10.0.20.0/27 |
10.0.20.1 — 10.0.20.30 |
vlan200 |
10.0.20.32/27 |
10.0.20.33 — 10.0.20.62 |
vlan300 |
10.0.20.64/27 |
10.0.20.65 — 10.0.20.94 |
vlan400 |
10.0.20.96/27 |
10.0.20.97 — 10.0.20.126 |
а также таблица адресации устройств:
Имя ВМ | Имя подсети | IP-адрес |
---|---|---|
RTR-HQ |
ISP |
11.11.11.11/24 |
|
vlan100 |
10.0.10.1/27 |
|
vlan200 |
10.0.10.33/27 |
|
vlan300 |
10.0.10.65/27 |
RTR-BR |
ISP |
22.22.22.22/24 |
|
vlan100 |
10.0.20.1/27 |
|
vlan200 |
10.0.20.33/27 |
|
vlan300 |
10.0.20.65/27 |
|
vlan400 |
10.0.20.97/27 |
SW-HQ |
vlan300 |
10.0.10.66/27 |
SW-BR |
vlan300 |
10.0.20.66/27 |
SRV-HQ |
vlan100 |
10.0.10.2/27 |
SRV-BR |
vlan100 |
10.0.20.2/27 |
CLI-HQ |
vlan200 |
DHCP |
CLI-BR |
vlan200 |
DHCP |
CI-CD |
vlan100 |
10.0.10.3/27 |
K8S-MASTER-HQ |
vlan100 |
10.0.10.4/27 |
K8S-WORKER1-HQ |
vlan100 |
10.0.10.5/27 |
K8S-WORKER2-HQ |
vlan100 |
10.0.10.6/27 |
WORKER1-HQ |
vlan100 |
10.0.10.7/27 |
WORKER2-HQ |
vlan100 |
10.0.10.8/27 |
PVE1-BR |
vlan400 |
10.0.20.98/27 |
PVE2-BR |
vlan400 |
10.0.20.99/27 |
На данном этапе назначим IP-адреса на все ВМ за исключением: CLI-HQ, CLI-BR, SW-HQ, SW-BR.
RTR-HQ:
-
ens33 — интерфейс в сторону ISP;
-
ens34 — интерфейс в сторону SW-HQ;
Настраиваем подключение к ISP, для доступа к настоящей сети Интернет:
-
в качестве сетевой подсистемы используется — etcnet;
-
для того чтобы задать статические параметры в файле по пути — /etc/net/ifaces/<int_name>/options должны быть следующие параметры:
-
задаём IP-адрес из сети ISP (11.11.11.0/24)
-
задаём IP-адрес шлюза по умолчанию (IP-адрес ISP):
-
задаём IP-адрес DNS сервер (времменно, для установки пакетов и доступа в Интернет):
-
в качестве DNS-сервера может выступать также ISP, в этом случае указывается его IP-адрес как адрес DNS сервера;
-
-
включаем перессылку пакетов (forwarding):
Создаём подинтерфейсы (для дальнейшей маршрутизации между vlan, после настройки коммутации):
-
создаём директорию в /etc/net/ifaces для физического интерфейса ens34:
-
далее при помощи цикла for создаём необходимую структуру каталогов в /etc/net/ifaces и описываем файл options для создаваемых подинтерфейсов:
-
назначаем IP-адреса на подинтерфейсы:
-
включаем модуль ядра 8021q:
-
перезапускаем службу etcnet:
Проверяем:
-
структура каталогов и файлов в /etc/net/ifaces/ получилась следующая:

-
подключение к ISP и доступ к сети Интернет:

-
наличие тэга vlan на подинтерфейсах:

-
итог:

RTR-BR:
настройка аналогична RTR-HQ (за исключением добавления vlan400 для PVE):
-
ens33 — интерфейс в сторону ISP;
-
ens34 — интерфейс в сторону SW-HQ;
Результат настройки RTR-BR получается следующий:

SRV-HQ:
-
на данном этапе задаём пока только IP-адрес и шлюз по умолчанию:
Проверяем:

SRV-BR:
Настройка аналогична SRV-HQ за исключением 3-го октета:

CI-CD:
Настройка аналогична SRV-HQ:

K8S-MASTER-HQ:
Так как данная ВМ на базе Debian 11 правим конфигурационный файл /etc/network/interfaces
-
приводим его к следующему виду:

-
перезапускаемслужбу networking:
Проверяем:

K8S-WORKER1-HQ | K8S-WORKER2-HQ | WORKER1-HQ | WORKER2-HQ:
Настраиваются аналогично K8S-MASTER-HQ за исключением увеличения (+1) в последнем октете:




-
На SRV-HQ и SRV-BR, создайте пользователя sshuser с паролем P@ssw0rd
-
Пользователь sshuser должен иметь возможность запуска утилиты sudo без дополнительной аутентификации.
-
Запретите парольную аутентификацию. Аутентификация пользователя sshuser должна происходить только при помощи ключей
-
Измените стандартный ssh порт на 2023
-
На CLI-HQ сконфигурируйте клиент для автоматического подключения к SRV-HQ и SRV-BR под пользователем sshuser. При подключении автоматически должен выбираться корректный порт. Создайте пользователя sshuser на CLI-HQ для обеспечения такого сетевого доступа.
SRV-HQ | SRV-BR:
-
создаём пользователя sshuser:
где:
-
-m — если домашнего каталога пользователя не существует, то он будет создан
-
-U — создаётся группа с тем же именем, что и у пользователя, и добавляет пользователя в эту группу
-
-s /bin/bash — задаётся имя регистрационной оболочки пользователя
-
создаём пароль для пользователя sshuser:
-
после чего дважды задаём необходимы пароль (P@ssw0rd) для пользователя:

Проверяем:
-
выполняем вход из под созданного пользователя:

Реализуем возможность запуска утилиты sudo без дополнительной аутентификации для пользователя sshuser:
В Альт sudo используется фреймворк control, который задаёт права на выполнение команды sudo. С его помощью можно дать или отнять права на использование команды sudo.
Штатное состояние политики:

wheelonly — только пользователи из группы wheel имеют право получить доступ к команде /usr/bin/sudo
-
добавляем пользователя sshuser в группу wheel:
где:
-
-a — добавляет пользователя в дополнительную группу(ы). Используется только вместе с параметром -G.
Проверить:

-
настраиваем sudo, правим конфигурационный файл /etc/sudoers:
1 — разрешаем использовать sudo для всех пользователей входящих в группу wheel:
-
снимаем комментарий со следующей строки;
2 — разрешаем использовать sudo пользователю sshuser без дополнительной аутентификации:
-
добавляем следующую строку;

Проверить:
Выполнить вход под пользователем sshuser и попытаться выполнить sudo -i или иную другую команду требующую повышения привелегий до root:
-
SRV-HQ:

-
SRV-BR:

Вся последующая настройка SSH будет выполнена позднее после получения необходимых сетевых параметров для CLI-HQ по DHCP, а также сгенерированы и переданы необходимые ключи
-
На SRV-HQ настройте зеркалируемый LVM том
-
Используйте два неразмеченных жестких диска
-
Настройте автоматическое монтирование логического тома
-
Точка монтирования /opt/data.
SRV-HQ:
Используем два неразмеченных жёстких диска: sdb и sdc

-
создаём раздел на диске sdb
1 — Создаём пустую GUID partition table — нажимаем «o» -> «y», чтобы удалить все разделы и создать GPT запись;
2 — Создаём первый и единственный раздел на весь диск. Нажимаем «n» -> 1 -> ‘enter’ -> ‘enter’ -> «8e00» — указываем, что данный раздел относится к LVM;
3 — «p» — Теперь можно просмотреть то, что получилось.

после чего нажимаем «w» -> «Y» — подтверждаем и записываем изменения на диск:

Проверить:

-
аналогичным образом создаём раздел на диске sdc:
Проверить:

-
Инициализируем диски для работы с LVM:
где:
/dev/sd{b,c}1 — это разделы блочных устройств: sdb и sdc;
-
Создаём и добавляем диски в группу vg01:
где:
vg01 — имя группы; /dev/sd{b,c}1 — это разделы блочных устройств: sdb и sdc, ранее проинициализированные для работы с LVM;
-
Создаём логический том в режиме зеркалирования (raid1):
где:
-l 100%FREE — используется все свободное пространство группы vg01;
-n lvmirror — задаётся имя логическому тому «lvmirror»;
-m1 — создает зеркальный логический том с «зеркальными» копиями;
vg01 — имя группы созданной ранее, в которой создаётся логический том с именем lvmirror.

Проверить:

-
создаём файловую систему на логическом томе lvmirror:
-
Монтируем логический диск в «/opt/data»:
создаём директорию для монтирования:
добавляем запись в файл /etc/fstab для автоматического монтирования логического тома:
выполняем монтирование:

Проверить:

-
На SRV-BR сконфигурируйте stripped LVM том
-
Используйте два неразмеченных жестких диска
-
Настройте автоматическое монтирование тома
-
Обеспечьте шифрование тома средствами dm-crypt. Диск должен монтироваться при загрузке ОС без запроса пароля.
-
Точка монтирования /opt/data
Используем два неразмеченных жёстких диска: sdb и sdc

-
Создаём разделы на двух подключённых дисках «sdb и sdc» аналогично как и на SRV-HQ — через gdisk
Результат:

-
Аналогично SRV-HQ добавляем диски в LVM и создаём группу из двух дисков:

-
Создаём striped LVM том с именем «lvstriped:
где:
-i2 — количество полосок (для полосок необходимо использовать диск);
-l 100%FREE — используется все свободное пространство группы vg01;
-n lvstreped — задаётся имя логическому тому «lvstreped»;
vg01 — имя группы созданной ранее, в которой создаётся логический том с именем lvstreped.
Проверить:

-
создаём файловую систему на логическом томе lvstreped:
-
Обеспечиваем шифрование тома средствами dm-crypt:
Создаём ключевой файл:
Выполняем шифрование тома «lvstreped» с использованием ключевого файла вместо пароля, указывая путь до логического тома и путь до созданного ключа:
после ввода данной команды необходимо подтверждение — «YES«:

-
Далее необходимо открыть только что зашифрованный логический том при помощи созданного ключа, чтобы он появился в списке блочных устройств в выводе команды «lsblk«:
где:
-d /etc/keys/enc.key — путь до ключа, которым был зашифрован логический том lvstreped;
/dev/vg01/lvstreped — путь до логического тома, с которого необходимо снять шифрование;
lvstreped — произвольное имя, которое будет назначено для разшифрованного тома, и должно появиться в выводе команды lsblk.

-
Задаём файловую систему на только расшифрованном томе который находится в директории /dev/mapper/:
-
Монтируем логический диск в «/opt/data»:
создаём директорию для монтирования:
добавляем запись в файл /etc/fstab для автоматического монтирования логического тома:
P.S: UUID указывается расшифрованного (открытого) логического тома.
выполняем монтирование:

-
Обеспечиваем монтирование логического тома при загрузке ОС без ввода пароля:
P.S: UUID указывается зашифрованного (закрытого) логического тома, чтобы во время загрузки ОС до монтирования выполнялось его открытие при помощи ключа.
Проверить:
-
выполнить перезагрузку reboot, запуск ОС должен произости без какой либо ошибки на стадии загрузки, после чего проверить примонтированные устройства:

-
В качестве коммутаторов используются SW-HQ и SW-BR.
-
В обоих офисах сервера должны находится во vlan100, клиенты во vlan200, management подсеть во vlan300
-
Создайте management интерфейсы на коммутаторах
-
Для каждого vlan рассчитайте подсети, выданные для офисов. Количество хостов в каждой подсети не должно превышать 30-ти.
-
Создайте vlan400 для Proxmox. Этот VLAN является внутренним для всех виртуальных машин, развернутых в кластере.
SW-HQ:
openvswitch — был установлен ранее (SW-HQ не имеет доступ в Интернет).
-
включаем и добавляем в автозагрузку openvswitch:
Интерфейсы:
ens33 — в сторону RTR-HQ;
ens34 — vlan100;
ens35 — vlan200;
Сетевая подсистема etcnet будет взаимодействовать с openvswitch, поэтому в директоии /etc/net/ifaces/ создаём следующую структуру каталагов:
-
создаём каталоги для физических интерфейсов ens34 и ens35:
-
создаём также каталог для мостового интерфейса с именем ovs0:
-
создаём каталог для management интерфейса с именем mgmt:

Описываем файлы options для каждого интерфейса:
-
правим основной файл options в котором по умолчанию сказано — удалять настройки заданые через ovs-vsctl, т.к. через etcnet будет выполнено только создание bridge и интерфейса типа internal с назначением необходимого IP-адреса, а настройка функционала будет выполнена средствами openvswitch:
-
описываем файл options для создания моста с именем ovs0:
содержимое файла следующее:
где:
TYPE — тип интерфейса (bridge);
HOST — интерфейсы которые будут добавлены в bridge;
-
описываем файл options для создания management интерфейса с именем mgmt:
содержимое файла следующее:
где:
TYPE — тип интерфейса (internal);
BOOTPROTO — определяет как будут назначаться сетевые параметры (статически);
CONFIG_IPV4 — определяет использовать конфигурацию протокола IPv4 или нет;
BRIDGE — определяет к какому мосту необходимо добавить данный интерфейс;
VID — определяет принадлежность интерфейса к VLAN;
-
файл options для физических интерфейсов ens34 и ens35 аналогичен ens33:
-
назначаем IP-адрес на созданный management интерфейс mgmt согласно таблеце адресации:
-
перезапускаем службу etcnet:

Средствами openvswitch настраиваем следующий функционал:
-
порт ens33 смотрящий в сторону RTR-HQ — делаем trunk и пропускаем все необходимые VLANs:
-
порт ens34 назначаем тэг 100 VLAN:
-
порт ens35 назначаем тэг 200 VLAN:
-
включаем модуль ядра 8021q
Проверить:

-
также проверить доступ к managment интерфейсу с SRV-HQ к примеру:

SW-BR
openvswitch — был установлен ранее (SW-HQ не имеет доступ в Интернет).
Интерфейсы:
ens33 — в сторону RTR-BR;
ens34 — vlan100;
ens35 — vlan200;
Настройка аналогична настройке SW-HQ за исключением добавления интерфейса типа internal для VLAN 400 с именем vlan400.
Результат:


Так как далее для Установка и настройка сервера баз данных требуется связь между офисами HQ и BR самое время построить туннель и выполнить сразу этот пункт задания, а также настроить маршрутизацию.
-
Между маршрутизаторами RTR-HQ и RTR-BR сконфигурируйте защищенное соединение
-
Все параметры на усмотрение участника
-
Используйте парольную аутентификацию
Будет выполняться настройка GRE-туннеля с последующим шифрованием, через IPSec:
RTR-HQ
-
Создаём директорию для туннельного интерфейса:
-
Создаём конфигурационный файл туннельного интерфейса:
содержимое конфигурационного файла:
где:
TUNLOCAL — IP — адрес внешнего интерфейса RTR-HQ (локальная точка туннеля);
TUNREMOE — IP — адрес внешнего интерфейса RTR-BR (точка туннеля на удаленной системе);
TUNTYPE — определяет тип туннеля;
TYPE — определяет тип интерфейса;
TUNMTU — определяем MTU (максимальный размер полезного блока данных одного пакета, который может быть передан протоколом без фрагментации);
TUNOPTIONS — определяет тип IP-туннеля;
DISABLE — определяет игнорировать интерфейс или нет;
Примечание: для нормальной работы OSPF необходимо явно задать значение TTL для строящегося туннеля (например, TUNOPTIONS=’ttl 64′). По умолчанию TTL=inherit, что значит «наследовать значение TTL из вкладываемого в туннель пакета». В случае с OSPF, TTL=1, стало быть первый встречный маршрутизатор отбросит такой пакет, что нам совсем не нужно.
-
Назначаем IP — адрес на туннельный интерфейс:
-
перезагружаем службу network:
-
включаем модуль ядра gre:
Проверить:

RTR-BR
Настройки аналогичны RTR-HQ, необходимо лишь поменять местами IP-адреса в TUNLOCAL и TUNREMOTE, а также задать IP-адрес из выделенной туннельной сети 172.16.100.0/24.
Результат:

Настраиваем шифрование туннеля GRE:
RTR-HQ
-
Устанавливаем пакет strongswan:
-
Описываем конфигурационный файл ipsec.conf:
содержимое конфигурационного файла:

где:
conn gre — создание соединения с именем gre;
auto=start — запускать соединение автоматически при старте демона IPSec;
type=tunnel — указывает IPSec работать в туннельном режиме. Туннельный режим работы шифрует изначальный IP-пакет полностью и добавляет новый заголовок IP. Транспортный режим работы шифрует все, что выше уровня IP, а заголовок IP оставляет без изменений. Грубо говоря, туннельный режим используется для того, чтобы связать две приватные сети через публичную, обеспечив при этом шифрование (что-то вроде безопасного GRE). Транспортный же актуален тогда, когда IP-связность уже достигнута, но трафик между узлами нужно шифровать;
authby=secret — указывает IPSec на аутентификацию по ключу из файла /etc/strongswan/ipsec.secrets;
left — указывает локальный адрес (откуда подключаемся);
right — указывает удаленный адрес (куда подключаемся);
leftsubnet — локальные подсети, трафик из которых необходимо шифровать;
rightsubnet — удаленные подсети, трафик к которым необходимо шифровать;
leftprotoport — локальный транспортный протокол для шифрования;
rightprotoport — удаленный транспортный протокол для шифрования;
ike — параметры первой фазы IPSec;
esp — параметры второй фазы IPSec.
-
Задаём парольную аутентификацию:
содержимое конфигурационного файла:

Указываются два публичных IP-адреса, которые используются для создания туннеля. Порядок их записи не важен. Далее разделитель в виде двоеточия. PSK — Pre-Shared Key — в криптографии предварительный общий ключ — это общий секретный ключ, который принят между двумя сторонами, использующими некоторый защищенный канал, прежде чем его нужно зашифровать. Далее указывается секрет\пароль, он должен быть одинаковым для обеих сторон.
-
Включаем и добавляем в автозагрузку службу ipsec:
RTR-BR
Настройки аналогичны RTR-HQ, необходимо лишь поменять местами IP-адреса в left и right в конфигурационном файле /etc/stringswan/ipsec.conf.

Проверить:
-
RTR-HQ

-
RTR-BR

Также можно, через tcpdump проверить наличие ESP трафика на ISP или RTR-BR, что будет гарантировать шифрование трафика:

-
Обеспечьте динамическую маршрутизацию: ресурсы одного офиса должны быть доступны из другого офиса
-
Для обеспечения динамической маршрутизации используйте протокол OSPF
RTR-HQ
-
Установим пакет frr:
-
Включаем ospfd:
-
Запускаем и добавляем в автозагрукзку службу frr:
Проверить:

-
Настраиваем OSPF — переходим в интерфейс frr при помощи «vtysh«:
Настройка OSPF выглядит следующим образом:
где:
configure terminal — переход в режим глобальной конфигурации;
router ospf — переход в режим конфигурации OSPFv2;
passive-interface default — перевод всех интерфейсов в пассивный режим:
-
далее туннельный интерфейс «gre1» необходимо сделать активным, для того чтобы устанавливать соседство с RTR-BR и обмениваться внутренними маршрутами;
network — объявляем необходимые сети;
interface gre1 — переходим в режим конфигурирования интерфейса gre1;
no ip ospf passive — переводим интерфейс из пассивного редима в активный;
end — выходим в привилигированный режим;
wr mem — сохраняем текущую конфигурацию.
Проверить:

RTR-BR
Настройки аналогичны RTR-HQ, необходимо лишь дополнительно объявить подсеть для vlan400.
Результат:

Проверить:
-
RTR-HQ

-
RTR-BR

-
связность SRV-HQ с SRV-BR

Далее настроим доступ со всех устройств в локальных сетях офисов в сеть Интернет.
-
Настройте динамическую трансляцию адресов для обоих офисов. Доступ к интернету необходимо разрешить со всех устройств.
RTR-HQ
-
Устанавливаем nftables:
-
Включаем и добавляем в автозагрузку службу nftables:
Далее создаём необходимую структуру для nftables (семейство, таблица, цепочка) для настройки NAT:
-
создаём в семействе ip таблицу nat:
-
создаём цепочка postrouting в таблице nat семейства ip, также задаём hook и priority:
-
создаём правила настройки NAT в семействе ip, таблице nat, цепочке postrouting:
-
можно задать 1-й командой для всех подсетей маскировать трафик через интерфейс ens33 смотрящий в сеть Интернет (ISP), можно и для каждой подсети отдельно через ip saddr — по IP источника:
-
Проверить:

Так как в конфигурационном файле /etc/nftables/nftables.nft уже есть информация о таблице filter — необходимо дописать только что созданную информацию о таблице nat
-
дозапишем в конфигурационный файл /etc/nftables/nftables.nft последние 8 строк (от 14 до 21) вывода команды nft list ruleset:

-
перезагружаем службу nftables:
Проверить:
-
SW-HQ

-
SRV-HQ

-
RTR-HQ — должен был поменяться счётчик пакетов:

RTR-BR
Настройка аналогина RTR-HQ.
Результат:
-
SW-BR

-
SRV-BR

-
RTR-BR

-
Настройте протокол динамической конфигурации хостов для устройств в подсетях CLI — RTR-HQ
-
Адрес сети – согласно топологии
-
Адрес шлюза по умолчанию – адрес маршрутизатора RTR-HQ
-
DNS-суффикс – company.prof
-
Выдаваемые адреса:
-
Первый адрес – первый незанятый вами адрес сети
-
Последний адрес – шестой незанятый вами адрес сети
-
RTR-HQ
-
Установип пакет dhcp-server:
-
Укажим сетевой интерефейс, через который будет работать DHCP-сервер:
где: ens34.200 — подинтерфейс vlan200 для клиентских ПК;
-
Пример конфигурационного файла с настройкой DHCP — сервера — расположен по пути «/etc/dhcp/dhcpd.conf.example«
-
возьмём его за основу:
-
-
После чего, необходимо привести файл «/etc/dhcp/dhcpd.conf» к следующему виду:

где:
1 — задаётся информация о выдаваемом DNS-суффиксе и DNS-серверах;
2 — Задаём параметры времени аренды сетевых параметров (в секундах)
authotitative — при необходимости указываем данный параметр, если необходимо, чтобы только данный сервер мог выдавать сетевые параметры;
3 — Если в подсети, в которой находится данный сервер, нет необходимости выдавать IP — адреса, то необходимо создать так называемую «заглушку», иначе при запуске DHCP — сервера будет ошибка;
4 — Описываем подсеть с необходимым диапазоном выдаваемых адресов и шлюза по умолчанию.
-
После заполнения конфигурационного файла можно воспользоваться утилитой «dhcpd» с ключём «-t» для проверки корректности его заполнения
-
ключи «-cf» для указания пути до проверяемого файла:
-

-
Включаем и добавляем в автозагрузку службу dhcpd:
Проверить:
На RTR-HQ запускаем журнал, а на CLI-HQ выставляем получить параметры по DHCP:
-
CLI-HQ


-
RTR-HQ

-
Настройте протокол динамической конфигурации хостов для устройств в подсетях CLI RTR-BR
-
Адрес сети – согласно топологии
-
Адрес шлюза по умолчанию – адрес маршрутизатора RTR-BR
-
DNS-суффикс – company.prof
-
Выдаваемые адреса:
-
Первый адрес – первый незанятый вами адрес сети
-
Последний адрес – шестой незанятый вами адрес сети
-
RTR-BR
Настройки аналогичны RTR-HQ.
Результат:
-
RTR-BR:

-
CLI-BR:

Далее будет выполнено развёртывание доменной инфраструктуры
-
На сервере SRV-HQ сконфигурируйте основной доменный контроллер на базе FreeIPA
-
Создайте 30 пользователей user1-user30
-
Пользователи user1-user10 должны входить в состав группы group1
-
Пользователи user11-user20 должны входить в состав группы group2
-
Пользователи user21-user30 должны входить в состав группы group3
-
Разрешите аутентификацию с использованием доменных учетных данных на ВМ CLI-HQ и SRV-HQ только.
-
Установите сертификат центра сертификации FreeIPA в качестве доверенного на обоих клиентских ПК.
-
Сконфигурируйте перемещаемые профили для всех пользователей, кроме локальных. Профили хранятся по каталогу /mnt/homes/$USER на клиентских ПК.
SRV-HQ
Развёртывание контроллера домена на базе FeeIPA:
-
Для ускорения установки можно установить демон энтропии haveged:
-
Включаем и запускаем службу haveged:
-
Установим пакет FreeIPA с интегрированным DNS-сервером:
-
Запускаем интерактивную установку FreeIPA с интегрированным DNS-сервером:
1 — отвечаем yes на вопрос, нужно ли сконфигурировать DNS-сервер BIND;
2, 3, 4 — нужно указать имя узлаЮ на котором будет установлен сервер FreeIPA, доменное имя и пространство Kerberos;
-
Эти имена нельзя изменить после завершения установки!

1 — задаётся и подтверждается пароль для Director Manager;
-
не менее 8 символов;
2 — задаётся и подтверждается пароль для администратора FreeIPA;

1 — задаются параметры для перенаправления DNS;
2 — задаются параметры для обратной зоны;
3 — указывается имя NetBIOS;

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

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

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

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

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

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

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

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



Чтобы разрешить аутентификацию с использованием доменных учетных данных на ВМ CLI-HQ и SRV-HQ только, введём CLI-HQ в домен FreeIPA:
CLI-HQ
-
Установим необходимые пакеты:
-
Запустим скрипт настройки клиента в интерактивном режиме:
Скрипт установки должен автоматически найти необходимые настройки на FreeIPA сервере, вывести их и спросить подтверждение для найденных параметров;
Затем запрашивается имя пользователя, имеющего право вводить машины в домен, и его пароль (можно использовать администратора по умолчанию, который был создан при установке сервера);
Далее сценарий установки настраивает клиент.

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

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

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



Далее выполним настройку правил HBAC (Host-based access control) — набор правил для настройки доступа пользователей или групп пользователей к определенным хостам с использованием определенных сервисов.
-
В Identity Management переходим на вкладку Политика -> нажимаем Добавить -> задаём Имя правила -> нажимаем Дабавить и изменить:

-
При необходимости даём Описание -> в «Категории пользователей, к которым применяется правило» выбираем Любой (т.к. мы должны иметь доступ с любого доменного пользователя) -> в «Категории узлов, к которым применяется правило» нажимаем Добавить и выбираем устройства согласно заданию -> в «Категории служб, к которой применяется правило» выбираем Любая служба, т.к. в «Любая служба» входим и аутентификация -> далее нажимаем Сохранить:

-
Так же отключаем правила по умолчанию, уже имеющиеся, т.к. они разрешают всё и всем;

-
проверим вход на HQ-CLI, который есть в правиле из под доменного пользователя user1 (проверяем хотябы то, что отключением правил по умолчанию мы ничего не сломали):

Т.к. CLI-HQ введён в домен он автоматически доверяет сертификату центра сертификации FreeIPA в качестве доверенного, а CLI-BR — нет. Введём CLI-BR в домен, также сможем проверить работоспособность ранее созданного правила:
CLI-BR
Аналогично вводу в домен HQ-CLI
-
Установим необходимые пакеты:
-
Запустим скрипт настройки клиента в интерактивном режиме:

Проверяем доверяет ли CLI-BR сертификату центра сертификации FreeIPA в качестве доверенного:


Проверяем правило HBAC:
-
CLI-BR не входит в ранее создаваемое правило, а значит с него вход из под доменных пользователей должен быть не возможен:


P.S. пароль верный!
SRV-HQ попадает под данное правило и вход под данным пользователем с тем же паролем возможен:
