# laba/Вариант 1 ##
МОДУЛЬ 1
Задание : Необходимо разработать и настроить инфраструктуру информационно коммуникационной системы согласно предложенной топологии (см. Рисунок 1). Задание включает базовую настройку устройств: - присвоение имен устройствам, - расчет IP-адресации, - настройку коммутации и маршрутизации. В ходе проектирования и настройки сетевой инфраструктуры следует вести отчет о своих действиях, включая таблицы и схемы, предусмотренные в задании. Итоговый отчет должен содержать одну таблицу и пять отчетов о ходе работы. Итоговый отчет по окончании работы следует сохранить на диске рабочего места
Чтобы зайти на стенд для 1 модуля.
User name: m1
Password: modul1
Перед включением виртуалок Настроим вланы. По заданию HQ-SRV в 100 влане, а HQ-CLI в 200. По сути они уже преднастроены, Но можно проверить. > **Примечание:** > Основные сведения о настройке коммутатора и выбора реализации разделения на VLAN занесите в отчёт >**Примечание:** >Номер Vlan зависит от варианта, смотрите в задание
Сетевая связность - между HQ и BRANCH
> **Примечание:** > Сведения об адресах занесите в отчёт, в качестве примера используйте Таблицу 3*HQ-RTR*
Задаём сразу FQDN - выбор имени домена произвольный:
*BR-RTR*
Произведем те же манипуляции
*HQ-SRV*
Задаем имя:
*BR-SRV*
Создание локальных учетных записей
Создайте пользователя sshuser на серверах HQ-SRV и BR-SRV
- Пароль пользователя sshuser - "P@ssw0rd" - Идентификатор пользователя 2026 - Пользователь sshuser должен иметь возможность запускать sudo без дополнительной аутентификации*HQ-SRV и BR-SRV*
Создайте пользователя net_admin на маршрутизаторах HQ-RTR и BR-RTR
- Пароль пользователя net_admin - "P@ssw0rd" - При настройке на EcoRouter пользователь net_admin должен обладать максимальными привилегиями - При настройке ОС на базе Linux, запускать sudo без дополнителььной аутентификации*HQ-RTR и BR-RTR*
Настройка безопасного удаленного доступа на серверах HQ-SRV и BR-SRV:
- Для подключения используйте порт 2026 - Разрешите подключения только пользователю sshuser - Ограничьте количество попыток входа до двух - Настройте баннер «Authorized access only»*HQ-SRV и BR-SRV*
Установим и настроим DHCP-сервер
и зарезервируем адрес для HQ-SRV, чтобы потом на всех остальных оконечных устройствах задавая адреса сразу создавать пользователей*HQ-RTR:*
Скачаем: ***apt install –y isc-dhcp-server*** Первым делом нам необходимо указать, что наш DHCP сервер должен принимать запросы только с ens20 интерфейса.
Настройка DNS для офисов HQ и BR.
- Основной DNS-сервер реализован на HQ-SRV. - Сервер должен обеспечивать разрешение имён в сетевые адреса устройств и обратно в соответствии с таблицей 2 - В качестве DNS сервера пересылки используйте любой общедоступный DNS сервер Нам необходимо настроить DNS сервер. Будем использовать dnsmasq.*HQ-SRV*
Настройте часовой пояс на всех устройствах, согласно месту проведения экзамена.
*HQ-SRV, HQ-CLI, BR-SRV*
Проверяем какой часовой пояс установлен: ***timedatectl status***
МОДУЛЬ 2
Чтобы зайти на стенд для 2-3 модуля.
User name: m2
Password: module2
###1. Настройте доменный контроллер Samba на машине BR-SRV.
**(СДЕЛАТЬ СРАЗУ 3 СНАПШОТА НА BR-SRV(samba), HQ-CLI(Active Directory), HQ-SRV(mdadm))
** - Создайте 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*
При установке пакета 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, а также указываем поисковый домен:
Создаем группу hq и в нее добавляем раннее созданных пользователей
*CLI*
Настройте файл */etc/sudoers* на рабочей станции Linux, как описано в предыдущем ответе, используя синтаксис для доменных групп: ***%hq ALL=(ALL) NOPASSWD: /bin/cat, /bin/grep, /usr/bin/id*** ###2. Сконфигурируйте файловое хранилище
(СДЕЛАТЬ SNAPSHOT, если не сделали, на HQ-SRV)
- При помощи двух подключенных к серверу дополнительных дисков размером 1 Гб сконфигурируйте дисковый массив уровня 0 - Имя устройства – md0, при необходимости конфигурация массива размещается в файле /etc/mdadm.conf - Создайте раздел, отформатируйте раздел, в качестве файловой системы используйте ext4 - Обеспечьте автоматическое монтирование в папку /raid Подготовка дисков*HQ-SRV*
Убедитесь, что дополнительные диски распознаны системой. Список подключенных дисков можно проверить командой:
3. Настройте сервер сетевой файловой системы (nfs) на HQ-SRV
- В качестве папки общего доступа выберите /raid/nfs, доступ для чтения и записи исключительно для сети в сторону HQ-CLI - На HQ-CLI настройте автомонтирование в папку /mnt/nfs - Основные параметры сервера отметьте в отчёте*HQ-SRV*
Устанавливаем пакеты для NFS сервера: >apt-get install -y nfs-server cifs-utils Создаём директорию для общего доступа /raid/nfs, куда ранее был смонтирован RAID - массив: >mkdir /raid0/nfs Назначаем права на созданную директорию (полный доступ): >chmod 777 /raid0/nfs Редактируем файл /etc/exports: >nano /etc/exports Добавляем туда следующую информацию, где: /raid/nfs - общий ресурс 192.168.200.0/24 - клиентская сеть, которой разрешено монтирования общего ресурса rw — разрешены чтение и запись no_root_squash — отключение ограничения прав root
*HQ-CLI*
Выполняем установку пакетов для NFS - клиента: >apt-get update && apt-get install -y nfs-utils nfs-clients Создадим директорию для монтирования общего ресурса: >mkdir /mnt/nfs Задаём права на созданную директорию: >chmod 777 /mnt/nfs Настраиваем автомонтирование общего ресурса через fstab: >nano /etc/fstab Добавляем следующую информацию: где: 192.168.100.2 - адрес файлового сервера (HQ-SRV)
4. Настройте службу сетевого времени на базе сервиса chrony
- В качестве сервера выступает ISP - На ISP настройте сервер chrony, выберите стратум 5 - В качестве клиентов настройте HQ-SRV, HQ-CLI, BR-RTR, BR-SRV 1. Настройка NTP сервера:*ISP*
Установим пакет chrony на каждой машине: ***apt update && apt install -y chrony*** Приводим конфигурационный файл "chrony.conf" к следующему виду: ***nano /etc/chrony/chrony.conf***
*HQ-SRV, BR-SRV, BR-RTR, HQ-CLI*
Установим пакет chrony: ***apt install -y chrony*** Приводим конфигурационный файл "chrony.conf" к следующему виду: ***nano /etc/chrony/chrony.conf*** > На HQ-CLI /etc/chrony.conf
5. Сконфигурируйте ansible на сервере BR-SRV
(СДЕЛАЙ SNAPSHOT НА BR-SRV)
- Сформируйте файл инвентаря, в инвентарь должны входить HQ-SRV, 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 как рабочий каталог, но если его нет, создайте его вручную:
(ДОПОЛНЕНИЕ)
*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-ключ на всех машинах в инвентаре : Выполните эту команду для каждой машины, чтобы разрешить безпарольный доступ:
6. Развертывание приложений в Docker на сервере BR-SRV.
-• Средствами docker должен создаваться стек контейнеров с веб приложением и базой данных • Используйте образы site_latestи mariadb_latestрасполагающиеся в директории docker в образе Additional.iso • Основной контейнер testapp должен называться tespapp • Контейнер с базой данных должен называться db • Импортируйте образы в docker, укажите в yaml файле параметры подключения к СУБД, имя БД - testdb, пользователь testс паролем P@ssw0rd, порт приложения 8080, при необходимости другие параметры • Приложение должно быть доступно для внешних подключений через порт 8080*BR-SRV*
1. Скачиваем докер: ***apt install -y docker.io docker-compose*** 2. Включаем и добавляем в автозагрузку службу docker: ***systemctl enable --now docker.service*** 3. Выполнить монтирование Additional.iso в директорию /mnt:
7. Разверните веб приложениена сервере HQ-SRV:
- Используйте веб-сервер apache - В качестве системы управления базами данных используйте mariadb - Файлы веб приложения и дамп базы данных находятся в директории web образа Additional.iso - Выполните импорт схемы и данных из файла dump.sql в базу данных webdb 66 - Создайте пользователя webс паролем P@ssw0rd и предоставьте ему права доступа к этой базе данных - Файлы index.php и директорию images скопируйте в каталог веб сервера apache - В файле index.php укажите правильные учётные данные для подключения к БД - Запустите веб сервер и убедитесь в работоспособности приложения - Основные параметры отметьте в отчёте*HQ-SRV*
> Ранее в "рекомендациях" должно было быть скачено Устанавливаем веб-сервер Apache2 и необходимые пакеты: >apt install -y apache* -y Устанавливаем PHP и необходимые модули: >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 Установка СУБД MySQL: > apt install -y mariadb-* -y > Ранее в "рекомендациях" должно было быть скачено Включаем и добавляем в автозагрузку MySQL: ***systemctl enable --now mariadb*** ***systemctl enable --now apache2*** Выполнить монтирование Additional.iso в директорию /mnt: > mount /dev/sr0 /mnt/
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 из внешних сетей.*BR-RTR*
*HQ-RTR*
9. Настройте веб-сервер nginx как обратный прокси-сервер на HQ-RTR
- При обращении по доменному имени web.au-team.irpo у клиента должно открываться веб приложение на HQ-SRV - При обращении по доменному имени docker.au-team.irpo клиента должно открываться веб приложение testapp.*ISP*
Установить пакет nginx: >apt-get install -y nginx Запустите и активируйте Nginx: ***systemctl start nginx*** ***systemctl enable nginx*** Настройка Nginx как обратного прокси Создадим конфигурационный файл для сайта в Nginx, в котором настроим виртуальные хосты. Добавьте конфигурацию для проксирования запросов в файл reverse-proxy.conf: - Скачиваем файл с github в необходимую директорию: ***apt install dos2unix -y*** ***apt install curl -y*** ***curl -o /etc/nginx/sites-available/default https://raw.githubusercontent.com/shiraorie/demo2026-1/main/files/reverse-proxy.conf*** ***dos2unix /etc/nginx/sites-available/reverse-proxy.conf*** - Проверяем его наличие:
*HQ-CLI*
Поскольку в домене SambaDC нет DNS записей ссылающихся на необходимые имена, а на HQ-CLI в качестве DNS-сервера задан адрес именно контроллера домена, поэтому необходимо добавить записи в файл /etc/hosts на виртуальной машине HQ-CLI:
10. На маршрутизаторе ISP настройте web-based аутентификацию
- При обращении к сайту web.au-team.irpo клиенту должно быть предложено ввести аутентификационные данные - В качестве логина для аутентификации выберите WEB с паролем P@ssw0rd - Выберите файл /etc/nginx/.htpasswd в качестве хранилища учётных записей - При успешной аутентификации клиент должен перейти на веб сайт.*ISP*
Установить пакет apache2: >apt install -y apache2 Средствами утилиты htpasswd создать пользователя WEB и добавить информацию о нём в файл /etc/nginx/.htpasswd, задав пароль P@ssw0rd: htpasswd –c /etc/nginx/.htpasswd WEB
*HQ-CLI*
Проверяем возможность доступа до веб ресурса с браузера на клиенте: Имя пользователя: WEB Пароль: P@ssw0rd
11. Удобным способом установите приложение Яндекс Браузере для организаций
*HQ-CLI*
МОДУЛЬ 3
###
1. Выполните импорт пользователей из файла users.csv. Файл будет располагаться на виртуальной машине BR-SRV в папке /opt
*BR-SRV*
- Сначала скачаем необходимую утилиту на *BR-SRV*: ***apt install dos2unix -y*** ***apt install curl -y*** - Заберем с iso файл Users.csv >cp /mnt/Users.csv /opt/ - Потом на BR-SRV скачиваем скрипт, который выполнит за нас задание, в нужную директорию: ***curl -o /opt/import_users.sh https://raw.githubusercontent.com/shiraorie/demo2026-1/main/files/import_users.sh*** ***ls /opt*** ***dos2unix /opt/import_users.sh***
2. Выполните настройку центра сертификации на базе HQ-SRV
- Необходимо использовать отечественные алгоритмы шифрования - Сертификаты выдаются на 30дней - Обеспечьте доверие сертификату для HQ-CLI - Выдайте сертификаты веб серверам - Перенастройте ранее настроенный реверсивный прокси nginx на протокол https - При обращении к веб серверам https://web.au-team.irpo и https://docker.au-team.irpo у браузера клиента не должно возникать предупреждений*HQ-SRV*
Шаг 1. Установка необходимых компонентов >apt update >apt install -y openssl ca-certificates Создаем каталаги для работы центра сертификации >mkdir -p /etc/pki/CA/{private,certs,newcerts,crl} >touch /etc/pki/CA/index.txt >echo 1000 > /etc/pki/CA/serial >chmod 700 /etc/pki/CA/private Создайте корневой ключ и сертификат (RSA 4096, SHA256): openssl req -x509 -new -nodes \ -keyout /etc/pki/CA/private/ca.key \ -out /etc/pki/CA/certs/ca.crt \ -days 3650 \ -sha256 \ -subj "/CN=AU-TEAM Root CA" Шаг 2. Создайте CSR для веб-сервера > openssl genrsa -out /etc/pki/CA/private/web.au-team.irpo.key 2048 openssl req -new \ -key /etc/pki/CA/private/web.au-team.irpo.key \ -out /etc/pki/CA/web.au-team.irpo.csr \ -subj "/CN=web.au-team.irpo" openssl genrsa -out /etc/pki/CA/private/docker.au-team.irpo.key 2048 openssl req -new \ -key /etc/pki/CA/private/docker.au-team.irpo.key \ -out /etc/pki/CA/web.au-team.irpo.csr \ -subj "/CN=web.au-team.irpo" Шаг 3. Создайте конфигурационный файл для openssl ca Создайте /etc/ssl/openssl-ca.cnf: [ ca ] default_ca = CA_default [ CA_default ] dir = /etc/pki/CA certs = $dir/certs crl_dir = $dir/crl new_certs_dir = $dir/newcerts database = $dir/index.txt serial = $dir/serial RANDFILE = $dir/private/.rand certificate = $dir/certs/ca.crt private_key = $dir/private/ca.key default_days = 30 default_md = sha256 preserve = no policy = policy_anything [ policy_anything ] countryName = optional stateOrProvinceName = optional localityName = optional organizationName = optional organizationalUnitName = optional commonName = supplied emailAddress = optional [ server_cert ] basicConstraints = CA:FALSE subjectKeyIdentifier = hash authorityKeyIdentifier = keyid,issuer keyUsage = critical, digitalSignature, keyEncipherment extendedKeyUsage = serverAuth subjectAltName = @alt_names [ alt_names ] DNS.1 = web.au-team.irpo DNS.2 = docker.au-team.irpo # если нужно для другого сертификата Шаг 4. Подпишите сертификат (ваша команда — но без ГОСТ) openssl ca \ -config /etc/ssl/openssl-ca.cnf \ -in /etc/pki/CA/web.au-team.irpo.csr \ -out /etc/pki/CA/certs/web.au-team.irpo.crt \ -extensions server_cert \ -days 30 \ -batch openssl ca \ -config /etc/ssl/openssl-ca.cnf \ -in /etc/pki/CA/docker.au-team.irpo.csr \ -out /etc/pki/CA/certs/docker.au-team.irpo.crt \ -extensions server_cert \ -days 30 \ -batch Шаг 6. Настройка доверия на клиенте HQ-CLI Скопируйте корневой сертификат: Шаг 7. Настройка Nginx на HTTPS Пример конфига для web.au-team.irpo: mkdir -p /etc/nginx/ssl cp /etc/pki/CA/certs/web.au-team.irpo.crt /etc/nginx/ssl/ cp /etc/pki/CA/private/web.au-team.irpo.key /etc/nginx/ssl/ chown root:root /etc/nginx/ssl/* chmod 600 /etc/nginx/ssl/*.key nginx -t && sudo systemctl reload nginx ###3. Перенастройте ip-туннель с базового до уровня туннеля, обеспечивающего шифрование трафика
*HQ-RTR*
1. Для начала необходимо установить пакет на наш роутер *HQ-RTR*: ***apt update*** ***apt install strongswan***
*BR-RTR*
1. Для начала необходимо установить пакет на наш роутер *BR-RTR*: ***apt update*** ***apt install strongswan***
Слева HQ-RTR - Cправа BR-RTR
> Если IPsec настроен правильно, вы должны видеть защищённый трафик между вашими серверами. ###4. Настройте межсетевой экран на маршрутизаторах HQ-RTR и BR-RTR на сеть в сторону ISP
Для выполнения этого задания нам нужно обеспечить работу только нужных протоколов, а именно: HTTP, HTTPS, DNS, NTP, ICMP. А также запретить остальные подключения из сети Интернет во внутреннюю сеть.*HQ-RTR*
- Скачаем готовый nftables.conf с github, укажем путь для замены нашего nftables: > !dos2unix и curl на HQ-RTR уже скачаны! ***curl -o /etc/nftables.conf https://raw.githubusercontent.com/shiraorie/demo2026-1/main/files/hq-rtr/nftables.conf*** ***dos2unix /etc/nftables.conf*** - Проверяем содержимое файла /etc/nftables.conf: > !меняем префикс(маску) ip-адреса в соответствии со своим заданием!
*BR-RTR *
- Скачаем готовый nftables.conf с github, укажем путь для замены нашего nftables: ***apt install dos2unix -y*** ***apt install curl -y*** ***curl -o /etc/nftables.conf https://raw.githubusercontent.com/shiraorie/demo2026-1/main/files/br-rtr/nftables.conf*** ***dos2unix /etc/nftables.conf*** - Проверяем содержимое файла /etc/nftables.conf: > !меняем префикс(маску) ip-адреса в соответствии со своим заданием!
5. Настройте принт-сервер cups на сервере HQ-SRV.
1. Для начала необходимо установить пакеты cups и cups-pdf на HQ-SRV:
6. Реализуйте логирование при помощи rsyslog на устройствах HQ-RTR, BR-RTR, BR-SRV
1. Сперва необходимо настроить наш сервер для сбора логов. Установим пакет rsyslog на HQ-SRV: apt install rsyslog Далее, отредактируем файл конфигурации, расположенный по пути /etc/rsyslog.conf:
7. На сервере HQ-SRV реализуйте мониторинг устройств с помощью открытого программного обеспечения. Обеспечьте доступность по URL - https://mon.au-team.irpo
- Мониторить нужно устройства HQ-RTR, HQ-SRV, BR-RTR и BR-SRV - В мониторинге должны визуально отображаться нагрузка на ЦП, объем занятой ОП и основного накопителя - Логин и пароль для службы мониторинга admin P@ssw0rd - Выбор программного обеспечения, основание выбора и основные параметры с указанием порта, на котором работает мониторинг, отметьте в отчёте 1. Сервер забикс: ***wget https://repo.zabbix.com/zabbix/7.4/release/debian/pool/main/z/zabbix-release/zabbix-release_7.4-0.2%2Bdebian12_all.deb*** ***sudo dpkg -i zabbix-release_7.4-0.2%2Bdebian12_all.deb***
8. Реализуйте механизм инвентаризации машин HQ-SRV и HQ-CLI через Ansible на BR-SRV
1. Для начала необходимо создать каталог, в котором будут размещены отчеты о рабочих местах: ***mkdir /etc/ansible/PC_INFO***
9. Реализуйте механизм резервного копирования конфигурации для машин HQ-RTR и BR-RTR, через Ansible на BR-SRV
1. Создадим также каталог, в котором будут размещены резервные копии конфигураций маршрутизаторов: ***mkdir /etc/ansible/NETWORK_INFO***