Открытый вебинар «SSH/NC/Socat: tips & tricks» 17.01.2019 в 20:00 | OTUS
🔥 Успейте получить скидку!
Только до 27.01 можно приобрести курсы со скидкой 25%. Торопитесь!
Выбрать курс

Курсы

Программирование
Разработчик программных роботов (RPA) на базе UiPath и PIX
-25%
Разработчик C#
-25%
Алгоритмы и структуры данных
-25%
Backend-разработчик на PHP
-25%
JavaScript Developer. Professional
-25%
Team Lead
-25%
Golang Developer. Professional
-25%
Agile Project Manager
-25%
Flutter Mobile Developer
-25%
Android Developer. Professional
-11%
MS SQL Server Developer
-8%
C++ Developer. Professional Framework Laravel Cloud Solution Architecture Highload Architect Reverse-Engineering. Professional Kotlin Backend Developer React.js Developer VOIP инженер Нереляционные базы данных Scala-разработчик Супер-практикум по использованию и настройке GIT IoT-разработчик JavaScript Developer. Basic Advanced Fullstack JavaScript developer Unity Game Developer. Professional Супер-интенсив Azure
Инфраструктура
Супер-интенсив "Версионирование и командная работа с помощью Git"
-30%
Administrator Linux. Professional
-25%
Супер-интенсив «CI/CD или Непрерывная поставка с Docker и Kubernetes»
-30%
Разработчик программных роботов (RPA) на базе UiPath и PIX
-25%
Administrator Linux. Advanced
-25%
Infrastructure as a code in Ansible
-25%
Network engineer
-25%
MS SQL Server Developer
-8%
Cloud Solution Architecture Highload Architect Разработчик голосовых ассистентов и чат-ботов Мониторинг и логирование: Zabbix, Prometheus, ELK Супер-практикум по работе с протоколом BGP Супер - интенсив по паттернам проектирования Супер - интенсив по Kubernetes Архитектор сетей Супер-интенсив «IaC Ansible»
Специализации Курсы в разработке Подготовительные курсы
+7 499 938-92-02
Проходил 17 января 2019 года в 20:00

Открытый вебинар
SSH/NC/Socat: tips & tricks

Открытый вебинар онлайн

Вспоминаем, что такое ssh, его историю и предназначение. Рассматриваем различные варианты его использования: remote, local port forwarding, secure copy, socks proxy, revers proxy. Пробуем на деле в виртуальной лаборатории утилиты nc и socat.
Преподаватель
Владимир Дроздецкий

Запись

О курсе

Administrator Linux. Professional
90 000 ₽ 67 500 ₽
5 месяцев
Начало 25 января
Стенды для отработки материалов предоставляются партнером курса AdvancedHosting
  • Знание архитектуры Linux.
  • Освоение современных методов и инструментов анализа и обработки данных.
  • Умение подбирать конфигурацию под необходимые задачи, управлять процессами и обеспечивать безопасность системы.
  • Владение основными рабочими инструментами системного администратора.
  • Понимание особенностей развертывания, настройки и обслуживания сетей, построенных на базе Linux.
  • Возможность отточить полученные навыки на виртуальных стендах.
  • Способность быстро решать …
Программа курса
Модуль 1
Архитектура Linux
Модуль 2
Управление, безопасность и мониторинг
Модуль 3
Linux и сеть
Модуль 4
Сервисы Linux
Модуль 5
Проект
Архитектура Linux
В этом модуле будут разбираться базовые компоненты OS Linux. Будем разбирать, что такое ядро и его модули, загрузчик, процессы, дисковая и файловая системы, inodes и daemons.
Научимся устанавливать и обновлять и восстанавливать OS, управлять загрузкой, создавать и изменять RAID массивы, управлять логическими томами.

Проект на весь модуль: делаем свою загрузочную флешку readonly, со своим ядром.
С чего начинается Linux
познакомиться с программой и группой;
объяснить, как работает ядро, как программы взаимодействуют с ядром.
25 января, 20:00 — 23:00
Лектор: Александр Румянцев
Домашние задания: 1
ДЗ
Обновить ядро в базовой системе. В материалах к занятию есть методичка, в которой описана процедура обновления ядра из репозитория. По данной методичке требуется выполнить необходимые действия. Полученный в ходе выполнения ДЗ Vagrantfile должен быть залит в ваш репозиторий. Для проверки ДЗ необходимо прислать ссылку на него.
Для выполнения ДЗ со * и ** вам потребуется сборка ядра и модулей из исходников.
Дисковая подсистема
перечислить виды RAID массивов и их отличия;
получить информацию о дисковой подсистеме на любом сервере с ОС Linux;
собрать программный рейд и восстановить его после сбоя.
1 февраля, 20:00 — 21:30
Лектор: Викентий Лапа
Домашние задания: 1
ДЗ
Работа с mdadm. добавить в Vagrantfile еще дисков
сломать/починить raid
собрать R0/R5/R10 на выбор
прописать собранный рейд в конф, чтобы рейд собирался при загрузке
создать GPT раздел и 5 партиций

в качестве проверки принимаются - измененный Vagrantfile, скрипт для создания рейда, конф для автосборки рейда при загрузке
* доп. задание - Vagrantfile, который сразу собирает систему с подключенным рейдом
** перенесети работающую систему с одним диском на RAID 1. Даунтайм на загрузку с нового диска предполагается. В качестве проверики принимается вывод команды lsblk до и после и описание хода решения (можно воспользовать утилитой Script).
Файловые системы и LVM
lVM - облегчить себе жизнь управления файловыми системами;
архитектура файловой системы Linux: суперблок, блоки, inodes, журналы;
разобраться в многообразии файловых систем.
4 февраля, 20:00 — 21:30
Лектор: Алексей Колосков
Домашние задания: 1
ДЗ
Работа с LVM. на имеющемся образе
/dev/mapper/VolGroup00-LogVol00 38G 738M 37G 2% /

уменьшить том под / до 8G
выделить том под /home
выделить том под /var
/var - сделать в mirror
/home - сделать том для снэпшотов
прописать монтирование в fstab
попробовать с разными опциями и разными файловыми системами ( на выбор)
- сгенерить файлы в /home/
- снять снэпшот
- удалить часть файлов
- восстановится со снэпшота
- залоггировать работу можно с помощью утилиты script

* на нашей куче дисков попробовать поставить btrfs/zfs - с кешем, снэпшотами - разметить здесь каталог /opt
NFS, FUSE
монтировать файловые системы с помощью FUSE;
настраивать и использовать NFS.
8 февраля, 20:00 — 21:30
Домашние задания: 1
ДЗ
Vagrant стенд для NFS или SAMBA. NFS или SAMBA на выбор:

vagrant up должен поднимать 2 виртуалки: сервер и клиент
на сервер должна быть расшарена директория
на клиента она должна автоматически монтироваться при старте (fstab или autofs)
в шаре должна быть папка upload с правами на запись
- требования для NFS: NFSv3 по UDP, включенный firewall

* Настроить аутентификацию через KERBEROS
ZFS
установить и настроить ZFS;
понимать преимущества и недостатки использования для конкретных задач .
11 февраля, 20:00 — 21:30
Лектор: Викентий Лапа
Домашние задания: 1
ДЗ
Практические навыки работы с ZFS. 1. Определить алгоритм с наилучшим сжатием

Зачем:
Отрабатываем навыки работы с созданием томов и установкой параметров. Находим наилучшее сжатие.


Шаги:
- определить какие алгоритмы сжатия поддерживает zfs (gzip gzip-N, zle lzjb, lz4)
- создать 4 файловых системы на каждой применить свой алгоритм сжатия
Для сжатия использовать либо текстовый файл либо группу файлов:
- скачать файл “Война и мир” и расположить на файловой системе
wget -O War_and_Peace.txt http://www.gutenberg.org/ebooks/2600.txt.utf-8
либо скачать файл ядра распаковать и расположить на файловой системе

Результат:
- список команд которыми получен результат с их выводами
- вывод команды из которой видно какой из алгоритмов лучше


2. Определить настройки pool’a

Зачем:
Для переноса дисков между системами используется функция export/import. Отрабатываем навыки работы с файловой системой ZFS

Шаги:
- Загрузить архив с файлами локально.
https://drive.google.com/open?id=1KRBNW33QWqbvbVHa3hLJivOAt60yukkg
Распаковать.
- С помощью команды zfs import собрать pool ZFS.
- Командами zfs определить настройки
- размер хранилища
- тип pool
- значение recordsize
- какое сжатие используется
- какая контрольная сумма используется
Результат:
- список команд которыми восстановили pool . Желательно с Output команд.
- файл с описанием настроек settings

3. Найти сообщение от преподавателей

Зачем:
для бэкапа используются технологии snapshot. Snapshot можно передавать между хостами и восстанавливать с помощью send/receive. Отрабатываем навыки восстановления snapshot и переноса файла.

Шаги:
- Скопировать файл из удаленной директории. https://drive.google.com/file/d/1gH8gCL9y7Nd5Ti3IRmplZPF1XjzxeRAG/view?usp=sharing
Файл был получен командой
zfs send otus/storage@task2 > otus_task2.file
- Восстановить файл локально. zfs receive
- Найти зашифрованное сообщение в файле secret_message

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

4(*). Сконфигурировать систему без отдельного раздела с /boot, а только с LVM
Репозиторий с пропатченым grub: https://yum.rumyantsev.com/centos/7/x86_64/
PV необходимо инициализировать с параметром --bootloaderareasize 1m
Инициализация системы. Systemd.
писать сценарии автозагрузки демонов;
обращаться с systemctl и journalctl.
18 февраля, 20:00 — 21:30
Лектор: Антон Митаки
Домашние задания: 1
ДЗ
Systemd. Выполнить следующие задания и подготовить развёртывание результата выполнения с использованием Vagrant и Vagrant shell provisioner (или Ansible, на Ваше усмотрение):
1. Написать service, который будет раз в 30 секунд мониторить лог на предмет наличия ключевого слова (файл лога и ключевое слово должны задаваться в /etc/sysconfig);
2. Из репозитория epel установить spawn-fcgi и переписать init-скрипт на unit-файл (имя service должно называться так же: spawn-fcgi);
3. Дополнить unit-файл httpd (он же apache) возможностью запустить несколько инстансов сервера с разными конфигурационными файлами;
4*. Скачать демо-версию Atlassian Jira и переписать основной скрипт запуска на unit-файл.
Управление пакетами. Дистрибьюция софта
устанавливать софт в Linux;
собирать из исходников;
репозитории, yum и rpm;
dnf;
snap.
25 февраля, 20:00 — 21:30
Лектор: Леонид Альбрехт
Домашние задания: 1
ДЗ
Размещаем свой RPM в своем репозитории. 1) создать свой RPM (можно взять свое приложение, либо собрать к примеру апач с определенными опциями)
2) создать свой репо и разместить там свой RPM
реализовать это все либо в вагранте, либо развернуть у себя через nginx и дать ссылку на репо

* реализовать дополнительно пакет через docker
Bash
писать скрипты на языка bash.
1 марта, 20:00 — 21:30
Лектор: Алексей Цыкунов
Домашние задания: 1
ДЗ
Пишем скрипт. написать скрипт для крона
который раз в час присылает на заданную почту
- X IP адресов (с наибольшим кол-вом запросов) с указанием кол-ва запросов c момента последнего запуска скрипта
- Y запрашиваемых адресов (с наибольшим кол-вом запросов) с указанием кол-ва запросов c момента последнего запуска скрипта
- все ошибки c момента последнего запуска
- список всех кодов возврата с указанием их кол-ва с момента последнего запуска
в письме должно быть прописан обрабатываемый временной диапазон
должна быть реализована защита от мультизапуска
grep, sed, awk и другие
работать с многочисленными консольными утилитами в Linux, такими как grep, find, set, cut, tr, vim и так далее;
писать скрипты на awk.
4 марта, 20:00 — 21:30
Лектор: Викентий Лапа
Управление процессами
объяснить, что такое процесс, его атрибуты, жизненный цикл процесса;
объяснить, чем потоки отличаются от процессов;
мониторить процессы, в каком они состоянии, понимать чем они сейчас заняты;
изучить команды ps/top, подсистему /proc, а также команды gdb/strace/ltrace;
менять приоритеты с мощью команд nice, ionice;
посылать различные сигналы процессам.
11 марта, 20:00 — 21:30
Лектор: Евгений Кузин
Домашние задания: 1
ДЗ
работаем с процессами. Задания на выбор
1) написать свою реализацию ps ax используя анализ /proc
- Результат ДЗ - рабочий скрипт который можно запустить
2) написать свою реализацию lsof
- Результат ДЗ - рабочий скрипт который можно запустить
3) дописать обработчики сигналов в прилагаемом скрипте, оттестировать, приложить сам скрипт, инструкции по использованию
- Результат ДЗ - рабочий скрипт который можно запустить + инструкция по использованию и лог консоли
4) реализовать 2 конкурирующих процесса по IO. пробовать запустить с разными ionice
- Результат ДЗ - скрипт запускающий 2 процесса с разными ionice, замеряющий время выполнения и лог консоли
5) реализовать 2 конкурирующих процесса по CPU. пробовать запустить с разными nice
- Результат ДЗ - скрипт запускающий 2 процесса с разными nice и замеряющий время выполнения и лог консоли
Работа с памятью
разобраться как работают механизмы управления памятью в Linux;
находить какие процессы занимают память;
разобраться в статистической информации по памяти.
15 марта, 20:00 — 21:30
Лектор: Алексей Цыкунов
Механизмы изоляции и аккаунтинга Linux (namespaces и cgroups)
18 марта, 20:00 — 21:30
Лектор: Евгений Кузин
Управление, безопасность и мониторинг
В этом модуле мы рассмотрим задачи и рабочие инструменты для управления системой, обеспечения безопасности, контроля прав и доступов. Также мы рассмотрим инструменты для мониторинга, логгирования и анализа проблем производительности и сбоев. Будем учится решать проблемы и производить ретроспективный анализ.
Автоматизация администрирования. Ansible-1
автоматизировать рутинные задачи администрирования;
изучить ansible - инвентори, модули, плейбуки, роли, переменные; объяснить разницу с другими инструментами - chef/puppet/salt.
22 марта, 20:00 — 21:30
Лектор: Леонид Альбрехт
Домашние задания: 1
ДЗ
Первые шаги с Ansible. Подготовить стенд на Vagrant как минимум с одним сервером. На этом сервере используя Ansible необходимо развернуть nginx со следующими условиями:
- необходимо использовать модуль yum/apt
- конфигурационные файлы должны быть взяты из шаблона jinja2 с перемененными
- после установки nginx должен быть в режиме enabled в systemd
- должен быть использован notify для старта nginx после установки
- сайт должен слушать на нестандартном порту - 8080, для этого использовать переменные в Ansible

Домашнее задание считается принятым, если:
- предоставлен Vagrantfile и готовый playbook/роль ( инструкция по запуску стенда, если посчитаете необходимым )
- после запуска стенда nginx доступен на порту 8080
- при написании playbook/роли соблюдены перечисленные в задании условия
Автоматизация администрирования. Ansible-2
писать ansible роли, использовать ansible-vault, использовать AWX.
25 марта, 20:00 — 21:30
Лектор: Леонид Альбрехт
Пользователи и группы. Авторизация и аутентификация
рассмотреть механизмы авторизации и аутентификации;
объяснить какие бывают права у пользовталей;
управлять правами с помощью sudo, umask. sgid, suid и более сложными инструментами как PAM и ACL, PolicyKit.
29 марта, 20:00 — 21:30
Лектор: Алексей Цыкунов
Домашние задания: 1
ДЗ
PAM. 1. Запретить всем пользователям, кроме группы admin логин в выходные (суббота и воскресенье), без учета праздников
* дать конкретному пользователю права работать с докером
и возможность рестартить докер сервис
SELinux - когда все запрещено
объяснить, что такое системы принудительного контроля доступа;
объяснить, как работает система SELinux;
работать с системой SELinux.
1 апреля, 20:00 — 21:30
Лектор: Павел Викирюк
Домашние задания: 1
ДЗ
Практика с SELinux. 1. Запустить nginx на нестандартном порту 3-мя разными способами:
- переключатели setsebool;
- добавление нестандартного порта в имеющийся тип;
- формирование и установка модуля SELinux.
К сдаче:
- README с описанием каждого решения (скриншоты и демонстрация приветствуются).

2. Обеспечить работоспособность приложения при включенном selinux.
- Развернуть приложенный стенд
https://github.com/mbfx/otus-linux-adm/tree/master/selinux_dns_problems
- Выяснить причину неработоспособности механизма обновления зоны (см. README);
- Предложить решение (или решения) для данной проблемы;
- Выбрать одно из решений для реализации, предварительно обосновав выбор;
- Реализовать выбранное решение и продемонстрировать его работоспособность.
К сдаче:
- README с анализом причины неработоспособности, возможными способами решения и обоснованием выбора одного из них;
- Исправленный стенд или демонстрация работоспособной системы скриншотами и описанием.
Docker
писать Dockerfile;
создать docker-compose;
запустить docker swarm.
5 апреля, 20:00 — 21:30
Домашние задания: 1
ДЗ
Docker, docker-compose, dockerfile. Описание ДЗ в документе
Docker - 2
8 апреля, 20:00 — 21:30
Мониторинг производительности
мониторить занятые ресурсы: CPU, память, диск, сеть;
изучить инструменты ps, top , sar, htop, atop, netstat, ss, vmstat, iostat, iotop, pidstat;
посмотреть, что находится в /proc;
объяснить, что делать с неотзывчивой системой.
12 апреля, 20:00 — 21:30
Мониторинг и алертинг
изучить Zabbix;
познакомиться с Prometheus.
15 апреля, 20:00 — 21:30
Домашние задания: 1
ДЗ
Настройка мониторинга. Настроить дашборд с 4-мя графиками
1) память
2) процессор
3) диск
4) сеть

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

* использование систем примеры которых не рассматривались на занятии
- список возможных систем был приведен в презентации

в качестве результата прислать скриншот экрана - дашборд должен содержать в названии имя приславшего
Сбор и анализ логов
после занятия вы сможете:
понять зачем нужны логи и как их собирать
освоить принципы логирование с помощью rsyslog
понять возможности logrotate для задач ротации логов
научиться работать с journald и auditd
узнать про adrtd и kdump
19 апреля, 20:00 — 21:30
Лектор: Павел Викирюк
Домашние задания: 1
ДЗ
Настраиваем центральный сервер для сбора логов. в вагранте поднимаем 2 машины web и log
на web поднимаем nginx
на log настраиваем центральный лог сервер на любой системе на выбор
- journald
- rsyslog
- elk
настраиваем аудит следящий за изменением конфигов нжинкса

все критичные логи с web должны собираться и локально и удаленно
все логи с nginx должны уходить на удаленный сервер (локально только критичные)
логи аудита должны также уходить на удаленную систему


* развернуть еще машину elk
и таким образом настроить 2 центральных лог системы elk И какую либо еще
в elk должны уходить только логи нжинкса
во вторую систему все остальное
Сбор и анализ логов - 2
после занятия вы сможете:
установить и настроить стек ELK;
понять основные принципы работы компонентов стека.
22 апреля, 20:00 — 21:30
Лектор: Павел Викирюк
Резервное копирование
обсудить политики и методики резерного копирования;
работать с инструментами rsync, tar, dd и bacula.
26 апреля, 20:00 — 21:30
Домашние задания: 1
ДЗ
Настраиваем бэкапы. Настроить стенд Vagrant с двумя виртуальными машинами: backup_server и client

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

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

Запустите стенд на 30 минут. Убедитесь что резервные копии снимаются. Остановите бекап, удалите (или переместите) директорию /etc и восстановите ее из бекапа. Для сдачи домашнего задания ожидаем настроенные стенд, логи процесса бэкапа и описание процесса восстановления.
Linux и сеть
Настраиваем и работаем с сетью в Linux. От хоста до маршрутизатора и брандмауэра.
Архитектура сетей
освоить команды ip/tc/ss/nstat, вспомним ifconfig/netstat/route, заглянем в /etc/sysconfig/network-scripts, поснифферим через tcpdump и ngrep.
6 мая, 20:00 — 21:30
Домашние задания: 1
ДЗ
разворачиваем сетевую лабораторию.
# 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), который вагрант поднимает для связи
- при нехватке сетевых интервейсов добавить по несколько адресов на интерфейс



DHCP, PXE
настроить запуск серверов с загрузкой ОС по сети.
13 мая, 20:00 — 21:30
Лектор: Викентий Лапа
Домашние задания: 1
ДЗ
Настройка PXE сервера для автоматической установки. 1. Следуя шагам из документа https://docs.centos.org/en-US/8-docs/advanced-install/assembly_preparing-for-a-network-install установить и настроить загрузку по сети для дистрибутива CentOS8
В качестве шаблона воспользуйтесь репозиторием https://github.com/nixuser/virtlab/tree/main/centos_pxe
2. Поменять установку из репозитория NFS на установку из репозитория HTTP
3. Настройить автоматическую установку для созданного kickstart файла (*) Файл загружается по HTTP
* 4. автоматизировать процесс установки Cobbler cледуя шагам из документа https://cobbler.github.io/quickstart/

Фильтрация трафика - firewalld, iptables
настраивать файрвалл с использованием iptables/firewalld
настраивать NAT
пробрасывать порты
настраивать взаимодействие с роутингом
понимать работу таблиц и цепочек
17 мая, 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

* реализовать проход на 80й порт без маскарадинга
Фильтрация трафика - nftables
20 мая, 20:00 — 21:30
Статическая и динамическая маршрутизация, OSPF
После занятия вы сможете:
понять принцип работы multicast;
назначение loopback-интерфейса;
понять основные принципы работы протокола OSPF;
настроить динамическую маршрутизацию с помощью программных маршрутизаторов Quagga, FRR и BIRD.
24 мая, 20:00 — 21:30
Лектор: Павел Викирюк
Домашние задания: 1
ДЗ
OSPF. - Поднять три виртуалки
- Объединить их разными vlan
1. Поднять OSPF между машинами на базе Quagga
2. Изобразить ассиметричный роутинг
3. Сделать один из линков "дорогим", но что бы при этом роутинг был симметричным

Формат сдачи:
Vagrantfile + ansible
BGP
Познакомимся с протоколом динамической маршрутизации BGP
27 мая, 20:00 — 21:30
Лектор: Павел Викирюк
Мосты, туннели и VPN
Поймем разницу между мостами и туннелями
Научимся настраивать мосты и туннели между сетями
Разберемся в различных типах реализаций мостов и туннелей.
31 мая, 20:00 — 21:30
Лектор: Павел Викирюк
Домашние задания: 1
ДЗ
VPN. 1. Между двумя виртуалками поднять vpn в режимах
- tun
- tap
Прочуствовать разницу.

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

3*. Самостоятельно изучить, поднять ocserv и подключиться с хоста к виртуалке
DNS- настройка и обслуживание
узнать как завести домен;
управлять зонами (bind/powerdns);
обслуживать свой домен самостоятельно;
разобрать dig/host/nslookup.
3 июня, 20:00 — 21:30
Лектор: Викентий Лапа
Домашние задания: 1
ДЗ
настраиваем split-dns. взять стенд 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
Сетевые пакеты. VLAN'ы. LACP
Изучить UniCast/MultiCast/BroadCast/AnyCast;
Изучить протокол LACP. Учимся аггрегировать интерфейсы через teaming и bonding;
VLAN;
Познакомиться с dot1q, macvlan;
Освоить работу с nmcli
7 июня, 20:00 — 21:30
Лектор: Павел Викирюк
Домашние задания: 1
ДЗ
Строим бонды и вланы. в 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 отключением интерфейсов

для сдачи - вагрант файл с требуемой конфигурацией
Разворачиваться конфигурация должна через ансибл

LDAP. Централизованная авторизация и аутентификация
объяснить, что такое LDAP и зачем нужен; разобрать базовую настройку LDAP на примере.
10 июня, 20:00 — 21:30
Лектор: Викентий Лапа
Домашние задания: 1
ДЗ
LDAP. 1. Установить FreeIPA;
2. Написать Ansible playbook для конфигурации клиента;
3*. Настроить аутентификацию по SSH-ключам;
4**. Firewall должен быть включен на сервере и на клиенте.

В git - результирующий playbook.
IPv6
объяснить как работает протокол Ipv6;
знать правила формирования адреса;
отличать типы адресов;
знать особенности работы и преимущества использования;
настраивать маршрутизацию и файрвалл;
17 июня, 20:00 — 21:30
Лектор: Александр Гаврик
Сервисы Linux
Рассмотрим настройку базовых сервисов на ОС Линукс, таких как базы данных, почта и веб сервер.
Web: протоколы
разобрать работу протоколов HTTP/HTTPS, HTTP 2.0,3.0;
21 июня, 20:00 — 21:30
Лектор: Евгений Кузин
Nginx
настраивать upstream, proxy_pass;
настраивать кэш;
lua.
24 июня, 20:00 — 21:30
Лектор: Алексей Колосков
Динамический веб
разбираться в CGI/FCGI/WSGI/mod_xxx;
настраивать uwsgi/php_fpm;
понимать Ajax/Long Pooling/Websockets.
28 июня, 20:00 — 21:30
Лектор: Алексей Цыкунов
Домашние задания: 1
ДЗ
развернуть стенд с веб приложениями в vagrant. Варианты стенда
nginx + php-fpm (laravel/wordpress) + python (flask/django) + js(react/angular)
nginx + java (tomcat/jetty/netty) + go + ruby
можно свои комбинации

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

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

К сдаче примается
vagrant стэнд с проброшенными на локалхост портами
каждый порт на свой сайт
через нжинкс
Mysql
устанавливать, настраивать, тестировать mysql;
понимать, на что влияют различные настройки;
понимать, как работает СУБД;
понимать какие файлы и их назначение используются mysql;
настраивать базовую репликацию.
1 июля, 20:00 — 21:30
MySQL: Backup + Репликация
снимать резервные копии
восстанавливать базу после сбоя
настраивать master-slave репликацию
5 июля, 20:00 — 21:30
PostgreSQL
администрировать PostgreSQL;
установить, настроить, создать пользователей и роли;
выдать права, создать базы;
мониторить, делать бекапы.
8 июля, 20:00 — 21:30
Лектор: Евгений Кузин
Домашние задания: 1
ДЗ
репликация postgres. - Настроить hot_standby репликацию с использованием слотов
- Настроить правильное резервное копирование

Для сдачи работы присылаем ссылку на репозиторий, в котором должны обязательно быть
- Vagranfile (2 машины)
- плейбук Ansible
- конфигурационные файлы postgresql.conf, pg_hba.conf и recovery.conf,
- конфиг barman, либо скрипт резервного копирования.

Команда "vagrant up" должна поднимать машины с настроенной репликацией и резервным копированием.
Рекомендуется в README.md файл вложить результаты (текст или скриншоты) проверки работы репликации и резервного копирования.

пример плейбука:
---
- name: Установка postgres11
hosts: master, slave
become: yes
roles:
- postgres_install

- name: Настройка master
hosts: master
become: yes
roles:
- master-setup

- name: Настройка slave
hosts: slave
become: yes
roles:
- slave-setup

- name: Создание тестовой БД
hosts: master
become: yes
roles:
- create_test_db

- name: Настройка barman
hosts: barman
become: yes
roles:
- barman_install
tags:
- barman
Postgres: Backup + Репликация
делать резервные копии
останавливаться базу в случае сбоя
настраивать репликами
12 июля, 20:00 — 21:30
Лектор: Евгений Кузин
Почта: SMTP, IMAP, POP3
разбирать почтовые протоколы;
устанавливать и настраивать Postfix и Dovecot;
оценить настройки безопасности.
15 июля, 20:00 — 21:30
Лектор: Павел Викирюк
Проект
Создание рабочего проекта
веб проект с развертыванием нескольких виртуальных машин
должен отвечать следующим требованиям
- включен https
- основная инфраструктура в DMZ зоне
- файрвалл на входе
- сбор метрик и настроенный алертинг
- везде включен selinux
- организован централизованный сбор логов
Защита проектных работ
защитить проект и получить рекомендации экспертов.
26 июля, 20:00 — 21:30
Домашние задания: 1
ДЗ
Проект.
Подведение итогов курса
узнать, как получить сертификат об окончании курса, как взаимодействовать после окончания курса с OTUS и преподавателями, какие вакансии и позиции есть для выпускников (опционально - в России и за рубежом) и на какие компании стоит обратить внимание.
29 июля, 20:00 — 21:30

Преподаватель

Владимир Дроздецкий
Разработчик инфраструктуры exposcan.ru, crispmessenger.com
Занимается поддержкой и траблшутингом серверов MySQL, приложений, написанных на PHP, etc. Активно внедряет и использует докер со всей его инфраструктурой. Придерживается мнения, что всё должно быть декларативно описано, поэтому использует Ansible.

Разрабатывает и настраивает инфраструктуру для таких стартапов, как exposcan.ru, crispmessenger.com. Занимается мониторингом при помощи Zabbix и Prometheus, создаёт графики в Grafana.

Чтобы легко подстраиваться под требования бизнеса, деплоит и описывает процессы в Gitlab, собирает и обрабатывает логи в ELK и Graylog2. Любит и умеет пользоваться активным сетевым оборудованием вендора MikroTik.
Преподаватель курсов:
Administrator Linux. Professional
Только до 27 января!
🔥 СКИДКА 25% на курсы OTUS!