# laba ##

МОДУЛЬ 1

Задание: Необходимо разработать и настроить инфраструктуру информационно коммуникационной системы согласно предложенной топологии (см. Рисунок 1). Задание включает базовую настройку устройств: - присвоение имен устройствам, - расчет IP-адресации, - настройку коммутации и маршрутизации. В ходе проектирования и настройки сетевой инфраструктуры следует вести отчет о своих действиях, включая таблицы и схемы, предусмотренные в задании. Итоговый отчет должен содержать одну таблицу и пять отчетов о ходе работы. Итоговый отчет по окончании работы следует сохранить на диске рабочего места

Чтобы зайти на стенд для 1 модуля.

User name: m1

Password: modul1

Перед включением виртуалок Настроем вланы. По заданию HQ-SRV в 100 влане, а HQ-CLI в 200 > **Примечание:** > Основные сведения о настройке коммутатора и выбора реализации разделения на VLAN занесите в отчёт

**ISP преднастроена, но включать ее надо**

###

Сетевая связность - между HQ и BRANCH

> **Примечание:** > Сведения об адресах занесите в отчёт, в качестве примера используйте Таблицу 3

*HQ-RTR*

Задаём сразу FQDN - выбор имени домена произвольный:

По такой же аналогии настройте остальные имена Чтобы настроить адресацию переходим:

Заодно настроим GRE туннель

Включаем пересылку пакетов между портами (интерфейсами)

Применяем: ***sysctl -p*** Прокинем PAT так, как по приколу тачки, что подключены к роутеру пинговать инет не будут.

Обязательно добавим в автозагрузку и активируем

Туннель мы допустим подняли, но чтобы пакеты через него пошли, нужна маршрутизация. > **Примечание:** > Сведения о настройке и защите протокола(ospf) занесите в отчёт Установим frr.

> **РЕКОМЕНДАЦИЯ:** > ПОКА FRR СКАЧИВАЕТСЯ ПЕРЕХОДИМ К НАСТРОЙКЕ BR-RTR В файле /etc/frr/daemons - включим поддержку OSPFv2 (IPv4)

Не забываем перезапускать, чтобы изменения вступили в силу

Переходим к настройке frr (ospf)

Поставим пароль на frr

Не забываем перезапустить

И добавить в автозагрузку

*BR-RTR*

Произведем те же манипуляции

> **РЕКОМЕНДАЦИЯ:** > ПОКА FRR СКАЧИВАЕТСЯ ДОДЕЛЫВАЕМ FRR НА HQ-RTR

Ура сетевая связность у между hq и br настроена Для проверки пингуем с br-rtr: ***ping 192.168.100.1*** > **РЕКОМЕНДАЦИЯ:** > сразу на HQ-RTR скачаем: apt update && apt install –y isc-dhcp-server

*HQ-SRV*

Задаем имя: > **ВНИМАНИЕ:** > Нужно обновить изображение

Прокинем инет:

Перезапускаем сервис: ***Systemctl restart networking*** Проверяем:

*BR-SRV*

Перезапускаем сервис: ***Systemctl restart networking*** Проверяем:

> **РЕКОМЕНДАЦИЯ:** > сразу скачиваем на HQ-SRV: apt update && apt install -y dnsmasq ###

Создание локальных учетных записей

Создайте пользователя sshuser на серверах

*HQ-SRV и BR-SRV*

Пользователь sshuser должен иметь возможность запускать sudo без дополнительной аутентификации. В дебиане нету судо поэтому скачаем:

НА BR-SRV СДЕЛАЙТЕ ТОЖЕ САМОЕ

Создайте пользователя net_admin на маршрутизаторах

*HQ-RTR и BR-RTR*

В дебиане нет sudo поэтому скачаем

СДЕЛАЙТЕ ТОЖЕ САМОЕ НА BR-RTR ###

Настройка безопасного удаленного доступа на серверах HQ-SRV и BR-SRV:

- Для подключения используйте порт 2024 - Разрешите подключения только пользователю sshuser ● Ограничьте количество попыток входа до двух - Настройте баннер «Authorized access only»

*HQ-SRV и BR-SRV*

Редактируем файл /etc/ssh/sshd_config:

ДУБЛИРУЕМ ТОЖЕ САМОЕ НА BR-SRV ###

Установим и настроим DHCP-сервер

и зарезервируем адрес для HQ-SRV, чтобы потом на всех остальных оконечных устройствах задавая адреса сразу создавать пользователей

*HQ-RTR:*

Скачаем: ***apt install –y isc-dhcp-server*** Первым делом нам необходимо указать, что наш DHCP сервер должен принимать запросы только с ens20 интерфейса.

Настройка протокола динамической конфигурации хостов. - Настройте нужную подсеть - Для офиса HQ в качестве сервера DHCP выступает маршрутизатор HQ-RTR. - Клиентом является машина HQ-CLI. - Исключите из выдачи адрес маршрутизатора - Адрес шлюза по умолчанию – адрес маршрутизатора HQ-RTR. - Адрес DNS-сервера для машины HQ-CLI – адрес сервера HQ-SRV. - DNS-суффикс для офисов HQ – au-team.irpo - Сведения о настройке протокола занесите в отчёт

> **Примечание:** > Сведения о настройке протокола занесите в отчёт ###

Настройка DNS для офисов HQ и BR.

- Основной DNS-сервер реализован на HQ-SRV. - Сервер должен обеспечивать разрешение имён в сетевые адреса устройств и обратно в соответствии с таблицей 2 - В качестве DNS сервера пересылки используйте любой общедоступный DNS сервер Нам необходимо настроить DNS сервер. Будем использовать dnsmasq.

*HQ-SRV*

Теперь открываем скрипт-инициализации сервиса dnsmasq

ищем строчку DNSMASQ_OPTS

Убираем оттуда –local-service

Перезагружаем службу dnsmasq: ***systemctl restart dnsmasq*** После настройки dns-сервера прописываем всем машинам в /etc/resolv.conf: ***nameserver 192.168.100.2***

###

Настройте часовой пояс на всех устройствах, согласно месту проведения экзамена.

*HQ-SRV, HQ-CLI, BR-SRV*

Проверяем какой часовой пояс установлен: ***timedatectl status***

Если отличается, то устанавливаем: ***timedatectl set-timezone Asia/Yekaterinburg*** ##

МОДУЛЬ 2

Чтобы зайти на стенд для 2-3 модуля.

User name: m2

Password: modul2

###

Настройте доменный контроллер Samba на машине BR-SRV.

**

(СДЕЛАТЬ SNAPSHOT BR-SRV)

** - Создайте 5 пользователей для офиса HQ: имена пользователей формата user№.hq. Создайте группу hq, введите в эту группу созданных пользователей - Введите в домен машину HQ-CLI - Пользователи группы hq имеют право аутентифицироваться на клиентском ПК - Пользователи группы hq должны иметь возможность повышать привилегии для выполнения ограниченного набора команд: cat, grep, id. Запускать другие команды с повышенными привилегиями пользователи группы не имеют права - Выполните импорт пользователей из файла users.csv. Файл будет располагаться на виртуальной машине BR-SRV в папке /opt

*BR-SRV*

> **Обязательно:** > Временно заменяем в /etc/resolv.conf 192.168.100.2 на 10.0.1.4, чтобы samba быстрее скачивалось Переходим к настройкам самого контроллера домена на BR-SRV

> **РЕКОМЕНДАЦИЯ:** > НА CLI: apt-get update && apt-get remove -y alterator-datetime && apt-get install -y task-auth-ad-sssd && apt-get install -y admc > НА HQ-SRV: apt update && apt install mdadm -y > НА CLI: apt-get install -y openssh-server && systemctl restart sshd. Появится синее окно, не пугайтесь, так и должно быть. В первом окне вводим имя домена au-team.irpo, а во втором — имя нашего сервера hq-srv Удаляем докер: ***apt remove docker.io -y && ip link delete docker0;*** - Проверяем что установлено имя в формате FQDN; - Задаём domainname; - Очищаем конфигурацию samba; - Разворачиваем контроллер домена Active Directory на базе SambaDC с Dnsmasq в качестве DNS

Подготовка домена: Samba-tool --realm=au-team.irpo --domain=au-team –adminpass=”PAssw0rd” --dnsbackend=SAMBA_INTERNAL --option=”dns forwrder=192.168.100.2” --server-role=dc ВЫ МОЖЕТЕ НАПИСАТЬ ТОЛЬКО «Samba-tool domain provision», А ОСТАЛЬНОЕ ОНО СПРОСИТ САМО

Как видим че то не так, надо перезапустить машинку: ***reboot*** Вводим все заново Проверяем:

Ничего не показывает, надо перезапустить машину, снова проверяем:

> **Обязательно:** > ВВОДИМ МАШИНУ обратно В ДОМЕН: > nano /etc/resolv.conf – nameserver 192.168.100.2 > **РЕКОМЕНДАЦИЯ:** > НА BR-SRV здесь же скачиваем: apt install ansible -y > НА HQ-SRV скачиваем: apt install nfs-kernel-server -y

На клиента ставим необходимые пакеты

*CLI*

При установке пакета task-auth-ad-sssd у вас возникнет ошибка, связанная с конфликтом с пакетом alterator-datetime, его необходимо удалить: ***apt-get update && apt-get remove -y alterator-datetime*** После пропишем инсталл: ***apt-get install -y task-auth-ad-sssd*** Переходим к редактированию временного соединения и в качестве DNS-сервера прописываем адрес HQ-SRV, а также указываем поисковый домен:

Переходим в Центр управления системой, на вкладке Пользователи выбираем Аутентификация

Вводим пароль администратора домена:

Нажимаем ОК и перезагружаем систему:

> **РЕКОМЕНДАЦИЯ:** > НА BR-SRV скачиваем: apt install -y docker.io docker-compose > НА HQ-SRV скачиваем: apt install -y apache* -y В качестве проверки после перезагрузки можно выполнить аутентификацию от имени доменного пользователя Administrator:

Организуем отслеживание подключения к домену: CLI: На клиенте с граф. интерфейсом установим Модуль удаленного управления базой данных конфигурации (ADMC) • Установим пакет admc: ***apt-get install -y admc*** Для использования ADMC необходимо предварительно получить ключ Kerberos для администратора домена. Получить ключ Kerberos можно, например, выполнив следующую команду, из под обычного пользователя: ***kinit Administrator*** ADMC запускается из меню запуска приложений: пункт «Системные» → ADMC или из командной строки (команда admc). _____________________________________________________________________________________ Если admc долго не может запуститься(не выдает ошибок, но не запускается), то внесите изменения в файл /etc/krb5.conf

_____________________________________________________________________________________ На вкладке «Компьютеры» в графическом режиме удобно отслеживать подключение к домену. Создаем пять юзеров:

### Создаем группу hq и в нее добавляем раннее созданных пользователей Пользователи группы hq должны иметь возможность повышать привилегии для выполнения ограниченного набора команд: cat, grep, id. Запускать другие команды с повышенными привилегиями пользователи группы не имеют права

*CLI*

Настройте файл /etc/sudoers на рабочей станции Linux, как описано в предыдущем ответе, используя синтаксис для доменных групп: %hq ALL=(ALL) NOPASSWD: /bin/cat, /bin/grep, /usr/bin/id > **РЕКОМЕНДАЦИЯ:** > НА BR-SRV скачиваем: apt install –y mariadb-* > НА HQ-SRV скачиваем: apt install -y php php8.2 php-curl php-zip php-xml libapache2-mod-php php-mysql php-mbstring php-gd php-intl php-soap -y ###

Сконфигурируйте файловое хранилище

(СДЕЛАТЬ SNAPSHOT на HQ-SRV)

- При помощи трёх дополнительных дисков, размером 1Гб каждый, на HQ-SRV сконфигурируйте дисковый массив уровня 5 - Имя устройства – md0, конфигурация массива размещается в файле /etc/mdadm.conf - Обеспечьте автоматическое монтирование в папку /raid5 - Создайте раздел, отформатируйте раздел, в качестве файловой системы используйте ext4 - Настройте сервер сетевой файловой системы(nfs), в качестве папки общего доступа выберите /raid5/nfs, доступ для чтения и записи для всей сети в сторону HQ-CLI - На HQ-CLI настройте автомонтирование в папку /mnt/nfs - Основные параметры сервера отметьте в отчёте Подготовка дисков

*HQ-SRV*

Убедитесь, что дополнительные диски распознаны системой. Список подключенных дисков можно проверить командой:

Создайте RAID 5 массив из трех 1Гб дисков (предположим, они определены как /dev/sdb, /dev/sdc, и /dev/sdd): Скачаем службу mdadm:

Проверяем:

Проверьте статус RAID массива:

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

1. Создание файловой системы и настройка монтирования Создайте раздел и отформатируйте его в ext4:

Создайте точку монтирования и настройте автоматическое монтирование в /etc/fstab:

Смонтируйте файловую систему:

2. Настройка NFS-сервера на HQ-SRV Установите NFS-сервер (если он еще не установлен):

Создайте директорию для общего доступа:

Настройте права доступа для общей папки:

Настройте экспорт NFS для всей сети с разрешением на чтение и запись. Откройте файл /etc/exports и добавьте строку:

Примените изменения в конфигурации NFS:

Перезапустите NFS-сервер:

> **ПРИМЕЧАНИЕ** > Основные параметры сервера отметьте в отчёте 3. Настройка автомонтирования на HQ-CLI (под ALT Workstation)

*HQ-CLI*

Создайте точку монтирования:

Настройте автомонтирование в /etc/fstab, откройте этот файл и добавьте следующую строку:

Смонтируйте папку вручную (или перезагрузите систему для применения настроек):

Проверка подключения NFS на HQ-CLI:

> **РЕКОМЕНДАЦИЯ:** > НА HQ-SRV скачиваем: apt install -y mariadb-* -y ###

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

- В качестве сервера выступает HQ-RTR - На HQ-RTR настройте сервер chrony, выберите стратум 5 43 - В качестве клиентов настройте HQ-SRV, HQ-CLI, BR-RTR, BR-SRV 1. Настройка NTP сервера:

*HQ-RTR*

Установим пакет chrony на каждой машине: ***apt install -y chrony*** Приводим конфигурационный файл "chrony.conf" к следующему виду: ***nano /etc/chrony/chrony.conf***

> где: > - server 127.0.0.1 iburst prefer - указываем сервером синхронизации самого себя, опция «iburst» принудительно отправляет сразу несколько пакетов для точности синхронизации, > - hwtimestamp * - опция, чтобы сетевой интерфейс считал собственный источник времени верным и синхронизировал клиентов с ним; > - local stratum 5 - устанавливаем для себя значение по stratum = 5; > - allow - кому разрешается подключаться к серверу и запрашивать время: чтобы не перечеслять все используемые в задании IPv4 и IPv6 сети, используется 0/0 и ::/0; Запускаем и добавляем в автозагрузку службу chronyd, и не забываем рестартать сервис: ***systemctl enable --now chrony*** ***systemctl restart chrony***

Проверяем:

2. Настройка NTP клиентов:

*HQ-SRV, BR-SRV, BR-RTR, HQ-CLI*

Установим пакет chrony: ***apt install -y chrony*** Приводим конфигурационный файл "chrony.conf" к следующему виду: ***nano /etc/chrony/chrony.conf***

> где: 192.168.100.1 - IPv4 адрес HQ-R; Запускаем и добавляем в автозагрузку службу chronyd: systemctl enable --now chrony > на cli chronyd systemctl restart chrony > на cli chronyd Проверяем с клиента HQ-SRV:

Проверяем с сервера HQ-R:

BR-R | BR-SRV | CLI: Настройка аналогична HQ-SRV - за исключением указания соответствующих адресов > **РЕКОМЕНДАЦИЯ:** > НА HQ-SRV скачиваем: apt install -y git ###

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

(СДЕЛАЙ SNAPSHOT НА BR-SRV)

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

*BR-SRV*

1. Установите Ansible (если он еще не установлен): ***apt update && apt install ansible -y*** 2. Создание рабочего каталога Ansible Ansible обычно уже использует /etc/ansible как рабочий каталог, но если его нет, создайте его вручную:

3. Создание файла инвентаря Создайте инвентарь файла : /etc/ansible/hosts. Откройте файл /etc/ansible/hosts для редактирования:

4. Настройка SSH-доступа к машинам Для того чтобы Ansible мог управлять машинами без необходимости ввода пароля, настройте SSH-доступ:

______________________________________________________________________________________

(ДОПОЛНЕНИЕ)

*HQ-CLI*

Для hq-cli нужно установить ssh службу: ***apt-get install -y openssh-server*** Перезагружаем ssh на hq-cli: ***systemctl restart sshd*** Для того чтобы зайти в конфиг ssh на альт линукс(cli) нужно ввести команду: ***nano /etc/openssh/sshd_config*** ______________________________________________________________________________________ Скопируйте SSH-ключ на всех машинах в инвентаре : Выполните эту команду для каждой машины, чтобы разрешить безпарольный доступ:

5. Проверка подключения в Ansible Выполните команду "ansible all -m ping" для проверки соединения со всеми хостами из инвентаря файла:

> **РЕКОМЕНДАЦИЯ:** > НА HQ-SRV скачиваем: git clone git://git.moodle.org/moodle.git ###

Развертывание приложений в Docker на сервере BR-SRV.

- Создайте в домашней директории пользователя файл wiki.yml для приложения MediaWiki. - Средствами docker compose должен создаваться стек контейнеров с приложением MediaWiki и базой данных. - Используйте два сервиса - Основной контейнер MediaWiki должен называться wiki и использовать образ mediawiki - Файл LocalSettings.php с корректными настройками должен находиться в домашней папке пользователя и автоматически монтироваться в образ. - Контейнер с базой данных должен называться mariadb и использовать образ mariadb (субд). - Разверните - Он должен создавать базу с названием mediawiki, доступную по стандартному порту, пользователя wiki с паролем WikiP@ssw0rd должен иметь права доступа к этой базе данных - MediaWiki должна быть доступна извне через порт 8080.

*BR-SRV*

1. Скачиваем докер: ***apt install -y docker.io docker-compose*** 2. Включаем и добавляем в автозагрузку службу docker: ***systemctl enable --now docker.service*** 3. В домашней директории пользователя root создаём файл wiki.yml со следующим содержимым: ***nano ~/wiki.yml***

> где: > - services — основной раздел, где мы будем создавать и описывать наши сервисы (контейнеры docker). В данном примере сервиса два: MediaWiki - для приложения mediawiki и database - для базы данных; container_name — имя, которое получит созданный контейнер; > - image — имя образа, который будет использоваться для создания контейнера; > - restart поведения контейнера при падении; > - ports (внешняя публикация). С помощью данной опции мы можем указывать, на каких портах должен слушать контейнер и на какие порты должны пробрасываться запросы > - environment — задаем переменные окружения; > - volumes - проброс папок; > - links - ссылайтесь на контейнеры в другом сервисе. Укажите либо имя сервиса, либо псевдоним ссылки (SERVICE:ALIAS) ***apt install –y mariadb-**** > P.S. После первоначальной настройки через Web-интерфейс с CLI загрузите LocalSettings.php в тот же каталог, что и эта wiki.yml и раскомментируйте следующую строку "# - ./LocalSettings.php:/var/www/html/LocalSettings.php" и используйте docker-compose для перезапуска службы mediawiki 4. Чтобы отдельный volume для хранения базы данных имел правильное имя - создаём его средствами docker: ***docker volume create dbvolume*** 5. Выполняем сборку и запуск стека контейнеров с приложением MediaWiki и базой данных описанных в файле wiki.yml: ***docker-compose -f wiki.yml up -d*** Проверяем:

*HQ-CLI*

***su -*** ***echo “192.168.200.2 wiki.au-team.irpo mediawiki” >> /etc/hosts*** 1. Переходим в браузер http://wiki.au-team.irpo:8080/ для продолжения установки через веб-интерфейс - нажимаем set up the wiki:

2. Выбираем необходимый Язык - нажимаем Далее:

3. После успешной проверки внешней среды - нажимаем Далее:

4. Заполняем параметры подключение к Базе Данных в соответствие с заданными переменными окружения в wiki.yml, которые соответствуют требованиям задания: Пример заполнения: Хост базы данных: db Имя базы данных: mediawiki Имя пользователя базы данных: wiki Пароль базы данных: WikiP@ssw0rd

5. Заполняем необходимые сведения:

6. После чего будет автоматически скачен файл LocalSettings.php - который необходимо передать на BR-SRV в домашнюю директорию пользователя root туда же где лежит wiki.yml:

7. Забираем файл LocalSettings.php с CLI:

*HQ-CLI:*

*BR-SRV:

Перемещаем в домашнюю директорию пользователя /root:

Проверяем:

_____________________________________________________________________________________ Прямой поиск файла поиск файла LocalSettings.php командой find: ***find / -name LocalSettings.php 2>/dev/null***

Команда "ls"(list) показывает файлы и директории в текущем каталоге. Команда "pwd" показывает каталоr в котором ты находишься. _____________________________________________________________________________________