Добавить в корзинуПозвонить
Найти в Дзене

Инструкция, 2 модуль, все задания

apt-get update && apt-get install -y task-samba-dc for service in smb nmb krb5kdc slapd bind;
do
systemctl disable $service --now;
done rm -f /etc/samba/smb.conf rm -rf /var/lib/samba rm -rf /var/cache/samba mkdir -p /var/lib/samba/sysvol systemctl enable --now samba cp /var/lib/samba/private/krb5.conf /etc/krb5.conf systemctl restart samba echo "search au-team.irpo" > /etc/net/ifaces/ens19/resolv.conf
echo "nameserver 127.0.0.1" >> /etc/net/ifaces/ens19/resolv.conf systemctl restart network kinit administrator@AU-TEAM.IRPO samba-tool group add hq for i in {1..5};
do
samba-tool user add hquser$i P@ssw0rd;
samba-tool user setexpiry hquser$i --noexpiry;
samba-tool group addmembers "hq" hquser$i;
done Проверить что доменное имя резольвится: apt-get update && apt-get install -y task-auth-ad-sssd Результат: необходимо перезагрузить виртуальную машину HQ-CLI: apt-get install -y libnss-role roleadd hq wheel vim /etc/sudoers проверяем sudo для необходимых команд: apt-get
Оглавление

1. Настройте контроллер домена Samba DC на сервере BR-SRV

Задание:

  • Имя домена au-team.irpo
  • Введите в созданный домен машину HQ-CLI
  • Создайте 5 пользователей для офиса HQ: имена пользователей формата hquser№ (например hquser1, hquser2 и т.д.)
  • Создайте группу hq, введите в группу созданных пользователей
  • Убедитесь, что пользователи группы hq имеют право аутентифицироваться на HQ-CLI
  • Пользователи группы hq должны иметь возможность повышать привилегии для выполнения ограниченного набора команд: cat, grep, id. Запускать другие команды с повышенными привилегиями пользователи группы права не имеют.

Вариант реализации:

BR-SRV:

  • Для Samba DC на базе Heimdal Kerberos необходимо установить пакет task-samba-dc, который установит все необходимое:
apt-get update && apt-get install -y task-samba-dc
  • Так как Samba в режиме контроллера домена (Domain Controller, DC) использует свой сервер LDAP, свой центр распределения ключей Kerberos и свой сервер DNS (если не включен плагин BIND9_DLZ), перед установкой необходимо остановить конфликтующие службы krb5kdc и slapd, а также bind:
for service in smb nmb krb5kdc slapd bind;
do
systemctl disable $service --now;
done
  • Восстановление к начальному состоянию Samba:Необходимо очистить базы и конфигурацию Samba (домен, если он создавался до этого, будет удалён):
rm -f /etc/samba/smb.conf
rm -rf /var/lib/samba
rm -rf /var/cache/samba
mkdir -p /var/lib/samba/sysvol
  • Для интерактивного развертывания запустите samba-tool domain provision, это запустит утилиту развертывания, которая будет задавать различные вопросы о требованиях к установке:У Samba свой собственный DNS-сервер. В DNS forwarder IP address нужно указать внешний DNS-сервер, чтобы DC мог разрешать внешние доменные имена
    При запросе ввода нажимайте Enter за исключением запроса пароля администратора («Administrator password:» и «Retype password:»)
    Пароль администратора должен быть не менее 7 символов и содержать символы как минимум трёх групп из четырёх возможных: латинских букв в верхнем и нижнем регистрах, чисел и других небуквенно-цифровых символов
    Пароль, не полностью соответствующий требованиям, это одна из причин завершения развертывания домена ошибкой.
    При правильной базовой настройки устройства, все параметры подставятся атоматически
  • Результат успешного интерактивного развертывания  домена Samba DC:
-2
  • Включаем и добавляем в автозагрузку службу samba:
systemctl enable --now samba
  • Настройка Kerberos:
cp /var/lib/samba/private/krb5.conf /etc/krb5.conf
  • Перезагружаем службу samba:
systemctl restart samba
  • Проверка работоспособности домена:Просмотр общей информации о домене
    Просмотр предоставляемых служб
-3

  • Проверка конфигурации DNS:Убедиться в наличии nameserver 127.0.0.1 в /etc/resolv.conf:
echo "search au-team.irpo" > /etc/net/ifaces/ens19/resolv.conf
echo "nameserver 127.0.0.1" >> /etc/net/ifaces/ens19/resolv.conf
systemctl restart network
  • Утилита host в пакете bind-utils
    Проверить имена хостов:
-4

  • Проверка Kerberos (имя домена должно быть в верхнем регистре):
kinit administrator@AU-TEAM.IRPO
  • Просмотр полученного билета:
-5
  • Создаём группу hq:
samba-tool group add hq
  • Результат:
-6

  • Создаём необходимых пользователей и добавляем их в группу hq:
for i in {1..5};
do
samba-tool user add hquser$i P@ssw0rd;
samba-tool user setexpiry hquser$i --noexpiry;
samba-tool group addmembers "hq" hquser$i;
done
  • Проверить:
-7

HQ-CLI:

  • Для того чтобы ввести HQ-CLI в домен - задаём статические параметры адресации, чтобы явно указать в качестве DNS-сервера IP-адрес BR-SRV, или же правим данный параметр на DHCP-сервере:
-8

Проверить что доменное имя резольвится:

-9
  • Установить пакет task-auth-ad-sssd:
apt-get update && apt-get install -y task-auth-ad-sssd
  • Используя Центр Управления Системой (ЦУС) вводим HQ-CLI в домен:
-10
-11

Результат:

-12

необходимо перезагрузить виртуальную машину HQ-CLI:

-13
  • Установим библиотеку libnss-role для NSS и набор инструментов для администрирования ролей и привилегий:
apt-get install -y libnss-role
  • Данный модуль должен быть включён:
-14

  • Связываем доменную группу hq с локальной группой wheel:
roleadd hq wheel
  • Проверить:

-15
  • Редактируем конфигурационный файл /etc/sudoers:
vim /etc/sudoers
  • добавляем следующее содержимое:
-16

  • Проверяем, выполнив вход из под любого пользователя группы hq:
-17

проверяем sudo для необходимых команд:

-18

2. Сконфигурируйте файловое хранилище на сервере HQ-SRV
Задание:

  • При помощи двух подключенных к серверу дополнительных дисков размером 1 Гб сконфигурируйте дисковый массив уровня 0
  • Имя устройства – md0, при необходимости конфигурация массива размещается в файле /etc/mdadm.conf
  • Создайте раздел, отформатируйте раздел, в качестве файловой системы используйте ext4
  • Обеспечьте автоматическое монтирование в папку /raid

Вариант реализации:

HQ-SRV:

  • Выполним установку пакета "mdadm":mdadm — утилита для работы с программными RAID-массивами различных уровней
apt-get update && apt-get install -y mdadm
  • Подготовка носителей:
    Сначала необходимо занулить суперблоки на дисках, которые мы будем использовать для построения RAIDпри помощи утилиты "
    lsblk" - просматриваем наши физические диски и определяемся какие будут использоваться в RAID - массиве
lsblk
  • Результат:для работы будут использованы диски: sdbsdc
-19
  • Зануление суперблоков на дисках, которые будут использоваться для построения RAID-массива:
mdadm --zero-superblock --force /dev/sdb /dev/sdc
  • Создание RAID-массива:
    где:
    /dev/md0 — устройство RAID, которое появится после сборки;
    -l 0 — уровень RAID;
    -n 2 — количество дисков, из которых собирается массив;
    /dev/sd{b,c} — сборка выполняется из дисков sdb, sdc и sdd.
mdadm --create --verbose /dev/md0 -l 0 -n 2 /dev/sdb /dev/sdс
  • Результат:
-20

Проверяем:

-21

Сохраняем конфигурацию массива в файле /etc/mdadm.conf:

mdadm --detail --scan --verbose | tee -a /etc/mdadm.conf
  • Результат:
-22
  • Создание файловой системы для массива
mkfs.ext4 /dev/md0
  • Результат:
-23
  • Чтобы данный раздел также монтировался при загрузке системы, добавляем в fstab
vim /etc/fstab
  • следующую информацию:
-24
  • Создаём каталог /raid:
mkdir /raid
  • Выполняем монтирование:
mount -av
  • Результат:
-25

  • Проверяем:
df -h
  • Результат:
-26

3. Настройте сервер сетевой файловой системы (nfs) на HQ-SRV

Задание:

  • В качестве папки общего доступа выберите /raid/nfs, доступ для чтения и записи исключительно для сети в сторону HQ-CLI
  • На HQ-CLI настройте автомонтирование в папку /mnt/nfs
  • Основные параметры сервера отметьте в отчёте

Вариант реализации:

HQ-SRV:

  • Устанавливаем пакеты для NFS сервера:
apt-get install -y nfs-server nfs-utils
  • Создаём директорию для общего доступа /raid/nfs, куда ранее был смонтирован RAID - массив:
mkdir /raid/nfs
  • Назначаем права на созданную директорию (полный доступ):
chmod 777 /raid/nfs
  • Редактируем файл /etc/exports:
vim /etc/exports
  • Добавляем туда следующую информацию, где:
  • /raid/nfs - общий ресурс
    192.168.200.0/24 - клиентская сеть, которой разрешено монтирования общего ресурса
    rw — разрешены чтение и запись
    no_root_squash — отключение ограничения прав root
-27
  • Экспортируем файловую систему, указанную выше в /etc/exports:
exportfs -arv
  • Результат:exportfs с флагом -a, означающим экспортировать или отменить экспорт всех каталогов
    -r означает повторный экспорт всех каталогов, синхронизируя /var/lib/nfs/etab с /etc/exports и файлами в /etc/exports.d
    а флаг 
    -v включает подробный вывод:
-28
  • Запускаем и добавляем в автозагрузку NFS - сервер:
systemctl enable --now nfs-server

HQ-CLI:

  • Выполняем установку пакетов для NFS - клиента:
apt-get update && apt-get install -y nfs-utils nfs-clients
  • Создадим директорию для монтирования общего ресурса:
mkdir /mnt/nfs
  • Задаём права на созданную директорию:
chmod 777 /mnt/nfs
  • Настраиваем автомонтирование общего ресурса через fstab:
vim /etc/fstab
  • Добавляем следующую информацию:где: 192.168.100.2 - адрес файлового сервера (HQ-SRV)
-29
  • Выполняем монтирование общего ресурса:
mount -av
  • Результат:
-30
  • Проверяем:
df -h
  • Результат:
-31

Перезугружаем HQ-CLI и проверяем автомонтирование с правами на запись:

-32

Результат на сервере HQ-SRV:

-33

4. Настройте службу сетевого времени на базе сервиса chrony на маршрутизаторе ISP

Задание:

  • Вышестоящий сервер ntp на маршрутизаторе ISP - на выбор участника
  • Стратум сервера - 5
  • В качестве клиентов ntp настройте: HQ-SRV, HQ-CLI, BR-RTR, BR-SRV.

Вариант реализации:

ISP:

  • Редактируем конфигурационный файл /etc/chrony.conf:
vim /etc/chrony.conf
  • Добавляем следующую информацию:
-34
  • Перезагружаем службу chronyd для применения изменений:
systemctl restart chronyd
  • Проверяем:
-35

HQ-RTR:

  • Указываем в качестве сервера времени ISP:
hq-rtr(config)#ntp server 172.16.1.1
hq-rtr(config)#write memory
Building configuration...

hq-rtr(config)#

BR-RTR:

  • Указываем в качестве сервера времени ISP:
br-rtr(config)#ntp server 172.16.2.1
br-rtr(config)#write memory
Building configuration...

br-rtr(config)#
  • Проверить:
-36

HQ-CLI и HQ-SRV:

  • Редактируем конфигурационный файл /etc/chrony.conf:
vim /etc/chrony.conf
  • Добавляем следующую информацию:
-37
  • Перезагружаем службу chronyd для применения изменений:
systemctl restart chronyd
  • Проверяем:HQ-CLI:
-38
-39

5. Сконфигурируйте ansible на сервере BR-SRV

Задание:

  • Сформируйте файл инвентаря, в инвентарь должны входить HQ-SRV, HQ-CLI, HQ-RTR и BR-RTR
  • Рабочий каталог ansible должен располагаться в /etc/ansible
  • Все указанные машины должны без предупреждений и ошибок отвечать pong на команду ping в ansible посланную с BR-SRV.

Вариант реализации:

BR-SRV:

  • Необходимо установить пакет ansible и sshpass выполнить это можно следующей командой:
apt-get update && apt-get install –y ansible sshpass
  • Приведём файл инвентаря ansible к следующему виду, отредактировав конфигурационный файл по пути /etc/ansible/hosts:в данном примере файл инвентаря описан в ini формате
vim /etc/ansible/hosts
-40
-41
  • Редактируем файл /etc/ansible/ansible.cfg, приводя его к следующему виду:
vim /etc/ansible/ansible.cfg
-42
  • Устанавливаем необходимые коллекции для подключения к «EcoRouterOS»:
ansible-galaxy collection install ansible.netcommon
ansible-galaxy collection install cisco.ios
  • Устанавливаем пакет python3-module-pip для возможности установки библиотеки ansible-pylibssh:
apt-get install –y python3-module-pip
pip3 install ansible-pylibssh

HQ-RTR | BR-RTR:

  • На виртуальных машинах с ОС «EcoRouterOS» из режима администрирования (conf t) разрешить подключения к устройству по ssh:
(config)# security none

BR-SRV:

  • Проверяем, ответы от машин должны быть зелёного цвета и содержать значение pong в поле ping:
-43

6. Разверните веб-приложение testapp с использованием средств контейнеризации на сервере BR-SRV

Задание:

  • Средствами docker должен создаваться стек контейнеров с веб приложением и базой данных
  • Используйте образы site_latest и mariadb_latest располагающиеся в директории docker в образе Additional.iso
  • Основной контейнер testapp должен называться tespapp
  • Контейнер с базой данных должен называться db
  • Импортируйте образы в docker, укажите в yaml файле параметры подключения к СУБД, имя БД - testdb, пользователь testс паролем P@ssw0rd, порт приложения 8080, при необходимости другие параметры
  • Приложение должно быть доступно для внешних подключений через порт 8080

Вариант реализации:

BR-SRV:

  • Установить необходим пакеты для работы с Docker и Docker Compose можно воспользовавшись следующей командой:
apt-get install –y docker-engine docker-compose-v2
  • После установки необходимых пакетов стоит запустить службу docker:
systemctl enable --now docker.service
  • Выполнить монтирование Additional.iso в директорию /mnt:
mount /dev/sr0 /mnt/
-44
  • Выполнить импорт образа mariadb_latest и site_latest:
docker load < /mnt/docker/site_latest.tar
-45
docker load < /mnt/docker/mariadb_latest.tar
-46

vim compose.yaml
-47
  • Запустить набор контейнеров с веб приложением и базой данных:
docker compose up -d
-48

7. Разверните веб приложение на сервере HQ-SRV

Задание:

  • Используйте веб-сервер apache
  • В качестве системы управления базами данных используйте mariadb
  • Файлы веб приложения и дамп базы данных находятся в директории web образа Additional.iso
  • Выполните импорт схемы и данных из файла dump.sql в базу данных webdb
  • Создайте пользователя web с паролем P@ssw0rd и предоставьте ему права доступа к этой базе данных
  • Файлы index.php и директорию images скопируйте в каталог веб сервера apache
  • В файле index.php укажите правильные учётные данные для подключения к БД
  • Запустите веб сервер и убедитесь в работоспособности приложения
  • Основные параметры отметьте в отчёте

Вариант реализации:

HQ-SRV:

  • Установить метапакет который содержит в себе всё необходимое для работы стека LAMP (Linux+Apache+MariaDB+PHP):
apt-get install –y lamp-server
  • Выполнить монтирование Additional.iso в директорию /mnt:
mount /dev/sr0 /mnt/
-49
  • Произвести копирование файлов веб приложения index.php и logo.png в директорию /var/www/html:
cp /mnt/web/index.php /var/www/html
cp /mnt/web/logo.png /var/www/html
  • В файле /var/www/html/index.php указать правильные учётные данные для подключения к БД:
vim /var/www/html/index.php
-50

  • Включить и добавить в автозагрузку службу mariadb:
systemctl enable --now mariadb
  • Перейти в интерфейс управления MariaDB:
mariadb –u root
  • Создать базу данных с именем webdb:
CREATE DATABASE webdb;
  • Создать пользователя webc с паролем P@ssw0rd:
CREATE USER ‘webc’@’localhost’ IDENTIFIED BY ‘P@ssw0rd’;
  • Назначить пользователю webc полные права на базу данных webdb, после чего выйти из интерфейса управления MariaDB:
GRANT ALL PRIVILEGES ON webdb.* TO ‘webc’@’localhost’ WITH GRANT OPTION;
EXIT;
  • Выполнить импорт схемы и данных из файла dump.sql в базу данных webdb:
mariadb –u webc –p –D webdb < /mnt/web/dump.sql
  • Проверить:
-51
  • Включить и добавить в автозагрузку службу httpd2:
systemctl enable --now httpd2
  • Проверяем доступ до веб приложения с браузера:
-52

8. На маршрутизаторах сконфигурируйте статическую трансляцию портов

Задание:

  • Пробросьте порт 8080 в порт приложения     testapp BR-SRV на маршрутизаторе BR-RTR, для обеспечения работы приложения     testapp извне
  • Пробросьте порт 8080 в порт веб приложения на HQ-SRV на маршрутизаторе HQ-RTR, для обеспечения работы веб приложения извне
  • Пробросьте порт 2026 на маршрутизаторе HQ-RTR в порт 2026 сервера HQ-SRV, для подключения к серверу по протоколу ssh из внешних сетей
  • Пробросьте порт 2026 на маршрутизаторе BR-RTR в порт 2026 сервера BR-SRV, для подключения к серверу по протоколу ssh из внешних сетей.

Вариант реализации:

  • Из режима администрирования (conf t) выполнить следующую команду:
ip nat source static tcp <IP-АДРЕС_УСТРОЙСТВА_ЛОКАЛЬНОЙ_СЕТИ> <ПОРТ_УСТРОЙСТВА_ЛОКАЛЬНОЙ_СЕТИ> <ВНЕШНИЙ_IP-АДРЕС_УСТРОЙСТВА> <ПОРТ_ДЛЯ_ОБРАЩЕНИЯ_ИЗ_ВНЕШНЕЙ_СЕТИ>

HQ-RTR:

hq-rtr(config)#ip nat source static tcp 192.168.100.2 80 172.16.1.2 8080
hq-rtr(config)#ip nat source static tcp 192.168.100.2 2026 172.16.1.2 2026
hq-rtr(config)#write memory

BR-RTR:

br-rtr(config)#ip nat source static tcp 192.168.0.2 8080 172.16.2.2 8080
br-rtr(config)#ip nat source static tcp 192.168.0.2 2026 172.16.2.2 2026
br-rtr(config)#write memory
  • Проверяем статическую трансляцию портов:
-53

Проверяем возможность доступа из-вне до веб приложения развёрнутого на базе стека контейнеров с браузера на клиенте:

-54
-55

9. Настройте веб-сервер nginx как обратный прокси-сервер на ISP

Задание:

  • При обращении по доменному имени web.au-team.irpo у клиента должно открываться веб приложение на HQ-SRV
  • При обращении по доменному имени docker.au-team.irpo клиента должно открываться веб приложение     testapp.

Вариант реализации:

ISP:

  • Установить пакет nginx:
apt-get install -y nginx
  • Настроить nginx как реверсивный прокси сервер, приведя файл /etc/nginx/sites-available.d/default.conf к следующему виду:
vim /etc/nginx/sites-available.d/default.conf

-56
  • Добавить символическую ссылку на данный файл:
ln -s /etc/nginx/sites-available.d/default.conf /etc/nginx/sites-enabled.d/
  • Проверить наличие ошибок в конфигурационных файлах:
-57
  • Запустить и активировать службу nginx:
systemctl enable --now nginx

HQ-CLI:

  • Поскольку в домене SambaDC нет DNS записей ссылающихся на необходимые имена, а на HQ-CLI в качестве DNS-сервера задан адрес именно контроллера домена, поэтому необходимо добавить записи в файл /etc/hosts на виртуальной машине HQ-CLI:или же используя утилиту samba-tool добавить необходимые записи на DNS-сервере BR-SRV;
-58

Проверяем возможность доступа до веб ресурсов с браузера на клиенте:http://web.au-team.irpo

-59

10. На маршрутизаторе ISP настройте web-based аутентификацию

Задание:

  • При обращении к сайту web.au-team.irpo клиенту должно быть предложено ввести аутентификационные данныеВ качестве логина для аутентификации выберите WEB с паролем P@ssw0rd
    Выберите файл /etc/nginx/.htpasswd в качестве хранилища учётных записей
    При успешной аутентификации клиент должен перейти на веб сайт.

Вариант реализации:

ISP:

  • Установить пакет apache2-htpasswd:
apt-get install -y apache2-htpasswd
  • Средствами утилиты htpasswd создать пользователя WEB и добавить информацию о нём в файл /etc/nginx/.htpasswd, задав пароль P@ssw0rd:
htpasswd –c /etc/nginx/.htpasswd WEB

-60
  • Добавить web-based аутентификацию для доступа к сайту web.au-team.irpo в конфигурационный файл /etc/nginx/sites-available.d/default.conf:
vim /etc/nginx/sites-available.d/default.conf
-61
systemctl restart nginx

HQ-CLI:

  • Проверяем возможность доступа до веб ресурса с браузера на клиенте:Имя пользователя: WEB
    Пароль: P@ssw0rd
-62

11. Удобным способом установите приложение Яндекс Браузер на HQ-CLI

Задание:

  • Установку браузера отметьте в отчёте.

Вариант реализации:

HQ-CLI:

  • От имени суперпользователя выполнить:
apt-get install –y yandex-browser-stable
  • Или воспользоваться Центром Приложений:
-63
-64
-65