diff --git a/00_os_installation/os_history.pdf b/00_os_installation/os_history.pdf new file mode 100644 index 0000000..0969736 Binary files /dev/null and b/00_os_installation/os_history.pdf differ diff --git a/12_troubleshooting/tasks.md b/12_troubleshooting/tasks.md index 1d99c6b..f1af3ab 100644 --- a/12_troubleshooting/tasks.md +++ b/12_troubleshooting/tasks.md @@ -1,5 +1,5 @@ # Задания -Исправьте проблемы настройки сети в виртуальных машинах `troublesome-X-task[1-5]`. В каждой машине 1 проблема после исправления которой работает команда `ping yandex.com`. Шлюз по умолчанию для машины в каждом задании - 192.168.1.1 в сети 192.168.1.0/24. Всего 5 заданий. Используйте механизм снимков и команду rollback в proxmox интерфейсе, чтобы откатывать машину в первоначальное состояние. +Исправьте проблемы настройки сети в виртуальных машинах `troublesome-X-task[1-5]`. В каждой машине 1 проблема после исправления которой работает команда `ping yandex.com`. Шлюз по умолчанию для машины в каждом задании - 192.168.1.1 в сети 192.168.1.0/24. В 6ом задании `troublesome-X-task6` вам требуется отладить команду `ssh localhost -l mike`, запущенную от пользователя stud. Команда должна отработать без ввода пароля. \ No newline at end of file diff --git a/README.md b/README.md index e69de29..e9bd7b6 100644 --- a/README.md +++ b/README.md @@ -0,0 +1,3 @@ +# Программа стажировки МойОфис "Старт". Модуль 1. + +Данный репозиторий содержит материалы для организации и проведения первого модуля программы. \ No newline at end of file diff --git a/admission_test.md b/admission_test.md new file mode 100644 index 0000000..76d2cc9 --- /dev/null +++ b/admission_test.md @@ -0,0 +1,10 @@ +# Входное тестирование + +1. В чем отличие mac-адреса от ip-адреса? +2. В чем разница между протоколами TCP и UDP? +3. Структуры данных: массив, список, дерево, хэш-таблица, очередь, стек. Расскажите о каждой. +4. Как создать файл в ОС Linux? Напишите максимальное количество вариантов. +5. Назовите популярные файловые системы, используемые в ОС Linux. +6. Что такое виртуальная память? +7. Что такое регистр процессора? +8. Напишите число 100 в шестнадцатиричной системе счисления. \ No newline at end of file diff --git a/for_tutor.md b/for_tutor.md new file mode 100644 index 0000000..c4d5537 --- /dev/null +++ b/for_tutor.md @@ -0,0 +1,167 @@ +# Руководство для преподавателя + +## Подготовка среды проведения лабораторных работ + +Лабораторные проводятся на виртуальных машинах в системе виртуализации Proxmox. + +Определим N как количество студентов умноженное на 1.5 и округлим в большую сторону. Определим X как идентификатор от 1 до N. + +Создайте N пользователей в Proxmox с именами studX (stud1, stud2, ...). Используйте Realm "Proxmox VE authentication server". + +Для массового создания виртуальных машин рекомендуется использовать возможность Proxmox конвертации виртуальной машины в шаблон. Из шаблона копия создаётся на порядки быстрее по времени, чем при полном клонировании. Следуйте следующим шагам: +1. настройте машину с общими для всех копий настройками, +2. преобразуйте её в шаблон (template), +3. создайте клоны из шаблона и донастройте, если необходимо. + +При наличии нескольких дисков рекомендуется RAID оптимизирующий производительность. Неправильный raid или медленный тип диска может привести к существенному замедлению работы во время установки ОС или пакетов. + +Загрузите образ debian-11.4.0-amd64-netinst.iso в Proxmox хранилище. + +### Основные виртуальные машины + +Данные виртуальные машины предназначены для всех заданий, исключая: +- 00_os_installation, +- 03_networking, +- 12_troubleshooting, +- final_exam. + +Создайте vlan с доступом в интернет. Например, bond0.499 и мост vmbr499 с параметрами: +- Bridge ports: bond0.499, +- VLAN aware: false, +- IPv4/CIDR: 10.160.179.254/24, +- Gateway (IPv4): 10.160.179.1. + +До начала занятий создайте N виртуальных машин со следующими характеристиками: +- 1 сокет с 4 ядрами, +- 8 Гб оперативной памяти, +- 16 Гб дискового пространства. + +Каждой виртуальной машине назначьте статический IPv4 адрес 10.160.179.10 + X (10.160.179.11, 10.160.179.12, ...). + +Установите минимальный дистрибутив debian на каждую. Установите пакеты: +- man-db, +- ssh, +- vim, +- tree. + +Удалите пакет ifupdown. + +Пробросьте порты: 22, 80, 443. + +Организуйте удалённый доступ к машинам по ssh ключу. + +### Подготовка к занятию "История операционных систем. Установка Debian" + +Данные виртуальные машины предназначены для тренировки в установке debian. + +До начала занятий создайте N виртуальных машин со следующими характеристиками: +- 1 сокет с 4 ядрами, +- 8 Гб оперативной памяти, +- 32 Гб дискового пространства, +- сетевой интерфейс vmbr499 с доступом в интернет. + +Студенты могут назначить статический IPv4: 10.160.179.10 + N + X, Gateway (IPv4): 10.160.179.1. + +Подключите cdrom с образом debian-11.4.0-amd64-netinst.iso. + +### Подготовка к занятию "Настройка сетевого подключения" + +Данные виртуальные машины предназначены для настройки сетевого интерфейса в конфигурациях systemd. Студентам необходимо работать в индивидуальных vlan для настройки по DHCP и снижению вероятности ошибок при назначении статического адреса. + +Создайте N vlan без доступа в интернет. Например, bond0.X и мост vmbrX с параметрами: +- Bridge ports: bond0.X, +- VLAN aware: false. + +Создайте N виртуальных машин studX-net1 и N виртуальных машин studX-net2 для vmbrX. Удалите пакет ifupdown. + +### Подготовка к занятию "Поиск и устранение неисправностей" + +Данные вирутальные + +Создайте N vlan без доступа в интернет: bond0.N+X и мост vmbrN+X с параметрами: +- Bridge ports: bond0.N+X, +- VLAN aware: false. + +Создайте N виртуальных машин troublesome-gwX, играющих роль шлюза для vmbrN+X. Установите минимальный образ debian. Удалите пакет ifupdown. Каждой виртуальной машине назначьте добавьте два сетевых интерфейса. Для первого интерфейса назначьте IPv4 адрес 10.160.179.100 + X (10.160.179.101, 10.160.179.102, ...). Для второго интерфейса назначьте IPv4 адрес 192.168.0.1. + +Создайте виртуальную машину troublesome. Установите минимальный образ debian. Скопируйте скрипты, приведенные ниже в /sbin/. Превратите машину в шаблон Proxmox. + +Для каждого из 6 заданий создайте виртуальную машину из шаблона troublesome: troublesomeX-task1, troublesomeX-task2, ..., troublesomeX-task6. Каждой виртуальной машине назначьте статический IPv4 адрес 192.168.0.1 + номер задания. Для 6 задания настройте беспарольный доступ по ssh от пользователя stud к пользователю mike. Команда `ssh localhost -l mike` должна отработать без ввода пароля. Внесите неисправности, активируя скрипты. Превратите машины в шаблоны. + +Создайте N виртуальных машин для каждого задания из шаблонов: troublesomeX-task1, troublesomeX-task2, ..., troublesomeX-task6. + +Скрипты для внесения неисправностей для заданий. + +#### 1. +```bash +#!/bin/bash +# task 1 +systemctl disable systemd-networkd +systemctl stop systemd-networkd +``` + +#### 2. +```bash +#!/bin/bash +# task 2 +sed 's/^Gateway=.*$//' -i /etc/systemd/network/ens18.network +networkctl reload +``` + +#### 3. +```bash +#!/bin/bash +# task 3 +sed 's/DNS/#DNS/' -i /etc/systemd/resolved.conf +systemctl restart systemd-resolved +``` + +#### 4. +```bash +#!/bin/bash +# task 4 +sed 's/192\.168/172\.16/' -i /etc/systemd/network/ens18.network +networkctl reload +``` + +#### 5. +```bash +#!/bin/bash +# task 5 +# ping gateway +ping 192.168.0.1 -c 1 2> /dev/null 1> /dev/null +gateway_mac=$(arp -n | grep 192.168.0.1 | awk '{ print $3 }') +ip link set address "$(gateway_mac)" dev ens18 +``` + +Активируйте следующий сервис: + +```bash +# /etc/systemd/system/netowrk-problem.service +[Unit] +After=network.target + +[Service] +Type=oneshot +ExecStart=/sbin/task5.sh + +[Install] +WantedBy=nulti-user.target +``` + +#### 6. +```bash +#!/bin/bash +# task 6 +chmod 777 /home/stud/.ssh +``` + +### Подготовка к экзамену + +До начала занятий создайте N виртуальных машин со следующими характеристиками: +- 1 сокет с 4 ядрами, +- 8 Гб оперативной памяти, +- 6 Гб дискового пространства, +- сетевой интрфейс vmbr499. + +Подключите cdrom с образом debian-11.4.0-amd64-netinst.iso. \ No newline at end of file diff --git a/recommended_literature.md b/recommended_literature.md new file mode 100644 index 0000000..d89eb06 --- /dev/null +++ b/recommended_literature.md @@ -0,0 +1,9 @@ +# Рекомендованная литература + +1. Raphael Hertzog. Debian the administrator’s handbooks. +2. Evi Nemeth. Unix and linux system administration handbook. +3. Michael W. Lukas. Absolute FreeBSD. The complete guide to FreeBSD. +4. Andrew S. Tanenbaum. Modern Operating Systems. +5. Charles Petzold. The code. +6. Betsy Beyer. Site Reliability Engineering. +7. Meadows. Thinking in Systems. \ No newline at end of file