День открытых дверей по курсу «Administrator Linux. Professional» 24.10.2017 в 20:00 | OTUS >
Скидка до 15% на курсы декабря и января
❄️ До 5.01 Забрать скидку! →
Выбрать курс
Проходил 24 октября 2017 года в 20:00

День открытых дверей
Администратор Linux

День открытых дверей онлайн

Хотите узнать, почему OTUS – больше, чем просто образовательный портал?
Как OTUS дает возможность стать частью сообщества профессионалов и сделать новый шаг по карьерной лестнице?
Почему учиться – не обязанность, а удовольствие и почему тесное сплетение теории и практики в обучении дает эффект синергии?
Приходите к нам на День Открытых Дверей. Формат проведения – онлайн – подключиться можно из любой точки мира!

Запись

О курсе

Administrator Linux. Professional
134 000 ₽ 120 600 ₽
6 месяцев
Начало 26 декабря 2024 года

Для кого этот курс?

  • Системных администраторов Linux
  • DevOps-инженеров и SRE
  • Fullstack и Backend-разработчиков
  • Системных администраторов Windows
  • Сетевых инженеров
  • Инженеров по нагрузочному тестированию
  • Специалистов по ИБ

Необходимые знания

  • Понимание основ сетей: адресация и статический роутинг в сетях на базе IPv4.
  • Опыт установки системы Linux и настройки своего рабочего места (проходить курс лучше всего на своей машине с ОС …
Программа курса
Модуль 1
Архитектура Linux
Модуль 2
Управление, безопасность и мониторинг
Модуль 3
Linux и сеть
Модуль 4
Сервисы Linux
Модуль 5
Проектная работа
Архитектура Linux
В этом модуле будут разбираться базовые компоненты OS Linux. Будем разбирать, что такое ядро и его модули, загрузчик, процессы, дисковая и файловая системы, inodes и daemons.
Научимся устанавливать и обновлять и восстанавливать OS, управлять загрузкой, создавать и изменять RAID массивы, управлять логическими томами.

Проект на весь модуль: делаем свою загрузочную флешку readonly, со своим ядром
С чего начинается Linux
познакомиться с программой и группой;
узнать, как работает ядро, как программы взаимодействуют с ядром.
Домашние задания: 1
ДЗ
Настройка ПК .
Уже настроили рабочее место? Если еще нет - используйте инструкцию по [ссылке](https://docs.google.com/document/d/1fZUXL30bDhJEQpDQgtfv3Nj4WYWto98AaYlC1vJ2LkQ/edit?usp=sharing)


Если возникнут вопросы, обращайтесь к студентам, преподавателям и наставникам в канал группы в Telegram.


Удачи при выполнении!
Vagrant
обсудить о том, как сделать тестовый стенд на своем локальном компьютере и какие компоненты для этого понадобится;
обсудить разницу между контейнеризацией и виртуализации;
рассмотреть системы виртуализации и контейнеризации;
обсудить работу с инструментом автоматизации vagrant, его особенностях и принципах работы.
9 января, 20:00 — 21:30
Лектор: Денис Федоров
Домашние задания: 1
ДЗ
Обновить ядро в базовой системе.
Для выполнения домашнего задания используйте [методичку](https://docs.google.com/document/d/12sC884LuLGST3-tZYQBDPvn6AH8AGJCK/edit?usp=share_link&ouid=107126378526912727172&rtpof=true&sd=true)

1. Выполните действия, описанные в методичке.

2. Полученный в ходе выполнения ДЗ Vagrantfile и отчет залейте в ваш git-репозиторий.

3. Пришлите ссылку на него в чате для проверки ДЗ. Обычно мы проверяем ДЗ в течение 48 часов.


Для выполнения ДЗ со * и ** вам потребуется сборка ядра и модулей из исходников.


Если возникнут вопросы, обращайтесь к студентам, преподавателям и наставникам в канал группы в Telegram.


Удачи при выполнении!
Автоматизация администрирования. Ansible-1
автоматизировать рутинные задачи администрирования;
изучить ansible - инвентори, модули, плейбуки, роли, переменные;
понимать разницу с другими инструментами - chef/puppet/salt.
14 января, 20:00 — 21:30
Лектор: Денис Федоров
Домашние задания: 1
ДЗ
Первые шаги с Ansible. Для выполнения домашнего задания используйте[ методичку](https://docs.google.com/document/d/1WXPY1ZBfRGjc_Dux_-oLbSjzQEZj5nDsADkrtmt6rIo/edit?usp=sharing)
[Ссылка на Vgrantfile ](https://drive.google.com/file/d/17MEtg20TFSjKil6ih7PvPez7jmCvo6fb/view?usp=share_link)


Что нужно сделать?

Подготовить стенд на Vagrant как минимум с одним сервером. На этом сервере используя Ansible необходимо развернуть nginx со следующими условиями:
- необходимо использовать модуль yum/apt;
- конфигурационные файлы должны быть взяты из шаблона jinja2 с перемененными;
- после установки nginx должен быть в режиме enabled в systemd;
- должен быть использован notify для старта nginx после установки;
- сайт должен слушать на нестандартном порту - 8080, для этого использовать переменные в Ansible.


В чат ДЗ отправьте ссылку на ваш git-репозиторий. Обычно мы проверяем ДЗ в течение 48 часов.


Если возникнут вопросы, обращайтесь к студентам, преподавателям и наставникам в канал группы в Telegram.


Удачи при выполнении!
Автоматизация администрирования. Ansible-2
писать ansible роли;
использовать циклы и массивы;
использовать ansible-vault.
16 января, 20:00 — 21:30
Лектор: Денис Федоров
Дисковая подсистема
перечислить виды RAID массивов и их отличия;
получить информацию о дисковой подсистеме на любом сервере с ОС Linux;
собрать программный рейд и восстановить его после сбоя.
21 января, 20:00 — 21:30
Лектор: Андрей Буранов
Домашние задания: 1
ДЗ
Работа с mdadm. Для выполнения домашнего задания используйте методичку


[Работа с mdadm](https://docs.google.com/document/d/1jTq4l4UD1CF9C_VFqGXZYunXA2RUap70CfKm_6OXZBU/edit?usp=sharing)


Что нужно сделать?
• добавить в Vagrantfile еще дисков

• собрать R0/R5/R10 на выбор

• прописать собранный рейд в конф, чтобы рейд собирался при загрузке

• сломать/починить raid

• создать GPT раздел и 5 партиций и смонтировать их на диск.

Формат сдачи - измененный Vagrantfile, скрипт для создания рейда, конф для автосборки рейда при загрузке.

* Доп. задание - Vagrantfile, который сразу собирает систему с подключенным рейдом


Если возникнут вопросы, обращайтесь к студентам, преподавателям и наставникам в канал группы в Telegram.


Удачи при выполнении!
Файловые системы и LVM - 1
облегчить себе жизнь управления файловыми системами;
архитектура файловой системы Linux: суперблок, блоки, inodes, журналы;
разобраться в многообразии файловых систем.
23 января, 20:00 — 21:30
Лектор: Андрей Буранов
Домашние задания: 1
ДЗ
Работа с LVM. Для выполнения домашнего задания используйте методичку

[Работа с LVM](https://docs.google.com/document/d/166o62JIK0hTvlZBiPr5Ziii5x3smVVVI/edit?usp=sharing&ouid=109754209530643311824&rtpof=true&sd=true)




**Что нужно сделать?**



На имеющемся образе bento/ubuntu-24.04

1. Уменьшить том под / до 8G.
2. Выделить том под /home.
3. Выделить том под /var - сделать в mirror.
4. /home - сделать том для снапшотов.
5. Прописать монтирование в fstab. Попробовать с разными опциями и разными файловыми системами (на выбор).
6. Работа со снапшотами:

- сгенерить файлы в /home/;
- снять снапшот;
- удалить часть файлов;
- восстановится со снапшота.



**Задание со звездочкой***
На дисках попробовать поставить btrfs/zfs — с кэшем, снапшотами и разметить там каталог /opt.
Логировать работу можно с помощью утилиты script.


Если возникнут вопросы, обращайтесь к студентам, преподавателям и наставникам в канал группы в Telegram.


Удачи при выполнении!
Файловые системы и LVM - 2
управлять дисковым пространством с помощью различных инструментов;
28 января, 20:00 — 21:30
Лектор: Андрей Буранов
ZFS
установить и настроить ZFS;
понимать преимущества и недостатки использования для конкретных задач .
30 января, 20:00 — 21:30
Лектор: Викентий Лапа
Домашние задания: 1
ДЗ
Практические навыки работы с ZFS. Для выполнения домашнего задания используйте методичку

[Практические навыки работы с ZFS](https://docs.google.com/document/d/1xursgUsGDVTLh4B_r0XGw_flPzd5lSJ0nfMFL-HQmFs/edit?usp=sharing)


Что нужно сделать?
1. Определить алгоритм с наилучшим сжатием:
* Определить какие алгоритмы сжатия поддерживает zfs (gzip, zle, lzjb, lz4);
* создать 4 файловых системы на каждой применить свой алгоритм сжатия;
* для сжатия использовать либо текстовый файл, либо группу файлов.
2. Определить настройки пула.
С помощью команды zfs import собрать pool ZFS.
Командами zfs определить настройки:
   
- размер хранилища;
    
- тип pool;
    
- значение recordsize;
   
- какое сжатие используется;
   
- какая контрольная сумма используется.
3. Работа со снапшотами:
* скопировать файл из удаленной директории;
* восстановить файл локально. zfs receive;
* найти зашифрованное сообщение в файле secret_message.


Если возникнут вопросы, обращайтесь к студентам, преподавателям и наставникам в канал группы в Telegram.


Удачи при выполнении!
NFS, FUSE
монтировать файловые системы с помощью FUSE;
настраивать и использовать NFS.
4 февраля, 20:00 — 21:30
Лектор: Андрей Буранов
Домашние задания: 1
ДЗ
Vagrant стенд для NFS. Для выполнения домашнего задания используйте методичку

[Vagrant стенд для NFS](https://docs.google.com/document/d/1Xz7dCWSzaM8Q0VzBt78K3emh7zlNX3C-Q27B6UuVexI/edit?usp=sharing)


Задание со звездочкой*

Настроить аутентификацию через KERBEROS (NFSv4)


Если возникнут вопросы, обращайтесь к студентам, преподавателям и наставникам в канал группы в Telegram.


Удачи при выполнении!
Управление пакетами. Дистрибьюция софта
устанавливать софт в Linux;
собирать пакеты (deb и rpm) из исходников;
репозитории;
работа с dnf, yum, rpm, apt и dpkg.
6 февраля, 20:00 — 21:30
Лектор: Викентий Лапа
Домашние задания: 1
ДЗ
Сборка RPM-пакета и создание репозитория. Для выполнения домашнего задания используйте методичку
[Практика управления пакетами](https://docs.google.com/document/d/1yeYpcY39RxBGVIjBwTE12Y_VdjvsqCV3OFie2tvAtsg/edit?usp=sharing
)


Что нужно сделать?
- создать свой RPM (можно взять свое приложение, либо собрать к примеру Apache с определенными опциями);
- cоздать свой репозиторий и разместить там ранее собранный RPM;
- реализовать это все либо в Vagrant, либо развернуть у себя через Nginx и дать ссылку на репозиторий.


В чат ДЗ отправьте ссылку на ваш git-репозиторий . Обычно мы проверяем ДЗ в течение 48 часов.


Если возникнут вопросы, обращайтесь к студентам, преподавателям и наставникам в канал группы в Telegram.


Удачи при выполнении!
Загрузка системы
объяснить как происходит загрузка системы, в чем разница между BIOS/UEFI;
настраивать GRUB2;
управлять initrd с помощью dracut;
работать с udev;
восстанавливать сломанный загрузчик.
11 февраля, 20:00 — 21:30
Лектор: Эрик Арайс
Домашние задания: 1
ДЗ
Работа с загрузчиком. Для выполнения домашнего задания используйте методичку

[Работа с загрузчиком](https://docs.google.com/document/d/1fRE_BFi-sFuLUUXKC8WHeGrFtPDXlTWznFgj3Z-xBM8/edit?usp=sharing)

1. Включить отображение меню Grub.
1. Попасть в систему без пароля несколькими способами.
1. Установить систему с LVM, после чего переименовать VG.


В чат ДЗ отправьте ссылку на ваш git-репозиторий. В репозитории описать действия, описать разницу между методами получения шелла в процессе загрузки. Где получится - используем script, где не получается - словами или копипастой описываем действия. Обычно мы проверяем ДЗ в течение 48 часов.


Если возникнут вопросы, обращайтесь к студентам, преподавателям и наставникам в канал группы в Telegram.


Удачи при выполнении!
Инициализация системы. Systemd
понимать различие систем инициализации;
использовать основные утилиты systemd;
изучить состав и синтаксис systemd unit;
13 февраля, 20:00 — 21:30
Лектор: Викентий Лапа
Домашние задания: 1
ДЗ
Systemd - создание unit-файла. Для выполнения домашнего задания используйте методичку

[Systemd ](https://docs.google.com/document/d/1wXZLFDG7NSsrmeSmL0qqec6H9CFAYIolDfiFbDa2WBU/edit?usp=sharing)


Выполнить следующие задания и подготовить развёртывание результата выполнения с использованием Vagrant и Vagrant shell provisioner (или Ansible, на Ваше усмотрение):
1. Написать service, который будет раз в 30 секунд мониторить лог на предмет наличия ключевого слова (файл лога и ключевое слово должны задаваться в /etc/default).
2. Установить spawn-fcgi и создать unit-файл (spawn-fcgi.sevice) с помощью переделки init-скрипта (https://gist.github.com/cea2k/1318020).
3. Доработать unit-файл Nginx (nginx.service) для запуска нескольких инстансов сервера с разными конфигурационными файлами одновременно.


В чат ДЗ отправьте ссылку на ваш git-репозиторий . Обычно мы проверяем ДЗ в течение 48 часов.


Если возникнут вопросы, обращайтесь к студентам, преподавателям и наставникам в канал группы в Telegram.


Удачи при выполнении!
Bash
писать скрипты на языка bash.
18 февраля, 20:00 — 21:30
Лектор: Викентий Лапа
Домашние задания: 1
ДЗ
Пишем скрипт. Написать скрипт для CRON, который раз в час будет формировать письмо и отправлять на заданную почту.


Необходимая информация в письме:
- Список IP адресов (с наибольшим кол-вом запросов) с указанием кол-ва запросов c момента последнего запуска скрипта;
- Список запрашиваемых URL (с наибольшим кол-вом запросов) с указанием кол-ва запросов c момента последнего запуска скрипта;
- Ошибки веб-сервера/приложения c момента последнего запуска;
- Список всех кодов HTTP ответа с указанием их кол-ва с момента последнего запуска скрипта.
- Скрипт должен предотвращать одновременный запуск нескольких копий, до его завершения.


В письме должен быть прописан обрабатываемый временной диапазон.


В чат ДЗ отправьте ссылку на ваш git-репозиторий . Обычно мы проверяем ДЗ в течение 48 часов.


Если возникнут вопросы, обращайтесь к студентам, преподавателям и наставникам в канал группы в Telegram.


Удачи при выполнении!
grep, sed, awk и другие
работать с многочисленными консольными утилитами в Linux, такими как grep, find, set, cut, tr, vim и так далее;
писать скрипты на awk.
20 февраля, 20:00 — 21:30
Лектор: Андрей Буранов
Управление процессами
знать, что такое процесс, его атрибуты, жизненный цикл процесса;
понимать, чем потоки отличаются от процессов;
мониторить процессы, в каком они состоянии, понимать чем они сейчас заняты;
использовать команды ps/top, подсистему /proc, а также команды gdb/strace/ltrace;
менять приоритеты с мощью команд nice, ionice;
посылать различные сигналы процессам.
25 февраля, 20:00 — 21:30
Лектор: Андрей Буранов
Домашние задания: 1
ДЗ
Работа с процессами. Что нужно сделать?

Задания на выбор:

1) написать свою реализацию ps ax используя анализ /proc
- Результат ДЗ - рабочий скрипт который можно запустить

2) написать свою реализацию lsof
- Результат ДЗ - рабочий скрипт который можно запустить

3) дописать обработчики сигналов в прилагаемом скрипте, оттестировать, приложить сам скрипт, инструкции по использованию
- Результат ДЗ - рабочий скрипт который можно запустить + инструкция по использованию и лог консоли

4) реализовать 2 конкурирующих процесса по IO. пробовать запустить с разными ionice
- Результат ДЗ - скрипт запускающий 2 процесса с разными ionice, замеряющий время выполнения и лог консоли

5) реализовать 2 конкурирующих процесса по CPU. пробовать запустить с разными nice
- Результат ДЗ - скрипт запускающий 2 процесса с разными nice и замеряющий время выполнения и лог консоли


В чат ДЗ отправьте ссылку на ваш git-репозиторий. Обычно мы проверяем ДЗ в течение 48 часов.


Если возникнут вопросы, обращайтесь к студентам, преподавателям и наставникам в канал группы в Telegram.


Удачи при выполнении!
Работа с памятью
разобраться, как работают механизмы управления памятью в Linux;
находить какие процессы занимают память;
разобраться в статистической информации по памяти.
26 февраля, 20:00 — 21:30
Механизмы изоляции и аккаунтинга Linux (namespaces и cgroups)
использовать технологий контейнеризации осознанно;
изолировать процессы друг от друга встроенными в
дистрибутив средствами;
4 марта, 20:00 — 21:30
Лектор: Николай Лавлинский
Управление, безопасность и мониторинг
В этом модуле мы рассмотрим задачи и рабочие инструменты для управления системой, обеспечения безопасности, контроля прав и доступов. Также мы рассмотрим инструменты для мониторинга, логирования и анализа проблем производительности и сбоев. Будем учится решать проблемы и производить ретроспективный анализ.
SELinux - когда все запрещено
объяснить, что такое системы принудительного контроля доступа;
объяснить, как работает система SELinux;
работать с системой SELinux.
13 марта, 20:00 — 21:30
Лектор: Николай Лавлинский
Домашние задания: 1
ДЗ
Практика с SELinux. Для выполнения домашнего задания используйте [методичку](https://docs.google.com/document/d/1QwyccIn8jijBKdaoNR4DCtTULEqb5MKK/edit?usp=share_link&ouid=104106368295333385634&rtpof=true&sd=true)


Что нужно сделать?
1. Запустить nginx на нестандартном порту 3-мя разными способами:
- переключатели setsebool;
- добавление нестандартного порта в имеющийся тип;
- формирование и установка модуля SELinux.
К сдаче:
- README с описанием каждого решения (скриншоты и демонстрация приветствуются).


2. Обеспечить работоспособность приложения при включенном selinux.
- развернуть приложенный стенд https://github.com/mbfx/otus-linux-adm/tree/master/selinux_dns_problems;
- выяснить причину неработоспособности механизма обновления зоны (см. README);
- предложить решение (или решения) для данной проблемы;
- выбрать одно из решений для реализации, предварительно обосновав выбор;
- реализовать выбранное решение и продемонстрировать его работоспособность.

К сдаче:
- README с анализом причины неработоспособности, возможными способами решения и обоснованием выбора одного из них;
- исправленный стенд или демонстрация работоспособной системы скриншотами и описанием.


В чат ДЗ отправьте ссылку на ваш git-репозиторий. Обычно мы проверяем ДЗ в течение 48 часов.


Если возникнут вопросы, обращайтесь к студентам, преподавателям и наставникам в канал группы в Telegram.


Удачи при выполнении!
Docker: основы работы с контейнеризацией
изучить основные понятия контейнеризации;
написать Dockerfile;
запустить контейнер;
запустить docker-compose;
18 марта, 20:00 — 21:30
Лектор: Денис Федоров
Домашние задания: 1
ДЗ
Docker. Для выполнения домашнего задания используйте [методичку](https://docs.google.com/document/d/1C0Fh88WwLJItBTrriBL-DXdO4apBi2zQeqm0PHYL4Sc/edit?usp=sharing)


Что нужно сделать?

Описание ДЗ в документе.


В чат ДЗ отправьте ссылку на ваш git-репозиторий. Обычно мы проверяем ДЗ в течение 48 часов.


Если возникнут вопросы, обращайтесь к студентам, преподавателям и наставникам в канал группы в Telegram.


Удачи при выполнении!
Docker: Volumes and Networks
изучить работу docker-registry;
рассмотреть возможности управления Docker и Docker-compose;
20 марта, 20:00 — 21:30
Лектор: Денис Федоров
Мониторинг производительности
мониторить занятые ресурсы: CPU, память, диск, сеть;
изучить инструменты ps, top , sar, htop, atop, netstat, ss, vmstat, iostat, iotop, pidstat;
посмотреть, что находится в /proc;
объяснить, что делать с неотзывчивой системой.
25 марта, 20:00 — 21:30
Лектор: Николай Лавлинский
Prometheus
узнать, из чего состоит экосистема Prometheus;
собирать и смотреть метрики
27 марта, 20:00 — 21:30
Лектор: Иван Федоров
Домашние задания: 1
ДЗ
Настройка мониторинга. Что нужно сделать?

Настроить дашборд с 4-мя графиками
- память;
- процессор;
- диск;
- сеть.

Настроить на одной из систем:
- zabbix (использовать screen (комплексный экран);
- prometheus - grafana.


Использование систем, примеры которых не рассматривались на занятии*

Список возможных систем был приведен в презентации.


В качестве результата прислать скриншот экрана - дашборд должен содержать в названии имя приславшего.


В чат ДЗ отправьте ссылку на ваш git-репозиторий. Обычно мы проверяем ДЗ в течение 48 часов.


Если возникнут вопросы, обращайтесь к студентам, преподавателям и наставникам в канал группы в Telegram.


Удачи при выполнении!
Zabbix
развернуть "песочницу” с Zabbix;
администрировать Zabbiх;
настраивать автообнаружение;
настраивать уведомления об авариях;
1 апреля, 20:00 — 21:30
Лектор: Иван Федоров
Пользователи и группы. Авторизация и аутентификация
рассмотреть механизмы авторизации и аутентификации;
объяснить какие бывают права у пользовталей;
управлять правами с помощью sudo, umask. sgid, suid и более сложными инструментами как PAM и ACL, PolicyKit.
3 апреля, 20:00 — 21:30
Лектор: Эрик Арайс
Домашние задания: 1
ДЗ
PAM. Для выполнения домашнего задания используйте [методичку](https://docs.google.com/document/d/1lOFe3rv0QcnvOTNfQm0OMHbNQ0Cet6AR/edit?usp=share_link&ouid=104106368295333385634&rtpof=true&sd=true)


Что нужно сделать?

Запретить всем пользователям, кроме группы admin логин в выходные (суббота и воскресенье), без учета праздников


Дать конкретному пользователю права работать с докером и возможность рестартить докер сервис*


В чат ДЗ отправьте ссылку на ваш git-репозиторий . Обычно мы проверяем ДЗ в течение 48 часов.


Если возникнут вопросы, обращайтесь к студентам, преподавателям и наставникам в канал группы в Telegram.


Удачи при выполнении!
Основы сбора и хранения логов
понять зачем нужны логи и как их собирать;
освоить принципы логирование с помощью rsyslog;
понять возможности logrotate для задач ротации логов;
научиться работать с journald и auditd;
8 апреля, 20:00 — 21:30
Лектор: Эрик Арайс
Домашние задания: 1
ДЗ
Настраиваем центральный сервер для сбора логов. Для выполнения домашнего задания используйте [методичку](https://docs.google.com/document/d/16UBAMu4LYqvRv6PmCeHcmOampMrIZavH/edit?usp=share_link&ouid=104106368295333385634&rtpof=true&sd=true)


Что нужно сделать?
1. в вагранте поднимаем 2 машины web и log
2. на web поднимаем nginx
3. на log настраиваем центральный лог сервер на любой системе на выбор
- journald;
- rsyslog;
- elk.
4. настраиваем аудит, следящий за изменением конфигов нжинкса


Все критичные логи с web должны собираться и локально и удаленно.

Все логи с nginx должны уходить на удаленный сервер (локально только критичные).

Логи аудита должны также уходить на удаленную систему.


Формат сдачи ДЗ - vagrant + ansible


развернуть еще машину elk*
- таким образом настроить 2 центральных лог системы elk и какую либо еще;
- в elk должны уходить только логи нжинкса;
- во вторую систему все остальное.


В чат ДЗ отправьте ссылку на ваш git-репозиторий . Обычно мы проверяем ДЗ в течение 48 часов.


Если возникнут вопросы, обращайтесь к студентам, преподавателям и наставникам в канал группы в Telegram.


Удачи при выполнении!
Сбор и анализ логов: ELK
установить и настроить стек ELK;
понять основные принципы работы компонентов стека.
10 апреля, 20:00 — 21:30
Лектор: Эрик Арайс
Резервное копирование
использовать политики и методики резерного копирования;
работать с инструментами rsync, tar, dd и bacula.
15 апреля, 20:00 — 21:30
Лектор: Николай Лавлинский
Домашние задания: 1
ДЗ
Настраиваем бэкапы. Для выполнения домашнего задания используйте [методичку](https://docs.google.com/document/d/1L0VtVCn2tXmC0Pirlfhnr6rEpOANbP-C/edit?usp=share_link&ouid=104106368295333385634&rtpof=true&sd=true)


Что нужно сделать?

Настроить стенд Vagrant с двумя виртуальными машинами: backup_server и client.


Настроить удаленный бекап каталога /etc c сервера client при помощи borgbackup. Резервные копии должны соответствовать следующим критериям:

- директория для резервных копий /var/backup. Это должна быть отдельная точка монтирования. В данном случае для демонстрации размер не принципиален, достаточно будет и 2GB;
- репозиторий дле резервных копий должен быть зашифрован ключом или паролем - на ваше усмотрение;
- имя бекапа должно содержать информацию о времени снятия бекапа;
- глубина бекапа должна быть год, хранить можно по последней копии на конец месяца, кроме последних трех.
Последние три месяца должны содержать копии на каждый день. Т.е. должна быть правильно настроена политика удаления старых бэкапов;
- резервная копия снимается каждые 5 минут. Такой частый запуск в целях демонстрации;
- написан скрипт для снятия резервных копий. Скрипт запускается из соответствующей Cron джобы, либо systemd timer-а - на ваше усмотрение;
- настроено логирование процесса бекапа. Для упрощения можно весь вывод перенаправлять в logger с соответствующим тегом. Если настроите не в syslog, то обязательна ротация логов.


Запустите стенд на 30 минут.

Убедитесь что резервные копии снимаются.

Остановите бекап, удалите (или переместите) директорию /etc и восстановите ее из бекапа.

Для сдачи домашнего задания ожидаем настроенные стенд, логи процесса бэкапа и описание процесса восстановления.

Формат сдачи ДЗ - vagrant + ansible


В чат ДЗ отправьте ссылку на ваш git-репозиторий. Обычно мы проверяем ДЗ в течение 48 часов.


Если возникнут вопросы, обращайтесь к студентам, преподавателям и наставникам в канал группы в Telegram.


Удачи при выполнении!
Linux и сеть
Настраиваем и работаем с сетью в Linux. От хоста до маршрутизатора и брандмауэра.
Архитектура сетей
понимать как строятся сети передачи данных;
ориентироваться в сетевых протоколах;
осуществлять базовую настройку сети;
17 апреля, 20:00 — 21:30
Лектор: Эрик Арайс
Домашние задания: 1
ДЗ
Разворачиваем сетевую лабораторию. Для выполнения домашнего задания используйте [методичку](https://docs.google.com/document/d/1rQH5M2MYclBkvmv3SO4wl4F_IErcojl86hD10ric6Lk/edit?usp=sharing)


Что нужно сделать?

**otus-linux**
Vagrantfile - для стенда урока 9 - Network


**Дано**

https://github.com/erlong15/otus-linux/tree/network
(ветка network)

Vagrantfile с начальным построением сети
- inetRouter
- centralRouter
- centralServer

тестировалось на virtualbox

**
Планируемая архитектура**

построить следующую архитектуру

Сеть office1
- 192.168.2.0/26 - dev
- 192.168.2.64/26 - test servers
- 192.168.2.128/26 - managers
- 192.168.2.192/26 - office hardware

Сеть office2
- 192.168.1.0/25 - dev
- 192.168.1.128/26 - test servers
- 192.168.1.192/26 - office hardware


Сеть central
- 192.168.0.0/28 - directors
- 192.168.0.32/28 - office hardware
- 192.168.0.64/26 - wifi

```
Office1 ---\
-----> Central --IRouter --> internet
Office2----/
```

Итого должны получится следующие сервера
- inetRouter
- centralRouter
- office1Router
- office2Router
- centralServer
- office1Server
- office2Server


**Теоретическая часть**
- Найти свободные подсети
- Посчитать сколько узлов в каждой подсети, включая свободные
- Указать broadcast адрес для каждой подсети
- проверить нет ли ошибок при разбиении

**
Практическая часть**
- Соединить офисы в сеть согласно схеме и настроить роутинг
- Все сервера и роутеры должны ходить в инет черз inetRouter
- Все сервера должны видеть друг друга
- у всех новых серверов отключить дефолт на нат (eth0), который вагрант поднимает для связи
- при нехватке сетевых интервейсов добавить по несколько адресов на интерфейс


Формат сдачи ДЗ - vagrant + ansible


В чат ДЗ отправьте ссылку на ваш git-репозиторий. Обычно мы проверяем ДЗ в течение 48 часов.


Если возникнут вопросы, обращайтесь к студентам, преподавателям и наставникам в канал группы в Telegram.


Удачи при выполнении!
DHCP, PXE
понимать принцип работы спецификации PXE;
знать, какую роль в ней играют протоколы dhcp, tftp;
рассмотреть, как происходит загрузка в ОС по сети и как это используется для сетевой установки;
22 апреля, 20:00 — 21:30
Лектор: Эрик Арайс
Домашние задания: 1
ДЗ
Настройка PXE сервера для автоматической установки. Для выполнения домашнего задания используйте [методичку](https://docs.google.com/document/d/1f5I8vbWAk8ah9IFpAQWN3dcWDHMqXzGb/edit?usp=share_link&ouid=104106368295333385634&rtpof=true&sd=true)


Что нужно сделать?
1. Настроить загрузку по сети дистрибутива Ubuntu 24
2. Установка должна проходить из HTTP-репозитория.
3. Настроить автоматическую установку c помощью файла user-data
4. Задания со звёздочкой*
Настроить автоматическую загрузку по сети дистрибутива Ubuntu 24 c использованием UEFI

Задания со звёздочкой выполняются по желанию
.


Формат сдачи ДЗ - vagrant + ansible


В чат ДЗ отправьте ссылку на ваш git-репозиторий. Обычно мы проверяем ДЗ в течение 48 часов.


Если возникнут вопросы, обращайтесь к студентам, преподавателям и наставникам в канал группы в Telegram.


Удачи при выполнении!
Фильтрация трафика - iptables
понимать путь прохождения пакетов;
настраивать базовые правила фильтрации;
настраивать наборы правил через ipset;
24 апреля, 20:00 — 21:30
Лектор: Николай Лавлинский
Домашние задания: 1
ДЗ
Сценарии iptables. Что нужно сделать?
1) реализовать knocking port
- centralRouter может попасть на ssh inetrRouter через knock скрипт
пример в материалах.
2) добавить inetRouter2, который виден(маршрутизируется (host-only тип сети для виртуалки)) с хоста или форвардится порт через локалхост.
3) запустить nginx на centralServer.
4) пробросить 80й порт на inetRouter2 8080.
5) дефолт в инет оставить через inetRouter.


Формат сдачи ДЗ - vagrant + ansible


Реализовать проход на 80й порт без маскарадинга*


В чат ДЗ отправьте ссылку на ваш git-репозиторий. Обычно мы проверяем ДЗ в течение 48 часов.


Если возникнут вопросы, обращайтесь к студентам, преподавателям и наставникам в канал группы в Telegram.


Удачи при выполнении!
Фильтрация трафика - firewalld
работата с утилитой и сервисом firewalld;
настраивать шлюз средствами iptables;
29 апреля, 20:00 — 21:30
Лектор: Николай Лавлинский
Фильтрация трафика - nftables
изучить настройку сетевого фильтра nftables;
научиться использовать утилиту nft и сохранять правила;
13 мая, 20:00 — 21:30
Лектор: Николай Лавлинский
Статическая и динамическая маршрутизация, OSPF
понять принцип работы multicast;
описать назначение loopback-интерфейса;
понять основные принципы работы протокола OSPF;
настроить динамическую маршрутизацию с помощью программных маршрутизаторов Quagga, FRR и BIRD.
15 мая, 20:00 — 21:30
Лектор: Эрик Арайс
Домашние задания: 1
ДЗ
OSPF. Для выполнения домашнего задания используйте [методичку](https://docs.google.com/document/d/1c3p-2PQl-73G8uKJaqmyCaw_CtRQipAt/edit?usp=share_link&ouid=104106368295333385634&rtpof=true&sd=true)


Что нужно сделать?
1. Поднять три виртуалки
2. Объединить их разными vlan
- поднять OSPF между машинами на базе Quagga;
- изобразить ассиметричный роутинг;
- сделать один из линков "дорогим", но что бы при этом роутинг был симметричным.


Формат сдачи: Vagrantfile + ansible


В чат ДЗ отправьте ссылку на ваш git-репозиторий . Обычно мы проверяем ДЗ в течение 48 часов.


Если возникнут вопросы, обращайтесь к студентам, преподавателям и наставникам в канал группы в Telegram.


Удачи при выполнении!
BGP
познакомимся с протоколом динамической маршрутизации BGP.
20 мая, 20:00 — 21:30
Лектор: Ольга Яновская
Мосты, туннели и VPN
описать разницу между мостами и туннелями;
настраивать мосты и туннели между сетями;
разобраться в различных типах реализаций мостов и туннелей.
22 мая, 20:00 — 21:30
Лектор: Денис Федоров
Домашние задания: 1
ДЗ
VPN. Для выполнения домашнего задания используйте [методичку](https://docs.google.com/document/d/1tJjZQzVccj0UoRlVLa-E-uxQtQDOCuW_sAk2nluiFo4/edit?usp=sharing)


Что нужно сделать?

1)Настроить VPN между двумя ВМ в tun/tap режимах, замерить скорость в туннелях, сделать вывод об отличающихся показателях

2)Поднять RAS на базе OpenVPN с клиентскими сертификатами, подключиться с локальной машины на ВМ

Задание со звездочкой

3)Самостоятельно изучить и настроить ocserv, подключиться с хоста к ВМ
Формат сдачи ДЗ - vagrant + ansible


В чат ДЗ отправьте ссылку на ваш git-репозиторий. Обычно мы проверяем ДЗ в течение 48 часов.


Если возникнут вопросы, обращайтесь к студентам, преподавателям и наставникам в канал группы в Telegram.


Удачи при выполнении!
DNS - настройка и обслуживание
узнать как завести домен;
управлять зонами (bind/powerdns);
обслуживать свой домен самостоятельно;
разобрать dig/host/nslookup.
27 мая, 20:00 — 21:30
Лектор: Викентий Лапа
Домашние задания: 1
ДЗ
Настраиваем split-dns. Для выполнения домашнего задания используйте [методичку](https://docs.google.com/document/d/13kjusaFEzv6Ip_9soeDj2Ry-6WK8IDX7/edit?usp=share_link&ouid=104106368295333385634&rtpof=true&sd=true)


Что нужно сделать?
- взять стенд https://github.com/erlong15/vagrant-bind
- добавить еще один сервер client2
- завести в зоне dns.lab
- имена
- web1 - смотрит на клиент1
- web2 смотрит на клиент2

- завести еще одну зону newdns.lab
- завести в ней запись
- www - смотрит на обоих клиентов

- настроить split-dns
- клиент1 - видит обе зоны, но в зоне dns.lab только web1

- клиент2 видит только dns.lab

настроить все без выключения selinux*


Формат сдачи ДЗ - vagrant + ansible


В чат ДЗ отправьте ссылку на ваш git-репозиторий. Обычно мы проверяем ДЗ в течение 48 часов.


Если возникнут вопросы, обращайтесь к студентам, преподавателям и наставникам в канал группы в Telegram.


Удачи при выполнении!
Сетевые пакеты. VLAN'ы. LACP
изучить UniCast/MultiCast/BroadCast/AnyCast;
изучить протокол LACP;
аггрегировать интерфейсы через teaming и bonding;
VLAN;
познакомиться с dot1q, macvlan;
освоить работу с nmcli;
2 июня, 20:00 — 21:30
Лектор: Ольга Яновская
Домашние задания: 1
ДЗ
Строим бонды и вланы. Для выполнения домашнего задания используйте [методичку](https://docs.google.com/document/d/1BO5cUT0u4ABzEOjogeHyCaNiYh76Bh73/edit?usp=share_link&ouid=104106368295333385634&rtpof=true&sd=true)


Что нужно сделать?
в Office1 в тестовой подсети появляется сервера с доп интерфейсами и адресами
в internal сети testLAN:
- testClient1 - 10.10.10.254
- testClient2 - 10.10.10.254
- testServer1- 10.10.10.1
- testServer2- 10.10.10.1

Равести вланами:
testClient1 <-> testServer1
testClient2 <-> testServer2

Между centralRouter и inetRouter "пробросить" 2 линка (общая inernal сеть) и объединить их в бонд, проверить работу c отключением интерфейсов

<br/>Обычно мы проверяем ДЗ в течение 48 часов.


Если возникнут вопросы, обращайтесь к студентам, преподавателям и наставникам в канал группы в Slack.


Удачи при выполнении!
LDAP. Централизованная авторизация и аутентификация
объяснить, что такое LDAP и зачем нужен;
разобрать базовую настройку LDAP на примере.
3 июня, 20:00 — 21:30
Лектор: Викентий Лапа
Домашние задания: 1
ДЗ
LDAP. Для выполнения домашнего задания используйте [методичку](https://docs.google.com/document/d/1HoZBcvitZ4A9t-y6sbLEbzKmf4CWvb39/edit?usp=share_link&ouid=104106368295333385634&rtpof=true&sd=true)


Что нужно сделать?
1) Установить FreeIPA
2) Написать Ansible-playbook для конфигурации клиента

Дополнительное задание
3)* Настроить аутентификацию по SSH-ключам
4)** Firewall должен быть включен на сервере и на клиенте


В чат ДЗ отправьте ссылку на ваш git-репозиторий. Обычно мы проверяем ДЗ в течение 48 часов.


Если возникнут вопросы, обращайтесь к студентам, преподавателям и наставникам в канал группы в Telegram.


Удачи при выполнении!
IPv6
объяснить как работает протокол Ipv6;
знать правила формирования адреса;
отличать типы адресов;
знать особенности работы и преимущества использования;
настраивать маршрутизацию и файрвалл;
5 июня, 20:00 — 21:30
Лектор: Ольга Яновская
Сервисы Linux
Рассмотрим настройку базовых сервисов на ОС Линукс, таких как базы данных, почта и веб сервер.
Web: протоколы
разобрать работу протоколов HTTP/HTTPS, HTTP 2.0,3.0.
10 июня, 20:00 — 21:30
Лектор: Николай Лавлинский
Nginx
настраивать upstream, proxy_pass;
настраивать кэш.
17 июня, 20:00 — 21:30
Лектор: Николай Лавлинский
Динамический веб
разбираться в CGI/FCGI/WSGI/mod_xxx;
настраивать uwsgi/php_fpm;
понимать Ajax/Long Pooling/Websockets.
19 июня, 20:00 — 21:30
Лектор: Николай Лавлинский
Домашние задания: 1
ДЗ
Развертывание веб приложения. Для выполнения домашнего задания используйте [методичку](https://docs.google.com/document/d/1Q5Hqwq8dqsdRSDWA_bQKc1GsCx4wxi1c/edit?usp=share_link&ouid=104106368295333385634&rtpof=true&sd=true)


Что нужно сделать?

Варианты стенда:
- nginx + php-fpm (laravel/wordpress) + python (flask/django) + js(react/angular);
- nginx + java (tomcat/jetty/netty) + go + ruby;
- можно свои комбинации.


Реализации на выбор:
- на хостовой системе через конфиги в /etc;
- деплой через docker-compose.


Для усложнения можно попросить проекты у коллег с курсов по разработке


К сдаче принимается:
- vagrant стэнд с проброшенными на локалхост портами
- каждый порт на свой сайт
- через нжинкс


Формат сдачи ДЗ - vagrant + ansible


В чат ДЗ отправьте ссылку на ваш git-репозиторий. Обычно мы проверяем ДЗ в течение 48 часов.


Если возникнут вопросы, обращайтесь к студентам, преподавателям и наставникам в канал группы в Telegram.


Удачи при выполнении!
MySQL
устанавливать, настраивать, тестировать mysql;
понимать, на что влияют различные настройки;
понимать, как работает СУБД;
понимать какие файлы и их назначение используются mysql;
настраивать базовую репликацию.
24 июня, 20:00 — 21:30
Лектор: Николай Лавлинский
MySQL: Backup + Репликация
снимать резервные копии;
восстанавливать базу после сбоя;
настраивать master-slave репликацию.
26 июня, 20:00 — 21:30
Лектор: Николай Лавлинский
Домашние задания: 1
ДЗ
Репликация mysql. Для выполнения домашнего задания используйте[ методичку](https://drive.google.com/file/d/139irfqsbAxNMjVcStUN49kN7MXAJr_z9/view?usp=share_link)


Что нужно сделать?

В материалах приложены ссылки на вагрант для репликации и дамп базы bet.dmp

Базу развернуть на мастере и настроить так, чтобы реплицировались таблицы:
```

| bookmaker |
| competition |
market |
| odds |
| outcome
```


Настроить GTID репликацию

варианты которые принимаются к сдаче
- рабочий вагрантафайл
- скрины или логи SHOW TABLES
конфиги*
*
пример в логе изменения строки и появления строки на реплике**


В чат ДЗ отправьте ссылку на ваш git-репозиторий. Обычно мы проверяем ДЗ в течение 48 часов.


Если возникнут вопросы, обращайтесь к студентам, преподавателям и наставникам в канал группы в Telegram.


Удачи при выполнении!
PostgreSQL
установить и настроить СУБД PostgreSQL;
1 июля, 20:00 — 21:30
Лектор: Иван Федоров
Postgres: Backup + Репликация
создавать резервные копий;
настраивать репликации;
3 июля, 20:00 — 21:30
Лектор: Иван Федоров
Домашние задания: 1
ДЗ
Репликация postgres. Для выполнения домашнего задания используйте [методичку](https://docs.google.com/document/d/1EU_KF3x9e2f75sNL4sghDIxib9eMfqex/edit?usp=share_link&ouid=104106368295333385634&rtpof=true&sd=true)


Что нужно сделать?
- настроить hot_standby репликацию с использованием слотов
- настроить правильное резервное копирование


В чат ДЗ отправьте ссылку на ваш git-репозиторий. Обычно мы проверяем ДЗ в течение 48 часов.


Если возникнут вопросы, обращайтесь к студентам, преподавателям и наставникам в канал группы в Telegram.


Удачи при выполнении!
Почта: SMTP, IMAP, POP3
разбирать почтовые протоколы;
устанавливать и настраивать Postfix и Dovecot;
оценить настройки безопасности.
8 июля, 20:00 — 21:30
Лектор: Викентий Лапа
Проектная работа
Создание рабочего проекта
веб проект с развертыванием нескольких виртуальных машин
должен отвечать следующим требованиям
- включен https
- основная инфраструктура в DMZ зоне
- файрвалл на входе
- сбор метрик и настроенный алертинг
- везде включен selinux
- организован централизованный сбор логов
Выбор темы и организация проектной работы
выбрать и обсудить тему проектной работы; спланировать работу над проектом; ознакомиться с регламентом работы над проектом.
10 июля, 20:00 — 21:30
Лектор: Андрей Буранов
Домашние задания: 1
ДЗ
Проект. Создание рабочего проекта

Веб проект с развертыванием нескольких виртуальных машин должен отвечать следующим требованиям:
- включен https;
- основная инфраструктура в DMZ зоне;
- файрвалл на входе;
- сбор метрик и настроенный алертинг;
- везде включен selinux;
- организован централизованный сбор логов;
- организован backup.
Защита проектных работ
защитить проект и получить рекомендации экспертов.
12 августа, 20:00 — 21:30
Лектор: Андрей Буранов
Подведение итогов курса
узнать, как получить сертификат об окончании курса, как взаимодействовать после окончания курса с OTUS и преподавателями, какие вакансии и позиции есть для выпускников (опционально - в России и за рубежом) и на какие компании стоит обратить внимание.
28 августа, 20:00 — 21:30
Лектор: Андрей Буранов
Дополнительная защита проектных работ
19 августа, 20:00 — 21:30
Лектор: Андрей Буранов
Дополнительная защита проектных работ
28 августа, 20:00 — 21:30

F.A.Q.: Наиболее часто задаваемые вопросы:

Нужно ли оплачивать обучение до Дня открытых дверей, если я хочу гарантированно попасть в группу?
Да, мы рекомендуем заранее оплатить обучение, чтобы гарантированно попасть в группу. В период проведения Дня открытых дверей резко возрастает количество желающих обучаться, поэтому может случиться так, что к окончанию Дня открытых дверей мест в группе не останется
Кто будет проводить День открытых дверей?
Проводить День открытых дверей будет преподаватель курса.
Как принять участие в Дне открытых дверей?
Для того, чтобы принять участие в Дне открытых дверей, оставьте свой e-mail в поле регистрации на мероприятие. Перед началом Дня открытых дверей мы пришлем вам ссылку, пройдя по которой, вы сможете присоединиться к вебинару.
Какие вопросы будем обсуждать на Дне открытых дверей?
На дне открытых дверей мы поговорим о проекте OTUS (о программе курса, почему мы не принимаем в группы новичков, почему учиться у нас интересно, но сложно), карьерных перспективах выпускников (почему вероятность карьерного роста у лучших студентов стремится к 100%), учебном процессе (оплатах, оценке знаний, сертификатах и прочих аспектах). Также ведущий мероприятия с радостью ответит на все ваши вопросы.
Новогодние скидки в Otus!-15% ❄️
Успейте забрать свою скидку до 05.01 →