Представленная информация может отличатся в самом задания
Время на выполнение модуля 5 часов.
Задания: Руководство компании «au.team» из-за низкой квалификации бывшего системного администратора столкнулось с рядом проблем.
Было принято решение пригласить Вас, как высококлассного специалиста, для их решения.
Перед Вами поставлены задачи, описанные в техническом задании, которые нужно решить в течение короткого промежутка времени.
К сожалению, поскольку технического специалиста в организации не осталось, некоторые из требований могут звучать не очень внятно.
Но вы являетесь профессионалом и, конечно, поймёте о чём идёт речь. УДАЧИ! Предыдущий специалист имел настолько низкую квалификацию, что за всё время обслуживания существующей локальной сети так и не собрал необходимую сетевую документацию.
Это стало серьезной проблемой, когда пользователи стали обращаться с жалобами на некачественную работу некоторых сервисов.
Ваша первая задача – составить всю необходимую для обслуживания сети документацию. Бланки для Вас уже подготовлены (приложение №1).
Кроме того, Вам необходимо проанализировать поступившие от пользователей жалобы на работу приложений.
Предыдущий администратор с пользователями уже пообщался и записал результаты опроса в отдельный бланк (Приложение №2).
Определите причины проблем, запишите их в предоставленный бланк и примите меры для устранения.
В выполнении задания есть один серьёзный нюанс – Вы работаете удалённо, поэтому физически обнаружить устройства не представляется возможным, а все операции придётся выполнять с компьютера администратора.
Реквизиты доступа к компьютеру администратора:
· IP-адрес: https://XX.XX.XX.XX/
· Логин/Пароль: ...
Спецификация оценки В рамках данного модуля оцениваются навыки аудита имеющейся сетевой сервисной инфраструктуры.
Проверка результатов выполнения задания осуществляется оценивающими экспертами сразу по окончании выделенного на модуль времени. В дальнейшем проверка данного модуля осуществляться не будет.
Возможнные сервисы:
Сервис | Порт по умолчанию | Протокол | Описание |
---|---|---|---|
HTTP | 80 | TCP | Веб-сервер |
HTTPS | 443 | TCP | Защищенный веб-сервер |
SSH | 22 | TCP | Secure Shell |
FTP | 21 | TCP | File Transfer Protocol |
SMTP | 25 | TCP | Simple Mail Transfer Protocol |
DNS | 53 | UDP, TCP (зависит от запроса) | Domain Name System |
MySQL | 3306 | TCP | Database Server |
RDP | 3389 | TCP | Remote Desktop Protocol |
Samba | 137-139 (NetBIOS), 445 (SMB) | TCP, UDP (NetBIOS) | File Sharing Service |
NTP | 123 | TCP | Network Time Protocol |
SNMP | 161 (управление), 162 (ловушки) | UDP | Simple Network Management Protocol |
LDAP | 389 | TCP, UDP | Lightweight Directory Access Protocol |
Syslog | 514 | UDP | System Logging Protocol |
DHCP | 67 (сервер), 68 (клиент) | UDP | Dynamic Host Configuration Protocol |
RTP | 5004-5005 | UDP | Real-Time Transport Protocol (для мультимедиа стриминга) |
RTSP | 554 | TCP, UDP (в зависимости от сценария использования) | Real-Time Streaming Protocol) (для потокового мультимедиа) |
NFS | 2049 | TCP, UDP | Network File System |
iSCSI | 3260 | TCP, UDP (необходим для iSER) | Internet Small Computer System Interface |
CUPS | 631 | TCP | Common Unix Printing System |
Exim | 25 | TCP | Mail Transfer Agent (Только для Linux) |
VMware ESXi | 902 | TCP | vSphere Hypervisor |
VNC | 5900 | TCP | Virtual Network Computing |
Telnet | 23 | TCP | Remote Login Service |
BitTorrent Protocol | 6881-6889 | TCP, UDP | Для файловой передачи |
OpenVPN | 1194 | UDP | Virtual Private Network |
Git | 9418 | TCP | Version Control System |
Minecraft Server | 25565 | TCP | |
RADIUS | 1812 (аутентификация), 1813 (авторизация) | UDP | Remote Authentication Dial-In User Service |
Kerberos | 88 | TCP, UDP | Network Authentication Protocol |
IKE | 500 | UDP | Internet Key Exchange (для VPN) |
Nagios | 5666 | TCP | Monitoring Tool |
Установка nnap
su
apt-get update
apt-get install nmap -y
nmap -h
Примеры использование nnap
Название | Команда | Пример |
---|---|---|
Сканирование открытых портов на удаленном хосте | nmap target | nmap 192.168.0.1 |
Полное сканирование всех портов на удаленном хосте | nmap -p- target | nmap -p- 192.168.0.1 |
Сканирование определенного диапазона портов на удаленном хосте | nmap -p port-range target | nmap -p 1-10 192.168.0.1 |
Определение операционной системы на удаленном хосте | nmap -O target | nmap -O 192.168.0.1 |
Сканирование хостов, скрытых за брандмауэром | nmap network | nmap 192.168.0.1/24 |
Сканирование сервисов с версионной информацией | nmap -sV target | nmap -sV 192.168.0.1 |
Сканирование хостов с выводом информации о скрытых сервисах | nmap -sS target | nmap -sS 192.168.0.1 |
Сканирование хостов с выводом информации о маршрутизаторах на пути | nmap --traceroute | nmap --traceroute 192.168.0.1 |
Сканирование хостов с выводом информации о мак-адресах | nmap -sP | nmap -sP 192.168.0.1 |
Название | Описание | Операционная система |
---|---|---|
Основные (Linux): | ||
ls |
Показать содержимое текущего каталога | Linux |
cd |
Сменить текущий каталог | Linux |
pwd |
Показать текущий каталог | Linux |
mkdir |
Создать новый каталог | Linux |
rm |
Удалить файл или каталог | Linux |
cp |
Копировать файлы и каталоги | Linux |
mv |
Переместить или переименовать файлы и каталоги | Linux |
grep |
Поиск в файлах по шаблону | Linux |
ps |
Показать активные процессы | Linux |
top |
Показать активные процессы в реальном времени | Linux |
По сетям (Linux): | ||
netstat -tuln |
Показать запущенные сетевые сервисы (IP, порт) | Linux |
ss -tuln |
Альтернатива netstat , но более современная |
Linux |
ifconfig |
Показать информацию о сетевых интерфейсах | Linux |
ip addr show |
Альтернатива ifconfig , более современная |
Linux |
traceroute |
Протестировать путь до целевого хоста | Linux |
ping |
Проверить доступность хоста в сети | Linux |
dig |
Проверить DNS-записи для заданного хоста | Linux |
wget |
Скачать файл из Интернета | Linux |
nc |
Установить сетевое соединение с использованием TCP или UDP | Linux |
iptables |
Настроить правила файрвола | Linux |
По системе (Linux): | ||
df -h |
Показать информацию о месте на диске | Linux |
free -h |
Показать информацию о доступной и используемой памяти | Linux |
uptime |
Показать время работы системы и среднюю загрузку | Linux |
uname -a |
Показать информацию о версии ядра и операционной системе | Linux |
lscpu |
Показать информацию о процессоре | Linux |
lshw |
Показать подробную информацию о аппаратном обеспечении | Linux |
dmidecode |
Показать информацию о аппаратном обеспечении из DMI | Linux |
lsusb |
Показать подключенные USB-устройства | Linux |
Основные (Windows): | ||
dir |
Показать содержимое текущего каталога (аналог ls в Linux) |
Windows |
cd |
Сменить текущий каталог | Windows |
cls |
Очистить экран командной строки | Windows |
mkdir |
Создать новый каталог | Windows |
del |
Удалить файл | Windows |
copy |
Копировать файлы | Windows |
move |
Переместить файлы или переименовать файлы | Windows |
tasklist |
Показать список активных процессов | Windows |
systeminfo |
Показать информацию о системе, включая процессор, память и операционную систему | Windows |
ver |
Показать версию операционной системы и дату сборки | Windows |
По сетям (Windows): | ||
netsh |
Настроить сетевые параметры и правила брандмауэра | Windows |
arp -a |
Показать ARP-таблицу (связь IP и MAC-адресов) | Windows |
net view |
Показать доступные ресурсы в сети | Windows |
net use |
Подключить или отключить общие ресурсы | Windows |
nbtstat -a <IP> |
Показать информацию NetBIOS о компьютере по его IP-адресу | Windows |
ipconfig /displaydns |
Показать содержимое кэша DNS | Windows |
netstat -r |
Показать таблицу маршрутизации | Windows |
netstat -s |
Показать статистику сетевых протоколов и служб | Windows |
netsh interface show interface |
Показать список сетевых интерфейсов и их состояние | Windows |
netsh wlan show networks |
Показать список доступных беспроводных сетей | Windows |
По системе (Windows): | ||
msinfo32 |
Открыть системную информацию через GUI | Windows |
wmic os get Caption |
Показать название операционной системы | Windows |
wmic cpu get Name |
Показать информацию о процессоре (название) | Windows |
wmic logicaldisk get Size,FreeSpace |
Показать информацию о дисках (размер и свободное пространство) | Windows |
systeminfo | find "Total Physical Memory" |
Показать объем установленной физической памяти | Windows |
systeminfo | find "System Boot Time" |
Показать время последней загрузки системы | Windows |
wmic bios get Manufacturer,Name,Version,SerialNumber |
Показать информацию о BIOS | Windows |
wmic computersystem get Manufacturer,Model,Name,NumberOfProcessors,PrimaryOwnerName |
Показать информацию о компьютере | Windows |
wmic diskdrive get Model,Size,InterfaceType,MediaType |
Показать информацию о жестких дисках | Windows |
wmic memorychip get BankLabel,Capacity,DeviceLocator,Manufacturer,Speed |
Показать информацию о памяти | Windows |
На роутерах и свитчах: | ||
show version |
Показать информацию о версии и оборудовании роутера/свитча | Роутеры, свитчи |
show interfaces |
Показать информацию о состоянии сетевых интерфейсов | Роутеры, свитчи |
show ip route |
Показать таблицу маршрутизации IP | Роутеры |
show vlan |
Показать информацию о настройках VLAN | Свитчи |
show spanning-tree |
Показать информацию о протоколе Spanning Tree Protocol (STP) | Свитчи |
show arp |
Показать ARP-таблицу (связь IP и MAC-адресов) | Роутеры, свитчи |
show mac address-table |
Показать таблицу MAC-адресов | Роутеры, свитчи |
show running-config |
Показать текущую конфигурацию | Роутеры, свитчи |
show startup-config |
Показать сохраненную конфигурацию | Роутеры, свитчи |
copy running-config startup-config |
Сохранить текущую конфигурацию во временную память (RAM) в постоянную (NVRAM) | Роутеры, свитчи |
write memory |
Альтернативная команда для сохранения текущей конфигурации | Роутеры, свитчи |
reload |
Перезагрузить устройство | Роутеры, свитчи |
ping |
Проверить доступность узла по сети | Роутеры, свитчи |
traceroute |
Протестировать путь до целевого хоста | Роутеры, свитчи |
Существуют следующие топологии компьютерных сетей:
• шинная топология;
• кольцевая топология (петля);
• топология "звезда" (радиальная, звездообразная);
• полносвязная (ячеистая, сетка);
• иерархическая (древовидная);
• смешанная (гибридная).
На практике все сети обычно строятся на основе трех базовых топологий: шина,
кольцо, звезда.
Топология Шина
Шинная топология представляет собой топологию, в которой все устройства локальной сети подключаются к линейной сетевой среде передачи данных.
Такую линейную среду часто называют каналом, шиной или трассой. Каждое устройство, например, рабочая станция или сервер, независимо подключается к общему шинному кабелю с помощью специального разъема.
Шинный кабель должен иметь на конце согласующий резистор, или терминатор, который поглощает электрический сигнал, не давая ему отражаться и двигаться в обратном направлении по шине.
Топология кольцо
В сетях с топологией "кольцо" компьютеры связаны один с другим, при этом первый компьютер связан с последним.
Сигналы передаются по кольцу в одном направлении и проходят через каждый компьютер.
Каждый компьютер распознает и получает только ту информацию, которая ему адресована.
Топология Звезда
Топология "звезда" отличается тем, что все компьютеры подключаются к одному центральному (серверу). Для этого в центре сети содержится узел коммутации (коммутирующее устройство), к которому отдельным кабелем подключаются все компьютеры сети. Такой узел называется коммутатором (switch). Сигналы от передающего компьютера поступают через коммутатор (концентратор) ко всем другим компьютерам.
Ячеистая топология
В данной топологии каждый компьютер соединен с каждым другим компьютером отдельным кабелем.
Сеть с ячеистой топологией обладает высокой избыточностью и надежностью.
Данные от одного компьютера к другому могут передаваться по разным маршрутам, поэтому разрыв кабеля не отражается на работоспособности сети.
Главный недостаток сетей сячеистой топологией – большой расход кабеля.
Иерархическая топология
В данном случае каждый узел более высокого уровня связан с узлами более низкого уровня звездообразной связью, образуя комбинацию звёзд.
Также данную топологию называют иерархической звездой.
К достоинствам данной топологии можно отнести то, что сеть с данной топологией легко увеличить и легко её контролировать(поиск обрывов и неисправностей).
Недостатками является то, что при выходе из строя родительского узла, выйдут из строя и все его дочерние узлы (выход из строя корня — выход из строя всей сети), и также ограничена пропускная способность (доступ к сети может быть затруднён).
Топология бывают
Физическими - описывает реальное расположение
Логическими - описывает сигнал в размак физической топологии
Примеры логической топологии:
Примеры физической топологии:
Пример Приложения №1
Название | Описание | Операционная система |
---|---|---|
Описание Топологии сети | Пример логической топологии: Логическая топология описывает, как устройства в сети взаимодействуют друг с другом с помощью протоколов и адресов. В данном примере мы рассмотрим логическую топологию сети, используемую в описанной выше физической топологии. 1. IP-адресация: - Сеть сервера: 192.168.1.0/24 - Сеть рабочей станции: 192.168.1.0/24 - Сеть роутера: 192.168.1.0/24 - Сеть свитча: 192.168.1.0/24 2. Подсети: - В данной сети используется одна подсеть для всех устройств, что обеспечивает простоту настройки и управления сетью. 3. Протоколы: - Все устройства в этой логической топологии используют протоколы TCP/IP для связи. - DHCP используется для автоматической выдачи IP-адресов рабочим станциям и другим устройствам в сети. - DNS используется для разрешения имен узлов в IP-адреса. 4. Маршрутизация: - Роутер выполняет маршрутизацию между локальной сетью и внешней сетью Интернет. 5. Безопасность: - Брандмауэр роутера настроен на фильтрацию входящего и исходящего трафика для обеспечения безопасности сети. - Правила доступа к сетевым ресурсам настроены на роутере и свитче, чтобы контролировать доступ пользователей к ресурсам в сети. |
|
Описание Устройств | ||
Сервер1 | Имя устройства: Server1 IP: 192.168.1.10 Операционная система: Linux CentOS 7 Характеристики: Процессор Intel Xeon E5-2620, 16 ГБ RAM, 500 ГБ HDD |
Linux |
Рабочая станция1 | Имя устройства: Workstation1 IP: 192.168.1.20 Операционная система: Windows 10 Характеристики: Процессор Intel Core i7-9700K, 32 ГБ RAM, 1 ТБ SSD |
Windows |
Роутер | Имя устройства: Router1 IP: 192.168.1.1 Операционная система: Встроенная ОС маршрутизатора Характеристики: Cisco ISR 4000 Series, 4 ГБ RAM, 8 ГБ Flash |
Специализированная ОС |
Свитч | Имя устройства: Switch1 IP: 192.168.1.100 Операционная система: Встроенная ОС коммутатора Характеристики: Cisco Catalyst 2960, 512 МБ RAM, 64 МБ Flash |
Специализированная ОС |
Описание Рабочих сервисов | ||
Сервер1 | - Веб-сервер Apache - СУБД MySQL - Почтовый сервер Postfix |
|
Рабочая станция1 | - Microsoft Office Suite - Браузер Google Chrome - Среда разработки Visual Studio Code |
|
Роутер | - DHCP-сервер - NAT - Межсетевой экран (Firewall) |
|
Свитч | - VLAN - STP - Порт-мониторинг |
|
Производительность сервисов | ||
Сервер1 | - Веб-сервер Apache: нагрузка - 20% CPU, доступность - 99.9% - СУБД MySQL: нагрузка - 30% CPU, доступность - 99.8% - Почтовый сервер Postfix: нагрузка - 15% CPU, доступность - 99.7% |
|
Рабочая станция1 | - Microsoft Office Suite: открытие файлов - среднее время 2 секунды - Браузер Google Chrome: быстрое открытие веб-страниц, плавная работа - Среда разработки Visual Studio Code: быстрый запуск, отзывчивый интерфейс |
|
Роутер | - DHCP-сервер: выдача IP адресов - 100 клиентов, стабильность - 99.5% - NAT: прозрачный доступ в интернет, низкая задержка - Межсетевой экран (Firewall): фильтрация трафика, предотвращение несанкционированного доступа |
|
Свитч | - VLAN: разделение сети на виртуальные сегменты, управление трафиком - STP: предотвращение петель в сети, обеспечение отказоустойчивости - Порт-мониторинг: отслеживание трафика на определенных портах, анализ сетевой активности |
|
Безопасность рабочих мест | ||
Рабочая станция1 | - Антивирусное ПО: установлен и актуализирован, сканирует файлы и электронные письма - Брандмауэр Windows: настроен для блокировки нежелательного трафика из сети |
Пример Приложения №2
Отдел | Вопросы | В чем была проблема? | Как решили |
---|---|---|---|
Бухгалтерия | Добрый день, не работает сайт http://srv.au.team/ пишет «Доступ через недоваренный домен». Помогите пожалуйста, очень нужно для работы | Проблема с настройками DNS или хостингом. | Проверили настройки DNS и хостинга, исправили ошибки, возможно, добавили запись о домене в DNS или скорректировали настройки хостинга. |
Бухгалтерия | Добрый день, так не возможно работать. Открываю LibreOffice Calc и он сразу же закрывается. Помогите пожалуйста. | Возможно, проблема с программой, неправильные настройки, конфликт с другим программным обеспечением. | Переустановили LibreOffice Calc, обновили его до последней версии, проверили наличие конфликтов с другими программами, возможно, очистили временные файлы или конфигурации. |
Бухгалтерия | Не могу подключится к удаленному диску isci, помогите пожалуйста. Я не знаю какие кнопочки тыкать. | Возможно, неправильно введены учетные данные или проблема с доступом к сети. | Проверили учетные данные, проверили соединение с сетью, возможно, обновили пароль, проверили права доступа к ресурсу. |
Директор | Сначала не смог войти на сайт http://10.1.0.101/index.php/loqin , а теперь там это во вложении фотография. СРОЧНО ПОЧИНИТЕ ГОРИТ РАБОТААААААА | Возможно, проблема с настройками сервера, сетевой адаптер отключен или недоступен. | Проверили настройки сервера, перезагрузили сервер, проверили состояние сетевого адаптера, возможно, устранили проблему с сетевым подключением. |
Директор | Добрый день, не работает сайт http://moodle.au.team/mv/, коллеги говорят что у них работает а я не могу зайти и посмотреть как продвигается обучение. Во вложении фото что не работает. | Возможно, проблема с браузером, настройками прокси или блокировкой на уровне сети. | Проверили доступность сайта, попробовали другой браузер, проверили настройки прокси, возможно, обновили или настроили прокси. |
Директор | Раньше писал логин пароль для входа на компьютер а теперь он говорит что пароль не правильный, помогите пожалуйста работа стоит. | Возможно, пароль был изменен или учетная запись заблокирована. | Проверили правильность ввода пароля, возможно, сбросили пароль или разблокировали учетную запись, в случае необходимости восстановили доступ к учетной записи. |
Менеджер | Добрый день, не могу подключится к серверу ftp 10.1.0.101 с учётными данными i.morozov P@ssw0rd. Помогите пожалуйста | Возможно, неправильно введены учетные данные или проблема с доступом к серверу. | Проверили правильность учетных данных, проверили доступность сервера, возможно, обновили пароль или настроили доступ к серверу. |
Менеджер | Добрый день, у меня какой-то шутник на рабочем столе создаёт файл durack.txt, я его удаляю а он всё равно создаётся. Я уже не могу, помоги пожалуйста. | Возможно, проблема с вирусом или скриптом, который автоматически создает этот файл. | Проверили компьютер на наличие вирусов или вредоносного ПО, сканировали систему антивирусом, удалили подозрительные скрипты или программы. |
Менеджер | Захожу на сайт http://moodle.au.team/ что бы выложить задание а там просто белый экран. Помоги пожалуйста. | Возможно, проблема с сервером, базой данных или настройками браузера. | Проверили доступность сервера, базы данных, попробовали другой браузер, возможно, перезапустили сервер или перезагрузили базу данных. |
Менеджер | Заходил раньше к директору по ssh ilyassh(10.2.0.100. а теперь там "ssh: Permission denied, please try again Помогите починить | Возможно, проблема с аутентификацией, учетные данные неверны или учетная запись заблокирована. | Проверили правильность учетных данных, убедились в доступности сервера, возможно, разблокировали учетную запись или пересоздали ключи для ssh-аутентификации. |
Менаджер | Сделал приложение на сервере в docker-compose, но почему то его собрать не могу. Делал я это из под root в корневой директории. Помогите пожалуйста. | Возможно, проблема с конфигурацией Docker, разрешениями файловой системы или зависимостями приложения. | Проверили конфигурацию Docker, убедились в наличии всех необходимых зависимостей, возможно, скорректировали права доступа к файлам или пересобрали приложение. |
Данное решение взято из другово репозитория и немного доработана (данное решение может отличатся от задания на самом конкурсе)
Автор оригинального решения - abdurrah1m
Время на выполнение модуля 5 часов.
Доступ к ISP вы не имеете!!
Название устройства | ОС |
---|---|
RTR-HQ | Eltex vESR |
RTR-BR | Eltex vESR |
SRV-HQ | Альт Сервер 10 |
SRV-BR | Альт Сервер 10 (Допустима замена) Debian |
CLI-HQ | Альт Рабочая станция 10 |
CLI-BR | Альт Рабочая станция 10 (Допустима замена) |
SW-HQ | Альт Сервер 10 |
SW-BR | Альт Сервер 10 (Допустима замена) |
CICD-HQ | Альт Сервер 10 |
Подсеть/VLAN | Префикс | Диапазон | Broadband | Размер |
---|---|---|---|---|
10.0.10.0 / vlan100 | /27 | 10.0.10.1-30 | 10.0.10.31 | 30 |
10.0.10.32 / vlan200 | /27 | 10.0.10.33-62 | 10.0.10.63 | 30 |
10.0.10.64 / vlan300 | /27 | 10.0.10.65-94 | 10.0.10.95 | 30 |
Подсеть/VLAN | Префикс | Диапазон | Broadband | Размер |
---|---|---|---|---|
10.0.20.0 / vlan100 | /27 | 10.0.20.1-30 | 10.0.20.31 | 30 |
10.0.20.32 / vlan200 | /27 | 10.0.20.33-62 | 10.0.20.63 | 30 |
10.0.20.64 / vlan300 | /27 | 10.0.20.65-94 | 10.0.20.95 | 30 |
Имя | NIC | IP | Default Gateway |
---|---|---|---|
RTR-HQ | ISP | 11.11.11.2/30 | 11.11.11.1 |
vlan100 | 10.0.10.1/27 | ||
vlan200 | 10.0.10.33/27 | ||
vlan300 | 10.0.10.65/27 | ||
RTR-BR | ISP | 22.22.22.2/30 | 22.22.22.1 |
vlan100 | 10.0.20.1/27 | ||
vlan200 | 10.0.20.33/27 | ||
vlan300 | 10.0.20.65/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 | 10.0.10.32/27 | |
CLI-BR | vlan200 | 10.0.20.32/27 | |
CICD-HQ | vlan200 | 10.0.10.3/27 |
ТЫКНИ
Добавление serial порта в Гипервизоре:
qm set <VM ID> -serial0 socket
Хост /etc/init/ttyS0.conf
:
# ttyS0 - getty
start on stopped rc RUNLEVEL=[12345]
stop on runlevel [!12345]
respawn
exec /sbin/getty -L 115200 ttyS0 vt102
Конфигурация grub
/etc/default/grub
:
GRUB_CMDLINE_LINUX ='console=tty0 console=ttyS0,115200'
Update:
update-grub
Включение serial порта:
systemctl enable [email protected]
Перезагружаемся и заходим через xterm.js
. Теперь доступны скроллинг, вставка, копирование и произвольный размер окна.
a) Настройте имена устройств согласно топологии
a. Используйте полное доменное имя
b. Сконфигурируйте адреса устройств на свое усмотрение. Для офиса HQ выделена сеть 10.0.10.0/24, для офиса BR выделена сеть 10.0.20.0/24. Данные сети необходимо разделить на подсети для каждого vlan.
c. На SRV-HQ и SRV-BR, создайте пользователя sshuser с паролем P@ssw0rd
1. Пользователь sshuser должен иметь возможность запуска утилиты sudo без дополнительной аутентификации.
2. Запретите парольную аутентификацию. Аутентификация пользователя sshuser должна происходить только при помощи ключей.
3. Измените стандартный ssh порт на 2023.
4. На CLI-HQ сконфигурируйте клиент для автоматического подключения к SRV-HQ и SRV-BR под пользователем sshuser. При подключении автоматически должен выбираться корректный порт. Создайте пользователя sshuser на CLI-HQ для обеспечения такого сетевого доступа.
Кликни
Полное доменное имя:
config
hostname rtr-hq.company.prof
do commit
do confirm
Команды для просмотра интерфейсов:
show ip int
show int stat
Настройка ip-адреса (ISP-HQ):
interface gi/0/2
ip address 11.11.11.2/30
description ISP
exit
Параметры DNS:
domain name company.prof
domain name-server 11.11.11.1
Настройка шлюза:
ip route 0.0.0.0/0 11.11.11.1
Проверка доступа в Интернет:
Настройка линцензии на Eltex
Подключение к ELM
Для подключения к серверу ELM нужно выполнить следующие шаги:
Перейдите в режим глобальной конфигурации.
configure
Перейдите к настройкам licence-manager.
licence-manager
Для подключения к ELM укажите ваш serial-number и licence-key Задайте серийный номер.
vesr# set serial-number VESRXXXXXXX
Перезагрузите устройство.
Серийный номер изменится только после перезагрузки. Не выполняйте дальнейшие шаги до задания серийного номера. После 10 попыток подключения к серверу лицензирования с некорректными учётными данными ваш IP-адрес будет автоматически заблокирован системой защиты сервера лицензирования.
Настройте подключение к серверу лицензирования.
vesr# configure
vesr(config)# licence-manager
vesr(config-licence-manager)# host address elm.eltex-co.ru
vesr(config-licence-manager)# licence-key ELM-LICENCEKEY
vesr(config-licence-manager)# enable
vesr(config-licence-manager)# end
Примените конфигурацию.
Используя команду show licence-manage status, можно увидеть, произошло ли подключение у ELM-серверу, когда было последнее обращение и когда планируется следующее обращение.
vesr# show licence-manager status
ELM server type: root
Last request status: success
Last request to licence server: Tuesday 2023/04/11 08:11:33
Next request to licence server: Tuesday 2023/04/11 08:16:33
Используя команду show licence, можно просмотреть активированные лицензии и их лимиты.
vesr# show licence
Feature Value Valid from Expiries
-------------------------------- -------------------------------- -------------------------------- --------------------------------
ESR-VIRTUAL-LIMIT-BGP-RIB 1000000 -- --
ESR-VIRTUAL-LIMIT-DEFAULT true -- --
ESR-VIRTUAL-LIMIT-IPSEC-VPN 3 -- --
ESR-VIRTUAL-LIMIT-NET 10000000 -- --
Настройка под интерфейсов (Router-on-a-stick) vlan100:
interface gi/0/1.100
ip firewall disable
description vlan100
ip address 10.0.10.1/27
exit
vlan200:
interface gi/0/1.200
ip firewall disable
description vlan200
ip address 10.0.10.33/27
exit
vlan300:
interface gi/0/1.300
ip firewall disable
description vlan300
ip address 10.0.10.65/27
exit
Сохранение:
do commit
do confirm
То же самое, кроме IP-адреса:
Полное доменное имя:
hostnamectl set-hostname <VM_NAME>.company.prof;exec bash
Настройка интерфейсов:
sed -i 's/DISABLED=yes/DISABLED=no/g' /etc/net/ifaces/ens18/options
sed -i 's/NM_CONTROLLED=yes/NM_CONTROLLED=no/g' /etc/net/ifaces/ens18/options
echo 10.0.20.2/24 > /etc/net/ifaces/ens18/ipv4address
echo default via 10.0.20.1 > /etc/net/ifaces/ens18/ipv4route
systemctl restart network
ping -c 4 8.8.8.8
Можно так же и через графический интерфейс
Создание пользователя sshuser:
Если пишет что нету такой команды надо написать su -l
adduser sshuser
passwd sshuser
P@ssw0rd
P@ssw0rd
echo "sshuser ALL=(ALL) NOPASSWD: ALL" >> /etc/sudoers
usermod -aG wheel sshuser (может написать ошибку нечего страшного)
sudo -i (надо вводить на sshuser)
На серверах, к которым подключаемся:
mkdir /home/sshuser (если папка уже существует нечего страшного)
chown sshuser:sshuser /home/sshuser (может выдать ошибку )
cd /home/sshuser
mkdir -p .ssh/
chmod 700 .ssh
touch .ssh/authorized_keys
chmod 600 .ssh/authorized_keys
chown sshuser:sshuser .ssh/authorized_keys (тоже может выдать ошибку)
На машине с которого подключаемся к серверам:
ssh-keygen -t rsa -b 2048 -f srv_ssh_key
mkdir .ssh
mv srv_ssh_key* .ssh/
Конфиг для автоматического подключения (находится на клиенте) .ssh/config
:
Host srv-hq
HostName 10.0.10.2
Port 2023
User sshuser
IdentityFile /home/admin/.ssh/srv_ssh_key
Host srv-br
HostName 10.0.20.2
Port 2023
User sshuser
IdentityFile /home/admin/.ssh/srv_ssh_key
chmod 600 .ssh/config
Копирование ключа на удаленный сервер:
ssh-copy-id -i srv_ssh_key.pub [email protected]
ssh-copy-id -i srv_ssh_key.pub [email protected]
На сервере /etc/openssh/sshd_config
:
AllowUsers sshuser
PermitRootLogin no
PubkeyAuthentication yes
PasswordAuthentication no
AuthorizedKeysFile .ssh/authorized_keys
Port 2023
systemctl restart sshd
Подключение:
ssh srv-hq
a) На SRV-HQ настройте зеркалируемый LVM том
a. Используйте два неразмеченных жестких диска.
b. Настройте автоматическое монтирование логического тома.
c. Точка монтирования /opt/data.
b) На SRV-BR сконфигурируйте stripped LVM том.
a. Используйте два неразмеченных жестких диска.
b. Настройте автоматическое монтирование тома.
c. Обеспечьте шифрование тома средствами dm-crypt. Диск должен монтироваться при загрузке ОС без запроса пароля.
d. Точка монтирования /opt/data.
Кликни
Создаем разделы:
gdisk /dev/sdb
Если выдает команда не найдена лечем это командой su -l
o - y
n - 1 - enter - enter - 8e00
p
w - y
То же самое с sdc
Инициализация:
pvcreate /dev/sd{b,c}1
В группу:
vgcreate vg01 /dev/sd{b,c}1
Логический том-зеркало RAID1:
lvcreate -l 100%FREE -n lvmirror -m1 vg01
Создаём ФС:
mkfs.ext4 /dev/vg01/lvmirror
Директория:
mkdir /opt/data
Автозагрузка /etc/fstab
:
echo "UUID=$(blkid -s UUID -o value /dev/vg01/lvmirror) /opt/data ext4 defaults 1 2" | tee -a /etc/fstab
Монтаж:
mount -av
Проверка:
df -h
Создаем разделы:
gdisk /dev/sdb
o - y
n - 1 - enter - enter - 8e00
p
w - y
То же самое с sdc
Инициализация:
pvcreate /dev/sd{b,c}1
В группу:
vgcreate vg01 /dev/sd{b,c}1
Striped том:
lvcreate -i2 -l 100%FREE -n lvstreped vg01
-i2 - количество полос
-l 100%FREE - занять всё место
-n lvstriped - имя 'lvstriped'
vg01 - имя группы
ФС:
mkfs.ext4 /dev/vg01/lvstriped
Создание ключа:
dd if=/dev/urandom of=/root/ext2.key bs=1 count=4096
Шифрование тома с помощью ключа:
cryptsetup luksFormat /dev/vg01/lvstriped /root/ext2.key
Открытие тома ключом:
cryptsetup luksOpen -d /root/ext2.key /dev/vg01/lvstriped lvstriped
ФС на расшифрованном томе:
mkfs.ext4 /dev/mapper/lvstriped
Директория монтирования:
mkdir /opt/data
тут надо быть аккуратно потому что могут не вставится uuid у меня во второй команде не всавилось и была ошибка
Автозагрузка /etc/fstab
echo "UUID=$(blkid -s UUID -o value /dev/mapper/lvstriped) /opt/data ext4 defaults 0 0" | tee -a /etc/fstab
Монтаж:
mount -av
вот тут надо после этой команды зайти в каталог etc/crypttab и посмотреть на ключ если его нету надо посмотреть командой blkid -s UUID -o value /dev/vg01/lvstriped и вставить в UUID=ваш ключ
Автозагрузка зашифрованного тома с помощью ключа /etc/crypttab
:
echo "lvstreped UUID=$(blkid -s UUID -o value /dev/vg01/lvstriped) /root/ext2.key luks" | tee -a /etc/crypttab
reboot, df -h, lsblk
a) В качестве коммутаторов используются SW-HQ и SW-BR.
b) В обоих офисах серверы должны находиться во vlan100, клиенты – во vlan200, management подсеть – во vlan300.
c) Создайте management интерфейсы на коммутаторах.
d) Для каждого vlan рассчитайте подсети, выданные для офисов. Количество хостов в каждой подсети не должно превышать 30-ти.
Кликни
Внимание! в интерфейсах ens... не должно быть прочих файлов, кроме options
, иначе порты не привяжутся
После прописывания команд нмже у меня всё сломалось у вас может быть по другому Временное назначение ip-адреса (смотрящего в сторону rtr-hq):
ip link add link ens18 name ens18.300 type vlan id 300
ip link set dev ens18.300 up
ip addr add 10.0.10.66/27 dev ens18.300
ip route add 0.0.0.0/0 via 10.0.10.65
echo nameserver 8.8.8.8 > /etc/resolv.conf
Обновление пакетов и установка openvswitch
:
apt-get update && apt-get install -y openvswitch
Автозагрузка:
systemctl enable --now openvswitch
ens18 - rtr-hq
ens19 - cicd-hq - vlan200
ens20 - srv-hq - vlan100
ens21 - cli-hq - vlan200
Создаем каталоги для ens19,ens20,ens21:
mkdir /etc/net/ifaces/ens{19,20,21}
Для моста:
mkdir /etc/net/ifaces/ovs0
Management интерфейс:
mkdir /etc/net/ifaces/mgmt
Не удалять настройки openvswitch:
sed -i "s/OVS_REMOVE=yes/OVS_REMOVE=no/g" /etc/net/ifaces/default/options
Мост /etc/net/ifaces/ovs0/options
:
TYPE - тип интерфейса, bridge;
HOST - добавляемые интерфейсы в bridge.
mgmt /etc/net/ifaces/mgmt/options
:
TYPE - тип интерфейса (internal);
BOOTPROTO - статически;
CONFIG_IPV4 - использовать ipv4;
BRIDGE - определяет к какому мосту необходимо добавить данный интерфейс;
VID - определяет принадлежность интерфейса к VLAN.
Поднимаем интерфейсы:
cp /etc/net/ifaces/ens18/options /etc/net/ifaces/ens19/options
cp /etc/net/ifaces/ens18/options /etc/net/ifaces/ens20/options
cp /etc/net/ifaces/ens18/options /etc/net/ifaces/ens21/options
Назначаем Ip, default gateway на mgmt:
echo 10.0.10.66/27 > /etc/net/ifaces/mgmt/ipv4address
echo default via 10.0.10.65 > /etc/net/ifaces/mgmt/ipv4route
Перезапуск network:
systemctl restart network
Проверка:
ip -c --br a
ovs-vsctl show
ens18 - rtr-hq делаем trunk и пропускаем VLANs:
ovs-vsctl set port ens18 trunk=100,200,300
ens19 - tag=200
ovs-vsctl set port ens19 tag=200
ens20 - tag=100:
ovs-vsctl set port ens20 tag=100
ens21 - tag=200
ovs-vsctl set port ens21 tag=200
Включаем инкапсулирование пакетов по 802.1q:
modprobe 8021q
Проверка включения
a) В качестве серверов баз данных используйте сервера SRV-HQ и SRV-BR
b) Разверните сервер баз данных на базе Postgresql
a. Создайте базы данных prod, test, dev
i. Заполните базы данных тестовыми данными при помощи утилиты pgbench. Коэффицент масштабирования сохраните по умолчанию.
b. Разрешите внешние подключения для всех пользователей.
c. Сконфигурируйте репликацию с SRV-HQ на SRV-BR
d. Обеспечьте отказоустойчивость СУБД при помощи HAProxy.
i. HAProxy установите на SW-HQ.
ii. Режим балансировки – Hot-Standby: Активным необходимо сделать только SRV-HQ. В случае отказа SRV-HQ активным сервером должен становится SRV-BR.
iii. Выбор standby режима (RO/RW) остается на усмотрение участника.
iv. Обеспечьте единую точку подключения к СУБД по имени dbms.company.prof
Кликни
Установка postgresql
:
apt-get install -y postgresql16 postgresql16-server postgresql16-contrib
Создаём системные базы данных:
/etc/init.d/postgresql initdb
Автозагрузка:
systemctl enable --now postgresql
Включаем прослушивание всех адресов:
nano /var/lib/pgsql/data/postgresql.conf
Перезагружаем:
systemctl restart postgresql
Проверяем:
ss -tlpn | grep postgres
Для заведения пользователей и создания баз данных, необходимо переключиться в учётную запись "postgres"
Заходим в БД под рутом:
psql -U postgres
зададим пароль для пользователя "postgres":
ALTER USER postgres WITH ENCRYPTED PASSWORD 'P@ssw0rd';
Создаем базы данных "prod","test","dev":
CREATE DATABASE prod;
CREATE DATABASE test;
CREATE DATABASE dev;
Создаем пользователей "produser","testuser","devuser":
CREATE USER produser WITH PASSWORD 'P@ssw0rd';
CREATE USER testuser WITH PASSWORD 'P@ssw0rd';
CREATE USER devuser WITH PASSWORD 'P@ssw0rd';
Назначаем на БД владельца:
GRANT ALL PRIVILEGES ON DATABASE prod to produser;
GRANT ALL PRIVILEGES ON DATABASE test to testuser;
GRANT ALL PRIVILEGES ON DATABASE dev to devuser;
Перед выполнение следущий команды надо выйти из под программы
Заполняем БД с помощью pgbench
:
gbench -U postgres -i prod
pgbench -U postgres -i test
pgbench -U postgres -i dev
Проверяем
psql -U postgres
\c prod
\dt+
Если будет ошибка отношения не найдены
надо проверить с разрешениями это можно проверить с помощью \dn+
в public схеме указаны разрешения для postgres роли, и если нет, предоставьте их с помощью: GRANT ALL ON SCHEMA public TO public; после этого повторите \dt+ всё должно заработать
Настройка аутентификации для удаленного доступа:
nano /var/lib/pgsql/data/pg_hba.conf
Перезапускаем:
systemctl restart postgresql
Установка:
apt-get install -y postgresql16 postgresql16-server postgresql16-contrib
Конфиг
nano /var/lib/pgsql/data/postgresql.conf
wal_level = replica
max_wal_senders = 2
max_replication_slots = 2
hot_standby = on
hot_standby_feedback = on
wal_level указывает, сколько информации записывается в WAL (журнал операций, который используется для репликации); max_wal_senders — количество планируемых слейвов; max_replication_slots — максимальное число слотов репликации; hot_standby — определяет, можно ли подключаться к postgresql для выполнения запросов в процессе восстановления; hot_standby_feedback — определяет, будет ли сервер slave сообщать мастеру о запросах, которые он выполняет.
systemctl restart postgresql
Останавливаем:
systemctl stop postgresql
Удаляем каталог:
rm -rf /var/lib/pgsql/data/*
Запускаем репликацию (может длиться несколько десятков минут):
pg_basebackup -h 10.0.10.2 -U postgres -D /var/lib/pgsql/data --wal-method=stream --write-recovery-conf
Назначаем владельца:
chown -R postgres:postgres /var/lib/pgsql/data/
Запускаем:
systemctl start postgresql
Создаем тест:
psql -U postgres
CREATE DATABASE testik;
Установка haproxy:
apt-get install haproxy
Автозагрузка:
systemctl enable --now haproxy
Конфиг /etc/haproxy/haproxy.cfg
:
listen stats
bind 0.0.0.0:8989
mode http
stats enable
stats uri /haproxy_stats
stats realm HAProxy\ Statistics
stats auth admin:toor
stats admin if TRUE
frontend postgre
bind 0.0.0.0:5432
default_backend my-web
backend postgre
balance first
server srv-hq 10.0.10.2:5432 check
server srv-br 10.0.20.2:5432 check
a) Настройте динамическую трансляцию адресов для обоих офисов. Доступ к интернету необходимо разрешить со всех устройств.
ТЫКНИ
rtr-hq:
config
security zone public
exit
int te1/0/2
security-zone public
exit
object-group network COMPANY
ip address-range 10.0.10.1-10.0.10.254
exit
object-group network WAN
ip address-range 11.11.11.11
exit
nat source
pool WAN
ip address-range 11.11.11.11
exit
ruleset SNAT
to zone public
rule 1
match source-address COMPANY
action source-nat pool WAN
enable
exit
exit
commit
confirm
rtr-br:
config
security zone public
exit
int te1/0/2
security-zone public
exit
object-group network COMPANY
ip address-range 10.0.20.1-10.0.20.254
exit
object-group network WAN
ip address-range 22.22.22.22
exit
nat source
pool WAN
ip address-range 22.22.22.22
exit
ruleset SNAT
to zone public
rule 1
match source-address COMPANY
action source-nat pool WAN
enable
exit
exit
commit
confirm
a) Настройте протокол динамической конфигурации хостов для устройств в подсетях CLI - RTR-HQ
i. Адрес сети – согласно топологии
ii. Адрес шлюза по умолчанию – адрес маршрутизатора RTR-HQ
iii. DNS-суффикс – company.prof
b) Настройте протокол динамической конфигурации хостов для устройств в подсетях CLI RTR-BR
i. Адрес сети – согласно топологии
ii. Адрес шлюза по умолчанию – адрес маршрутизатора RTR-BR
iii. DNS-суффикс – company.prof
ТЫКНИ
DNS-сервер - srv-hq
configure terminal
ip dhcp-server pool COMPANY-HQ
network 10.0.10.32/27
default-lease-time 3:00:00
address-range 10.0.10.33-10.0.10.62
excluded-address-range 10.0.10.33
default-router 10.0.10.33
dns-server 10.0.10.2
domain-name company.prof
exit
Включение DHCP-сервера:
ip dhcp-server
i. Реализуйте основной DNS сервер компании на SRV-HQ
a. Для всех устройств обоих офисов необходимо создать записи A и PTR.
b. Для всех сервисов предприятия необходимо создать записи CNAME.
c. Создайте запись test таким образом, чтобы при разрешении имени из левого офиса имя разрешалось в адрес SRV-HQ, а из правого – в адрес SRV-BR.
d. Сконфигурируйте SRV-BR, как резервный DNS сервер. Загрузка записей с SRV-HQ должна быть разрешена только для SRV-BR.
e. Клиенты предприятия должны быть настроены на использование внутренних DNS серверов
ТЫКНИ
Установка bind и bind-utils:
apt-get update && apt-get install -y bind bind-utils
Конфиг:
nano /etc/bind/options.conf
listen-on { any; };
allow-query { any; };
allow-transfer { 10.0.20.2; };
Включаем resolv:
nano /etc/net/ifaces/ens18/resolv.conf
systemctl restart network
Автозагрузка bind:
systemctl enable --now bind
Создаем прямую и обратные зоны:
nano /etc/bind/local.conf
Копируем дефолты:
cp /etc/bind/zone/{localhost,company.db}
cp /etc/bind/zone/127.in-addr.arpa /etc/bind/zone/10.0.10.in-addr.arpa.db
cp /etc/bind/zone/127.in-addr.arpa /etc/bind/zone/20.0.10.in-addr.arpa.db
Назначаем права:
chown root:named /etc/bind/zone/company.db
chown root:named /etc/bind/zone/10.0.10.in-addr.arpa.db
chown root:named /etc/bind/zone/20.0.10.in-addr.arpa.db
Настраиваем зону прямого просмотра /etc/bind/zone/company.prof
:
Настраиваем зону обратного просмотра /etc/bind/zone/10.0.10.in-addr.arpa.db
:
Настраиваем зону обратного просмотра /etc/bind/zone/20.0.10.in-addr.arpa.db
:
Проверка зон:
named-checkconf -z
Конфиг
vim /etc/bind/options.conf
Добавляем зоны
Резолв /etc/net/ifaces/ens18/resolv.conf
:
search company.prof
nameserver 10.0.10.2
nameserver 10.0.20.2
Перезапуск адаптера:
systemctl restart network
Автозагрузка:
systemctl enable --now bind
SLAVE:
control bind-slave enabled
Разрешение имени хоста test
Копируем дефолт для зоны:
cp /etc/bind/zone/{localdomain,test.company.db}
Задаём права, владельца:
chown root:named /etc/bind/zone/test.company.db
Настраиваем зону:
vim /etc/bind/zone/test.company.db
Перезапускаем:
systemctl restart bind
Добавляем зону /etc/bind/local.conf
:
Задаём права, владельца:
chown root:named /etc/bind/zone/test.company.db
Редактируем зону /etc/bind/zone/test.company.db
:
Перезапускаем:
systemctl restart bind
a) Настройте узел управления на базе SRV-BR
a. Установите Ansible.
b) Сконфигурируйте инвентарь по пути /etc/ansible/inventory. Инвентарь должен содержать три группы устройств:
a. Networking
b. Servers
c. Clients
c) Напишите плейбук в /etc/ansible/gathering.yml для сбора информации об IP адресах и именах всех устройств (и клиенты, и серверы, и роутеры). Отчет должен быть сохранен в /etc/ansible/output.yaml, в формате ПОЛНОЕ_ДОМЕННОЕ_ИМЯ – АДРЕС
ТЫКНИ
Установка:
apt-get install -y ansible sshpass
nano /etc/ansible/inventory.yml
Networking:
hosts:
rtr-hq:
ansible_host: 10.0.10.1
ansible_user: admin
ansible_password: P@ssw0rd
ansible_port: 22
rtr-br:
ansible_host: 10.0.20.1
ansible_user: admin
ansible_password: P@ssw0rd
ansible_port: 22
Servers:
hosts:
srv-hq:
ansible_host: 10.0.10.2
ansible_ssh_private_key_file: ~/.ssh/srv_ssh_key
ansible_user: sshuser
ansible_port: 2023
srv-br:
ansible_host: 10.0.20.2
ansible_ssh_private_key_file: ~/.ssh/srv_ssh_key
ansible_user: sshuser
ansible_port: 22
Clients:
hosts:
cli-hq:
ansible_host: 10.0.10.34
ansible_user: root
ansible_password: P@ssw0rd
ansible_port: 22
cli-br:
ansible_host: 10.0.20.34
ansible_user: root
ansible_password: P@ssw0rd
ansible_port: 22
nano /etc/ansible/ansible.cfg
nano /etc/ansible/gathering.yml
---
- name: show ip and hostname from routers
hosts: Networking
gather_facts: false
tasks:
- name: show ip
esr_command:
commands: show ip interfaces
- name: show ip and fqdn
hosts: Servers, Clients
tasks:
- name: print ip and hostname
debug:
msg: "IP address: {{ ansible_default_ipv4.address }}, Hostname {{ ansible_hostname }}"
- name: create file
copy:
content: ""
dest: /etc/ansible/output.yml
mode: '0644'
- name: save output
copy:
content: "IP address: {{ ansible_default_ipv4.address }}, Hostname {{ ansible_hostname }}"
dest: /etc/ansible/output.yml
cd /etc/ansible
a) Все параметры на усмотрение участника.
b) Используйте парольную аутентификацию.
c) Обеспечьте динамическую маршрутизацию: ресурсы одного офиса должны быть доступны из другого офиса.
d) Для обеспечения динамической маршрутизации используйте протокол OSPF.
https://sysahelper.gitbook.io/sysahelper/main/telecom/main/vesr_greoveripsec
ТЫКНИ
tunnel gre 1
ttl 16
ip firewall disable
local address 11.11.11.11
remote address 22.22.22.22
ip address 172.16.1.1/30
enable
exit
security zone-pair public self
rule 1
description "ICMP"
action permit
match protocol icmp
enable
exit
rule 2
description "GRE"
action permit
match protocol gre
enable
exit
exit
security ike proposal ike_prop1
authentication algorithm md5
encryption algorithm aes128
dh-group 2
exit
security ike policy ike_pol1
pre-shared-key ascii-text P@ssw0rd
proposal ike_prop1
exit
security ike gateway ike_gw1
ike-policy ike_pol1
local address 11.11.11.11
local network 11.11.11.11/32 protocol gre
remote address 22.22.22.22
remote network 22.22.22.22/32 protocol gre
mode policy-based
exit
security ike gateway ike_gw1
ike-policy ike_pol1
local address 22.22.22.22
local network 22.22.22.22/32 protocol gre
remote address 11.11.11.11
remote network 11.11.11.11/32 protocol gre
mode policy-based
exit
security ipsec proposal ipsec_prop1
authentication algorithm md5
encryption algorithm aes128
pfs dh-group 2
exit
security ipsec policy ipsec_pol1
proposal ipsec_prop1
exit
security ipsec vpn ipsec1
ike establish-tunnel route
ike gateway ike_gw1
ike ipsec-policy ipsec_pol1
enable
exit
security zone-pair public self
rule 3
description "ESP"
action permit
match protocol esp
enable
exit
rule 4
description "AH"
action permit
match protocol ah
enable
exit
exit
router ospf 1
area 0.0.0.0
enable
exit
enable
exit
tunnel gre 1
ip ospf instance 1
ip ospf
exit
interface gigabitethernet 1/0/2.100
ip ospf instance 1
ip ospf
exit
interface gigabitethernet 1/0/2.200
ip ospf instance 1
ip ospf
exit
interface gigabitethernet 1/0/2.300
ip ospf instance 1
ip ospf
exit
security zone-pair public self
rule 5
description "OSPF"
action permit
match protocol ospf
enable
exit
exit
Проверка
sh ip ospf neighbors
sh ip route
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 в качестве доверенного на обоих клиентских ПК.
ТЫКНИ
a) Пользователям group1 разрешен доступ на любые сервисы предприятия
b) Пользователям group2 разрешен доступ только к системе мониторинга
c) Пользователям group3 не разрешен доступ никуда, также, как и пользователям, не прошедшим аутентификацию
d) Любым пользователям компьютера CLI-HQ разрешен доступ в сеть Интернет и на все сервисы предприятия, кроме доменов vk.com, mail.yandex.ru и worldskills.org
e) Настройте клиент правого офиса на использование прокси сервера предприятия
f) Авторизация для proxy спрашивается браузером, SSO не ожидается
Запись | Тип записи |
---|---|
rtr-hq.company.prof | A |
rtr-br.company.prof | A |
sw-hq.company.prof | A |
sw-br.company.prof | A |
srv-hq.company.prof | A |
srv-br.company.prof | A |
cli-hq.company.prof | A |
cli-br.company.prof | A |
dbms.company.prof | CNAME |
ТЫКНИ
Пока что нет
Время на выполнение модуля 5 часов
Данный модуль содержит задачи, основанные на практиках DevOps при разработке и эксплуатации информационных систем в сфере разработки современного программного обеспечения.
Главной задачей данного модуля является создание элементов автоматизированной инфраструктуры с помощью инструментов для работы с облачными средами и управления контейнерами. В рамках задания вам будет предоставлен доступ к инфраструктуре облачного провайдера. В качестве основной задачи необходимо подготовить инструкции для полностью автоматического развёртывания приложения вместе со всеми необходимыми службами в облаке.
Для выполнения задания на ваших локальных компьютерах будет обеспечен доступ к сети Интернет.
ИНСТРУКЦИИ ДЛЯ УЧАСТНИКА
Доступ к облачному провайдеру и авторизацию на сервере выполняет экспертная группа. Главный эксперт сам определяет провайдера облачной инфраструктуры.
Все пункты задания необходимо реализовать на стороне провайдера облачной инфраструктуры. Эксперты будут ожидать наличие работоспособных элементов инфраструктуры согласно заданию.
Пункты задания, касающиеся настройки облака, потребуют от Вас написания автоматизированных сценариев развёртывания инфраструктуры согласно заданию. Конкретные инструменты выбираются на Ваше усмотрение. По завершении выполнения задания, ожидается, что будут полностью удалены автоматически созданные машины, сетевые и другие настройки в облачной инфраструктуре. Эксперты при проверке будут выполнять скрипт и проверять, что за отведённое (20 минут) время вся инфраструктура создаётся и работает должным образом.
Для проверки работоспособности скриптов автоматического развертывания инфраструктуры, эксперты могут проверять их работу в отдельной учётной записи того же облачного провайдера. Вам необходимо предусмотреть возможность указания необходимых параметров для работы скриптов с другой учетной записью облачного провайдера.
Проверка будет выполняться с инстанса ControlVM, вы можете установить все необходимые для вашей работы инструменты на указанную машину.
1. Вся проверка выполнения задания будет проводиться с машины ControlVM.
2. НЕ удаляйте ControlVM по завершении задания.
3. Создайте инстанс с именем ControlVM и подключите его к сети интернет.
1. Тип виртуальной машины: 2 vCPU, Доля vCPU 50%, 2 RAM.
2. Размер диска: 10 ГБ.
3. Тип диска: SSD.
4. Отключите мониторинг и резервное копирование.
5. Операционная система: ALT Linux 10.
6. Разрешите внешние подключения по протоколу SSH.
7. Сохраните ключевую пару для доступа на рабочем столе вашего локального ПК с расширением .pem
4. Настройте внешнее подключение к ControlVM.
1. Установите на локальный ПК клиент SSH PuTTY.
2. Создайте в PuTTY профиль с именем YACloud.
3. Убедитесь в возможности установления соединения с ControlVM с локального ПК с помощью клиента PuTTY без ввода дополнительных параметров.
4. Используйте для подключения имя пользователя altlunxu и загруженную ключевую пару.
Кликни
Буду использовать Mobaxterm, который базирован на putty
Tools - MobaKeyGen
Generate - копируем публичный ключ - Save private key - меняем расширение ключа на pem
sudo -i
apt-get update && apt-get install -y wget unzip
Зеркало Яндекса
wget https://hashicorp-releases.yandexcloud.net/terraform/1.7.2/terraform_1.7.2_linux_amd64.zip
Зеркало VK
wget https://hashicorp-releases.mcs.mail.ru/terraform/1.7.3/terraform_1.7.3_linux_amd64.zip
unzip terraform_1.7.2_linux_amd64.zip -d /usr/local/bin/
- Подготовьте сценарий автоматизации развёртывания облачной инфраструктуры.
1. Виртуальные машины и сети должны быть созданы согласно Топологии.
2. Имена виртуальных машин и сетей должны соответствовать Топологии.
3. Обеспечьте подключение виртуальных машин к соответствующим сетям.
4. В случае предоставления внешнего доступа к созданным виртуальным машинам, он должен быть разрешён только по протоколу ssh.
5. Разрешите трафик по протоколу ICMP.
6. Вы можете назначить глобальные IP адреса для управления созданными виртуальными машинами.
7. Используйте аутентификацию на основе открытых ключей, аутентификация с использованием пароля должна быть отключена для SSH.
8. Создайте балансировщик нагрузки.
1. Сохраните внешний адрес балансировщика нагрузки в файле /home/altlinux/lb.ip.
2. Ограничьте внешний доступ протоколами http и https.
3. Балансировка нагрузки должна использовать алгоритм round robin.
4. При обращении на внешний адрес балансировщика нагрузки должен выводиться ответ от приложения на внутреннем сервере. - Виртуальные машины должны соответствовать следующим характеристикам.
1. Операционная система: ALT Linux 10.
2. Количество vCPU: 1.
3. Объём оперативной памяти: 1024 МБ.
4. Объём диска: 15 ГБ.
5. Тип диска: HDD.
6. Разместите виртуальные машины в регионе Москва.
7. Разместите Web1 в зоне доступности ru-central1-a.
8. Разместите Web2 в зоне доступности ru-central1-b. - На машине ControlVM создайте скрипт cloudinit.sh.
1. В качестве рабочей директории используйте путь /home/altlinux/bin.
2. Используйте файл /home/altlinux/bin/cloud.conf для указания настроек для подключения к облачному провайдеру.
1. При выполнении проверки, эксперты могут изменить настройки только в файле cloud.conf. Другие файлы редактироваться не будут.
2. Вы можете оставить любые понятные комментарии в файле cloud.conf.
3. Скрипт должен выполняться из любой директории без явного указания пути к исполняемому файлу.
4. Выполнение задания ожидается с использованием инструментов Terraform и/или OpenStack CLI. Однако, вы вправе выбрать другие инструменты, не противоречащие условиям задания и правилам соревнования.
- На машине ControlVM.
1. Установите Docker и Docker Compose.
2. Создайте локальный Docker Registry.
3. В домашней директории хоста создайте файл name.txt и запишите в него строку experts.
4. Напишите Dockerfile для приложения HelloFIRPO.
1. В качестве базового образа используйте alpine
2. Сделайте рабочей директорию /hello и скопируйте в неё name.txt
3. Контейнер при запуске должен выполнять команду echo, которая выводит сообщение "Hello, FIRPO! Greetings from " и затем содержимое файла name.txt, после чего завершать свою работу.
5. Соберите образ приложения App и загрузите его в ваш Registry.
1. Используйте номер версии 1.0 для вашего приложения
2. Образ должен быть доступен для скачивания и дальнейшего запуска на локальной машине.
6. Создайте в домашней директории пользователя ubuntu файл wiki.yml для приложения MediaWiki.
1. Средствами docker compose должен создаваться стек контейнеров с приложением MediaWiki и базой данных.
1. Используйте два сервиса
2. Основной контейнер MediaWiki должен называться wiki и использовать образ mediawiki
3. Файл LocalSettings.php с корректными настройками должен находиться в домашней папке пользователя ubuntu и автоматически монтироваться в образ.
4. Контейнер с базой данных должен называться db и использовать образ mysql
5. Он должен создавать базу с названием mediawiki, доступную по стандартному порту, для пользователя wiki с паролем P@ssw0rd
6. База должна храниться в отдельном volume с названием dbvolume
7. База данных должна находиться в одной сети с приложением App2, но не должна быть доступна снаружи.
8. MediaWiki должна быть доступна извне через порт 80.
7. Настройте мониторинг с помощью NodeExporter, Prometheus и Grafana.
1. Создайте в домашней директории пользователя ubuntu файл monitoring.yml для Docker Compose
1. Используйте контейнеры NodeExporter, Prometheus и Grafana для сбора, обработки и отображения метрик.
2. Настройте Dashboard в Grafana, в котором будет отображаться загрузка CPU, объём свободной оперативной памяти и места на диске.
3. Интерфейс Grafana должен быть доступен по внешнему адресу на порту 3000.
- На машине ControlVM создайте скрипт /home/ubuntu/bin/DeployApp.sh.
1. Скрипт должен выполняться из любой директории без явного указания пути к исполняемому файлу. - Подготовьте web-приложение App1
1. Скачайте файлы app1.py и Dockerfile по адресу: https://github.com/auteam-usr/moscow39
2. Соберите образ приложения и загрузите его в любой репозиторий Docker на ваше усмотрение. - Команда DeployApp.sh должна запускать средства автоматизации для настройки операционных систем.
1. Разверните web-приложение App1 из репозитория Docker на виртуальных машинах Web1 и Web2.
2. Обеспечьте балансировку нагрузки между Web1 и Web2.
3. Обеспечьте внешний доступ к web-приложению по протоколу https.
4. При обращении по протоколу http должно выполняться автоматическое перенаправления на протокол https.
5. Обеспечивать доверие сертификату не требуется.
• Высвободите выделенные ресурсы облачного провайдера для автоматически созданных объектов.
• Удалите все автоматически созданные виртуальные машины, сети, объекты, ресурсы.
• НЕ удаляйте ControlVM и необходимые для её работы ресурсы.
Обратите внимание, что при наличии в облачной инфраструктуре существующих объектов, за исключением объектов, необходимых для работы ControlVM, объектов по умолчанию проверка осуществляться не будет.