Администратор Linux

Курс об администрировании систем на базе Linux, который направлен на получение знаний и формирование навыков построения и обслуживания высоконадежных высокодоступных систем
Зачем нужно тестирование?

Длительность

5 месяцев

Начало

28 января 2019 года

Общая стоимость

60 000 ₽

В месяц

15 000 ₽

В кредит:

около 15000 ₽ в месяц

Хочу дешевле
Общая стоимость
60 000 ₽
В месяц: 15 000 ₽
В кредит: около 15000 ₽
в месяц
Продолжительность
5 месяцев
4 часа в неделю
Начало занятий
28 января 2019 года
Что даст вам этот курс

  • Знание архитектуры Linux.

  • Освоение современных методов и инструментов анализа и обработки данных.

  • Умение подбирать конфигурацию под необходимые задачи, управлять процессами и обеспечивать безопасность системы.

  • Владение основными рабочими инструментами системного администратора.

  • Понимание особенностей развертывания, настройки и обслуживания сетей, построенных на базе Linux.

  • Способность быстро решать возникающие проблемы и обеспечивать стабильную и бесперебойную работу системы.


Обучено студентов 100+


40 практических занятий.


11 работодателей

"Админ - такой же программист, только админ."
Александр Румянцев
Преподаватель курса
"Админ - такой же программист, только админ."
Александр Румянцев
Преподаватель курса
Преподаватели
Александр Румянцев
Алексей Цыкунов
Леонид Альбрехт
Database administrator в компании Postgres Professional. Большой опыт руководства отделами администраторов в Wikimart, Rambler и Ru-Center. В отрасли более 15 лет: из них 10 – в highload и более 5 лет на позиции руководителя
Системный архитектор, Oracle DBA, разработчик perl/python, опыт в отрасли - 20 лет
В настоящее время работает на аутсорсе. Работал в интернет-провайдерах и телекоме. Имел опыт внедрения и разработки продуктов в госструктурах, таких как минздрав и соцфонд. Был главным разработчиком стартап проекта Ipstudio AMBS (биллинг для VoIP). Участвовал в проектировании и разработке OLTP систем. Проектировал и развертывал серверные системы в датацентрах.

Закончил Кыргызско-Российский Государственный Университет, 2001, Инженер автоматизированных систем.
Собственный технический блог на - dbadmins.ru
Системный инженер в холдинге компаний RusLink.
Опыт в отрасли более 10 лет. Работал как в частном секторе, так и в окологосударственном (Ростелеком).
Участвовал в разработке и внедрении новых продуктов и сервисов. Есть опыт в руководстве отделом тех. поддержки и администрирования.

Профессиональные навыки:
- знание современных клиентских и серверных ОС;
- установка и настройка различных СУБД (MS SQL, PostgreSQL, MySQL, MariaDB);
- администрирование веб-серверов Apache, Nginx;
- виртуализация и знание продуктов VMware, VirtualBox, Proxmox, Vagrant;
- написание скриптов на Bash;
- применение Ansible;
- знание активного сетевого оборудования Mikrotik, D-Link и др.
Преподаватели
Александр Румянцев
Database administrator в компании Postgres Professional. Большой опыт руководства отделами администраторов в Wikimart, Rambler и Ru-Center. В отрасли более 15 лет: из них 10 – в highload и более 5 лет на позиции руководителя
Алексей Цыкунов
Системный архитектор, Oracle DBA, разработчик perl/python, опыт в отрасли - 20 лет
В настоящее время работает на аутсорсе. Работал в интернет-провайдерах и телекоме. Имел опыт внедрения и разработки продуктов в госструктурах, таких как минздрав и соцфонд. Был главным разработчиком стартап проекта Ipstudio AMBS (биллинг для VoIP). Участвовал в проектировании и разработке OLTP систем. Проектировал и развертывал серверные системы в датацентрах.

Закончил Кыргызско-Российский Государственный Университет, 2001, Инженер автоматизированных систем.
Собственный технический блог на - dbadmins.ru
Леонид Альбрехт
Системный инженер в холдинге компаний RusLink.
Опыт в отрасли более 10 лет. Работал как в частном секторе, так и в окологосударственном (Ростелеком).
Участвовал в разработке и внедрении новых продуктов и сервисов. Есть опыт в руководстве отделом тех. поддержки и администрирования.

Профессиональные навыки:
- знание современных клиентских и серверных ОС;
- установка и настройка различных СУБД (MS SQL, PostgreSQL, MySQL, MariaDB);
- администрирование веб-серверов Apache, Nginx;
- виртуализация и знание продуктов VMware, VirtualBox, Proxmox, Vagrant;
- написание скриптов на Bash;
- применение Ansible;
- знание активного сетевого оборудования Mikrotik, D-Link и др.
Отзывы
4
Pavel
Kozlov
Я имею совсем немного опыта с Linux - работа в течение полугода junior linux administrator в одной аутсорсиноговой компании. И мне очень не хватало глубин, то есть делаешь что-то каждый день, выставляешь какие-то параметры, а почему оно так - не совсем понятно.

Курс Администратор Linux расставляет вcе по полочкам. Он придает уверенности в своих силах. На курсе разбираются теоритические и практические вопросы, которые задают на собеседованиях и, которые потом встречаются на практике. Стоит сказать, что я поменял работу, еще на середине курса.

Довольно детальные лекции по основополагающим принципам и инструментам - это очень круто! Но еще круче, что потом на тебя сваливается домашка, которую нужно сделать не только на основе полученных в лекции знаний, но и поковырять самому много манов, доков и форумов.

В курсе все домашние стенды разорачиваются в Vagrant, так что с этим инструментом за время курса становишься на ты. Кроме того, домашки желательно выкладывать на github в виде кода - Vagrantfile + скрипты и другие файлы проектов. Это позволяет набить руку при работе c git, если раньше такой практики не было. Также, в курсе разбирается такой инструмент администратора как Ansible и, после его изучения в курсе, домашние стенды разворачиваются с помощью Vagrant, настраиваются с помощью Ansible.

Таким образом, я считаю, что, если вы видите свое профессиональное будущее в работе Linux инженера, то этот курс просто must have! Затем стоит обязательно пойти на курс "DevOps практики и инструменты". Эти два курса - основа вашей высокой стоимости на рынке как специалиста.

Успехов в обучении!
Читать целиком
Артем
Моралес
Имею совсем маленький опыт с Linux. На курс шел с целью получения фундаментальных знаний и для быстрого приобритения практических навыков. Честно, по началу думал, что курс ничем не отличается от остальных. Но уже после первой недели мое мнение кардинально изменилось..

Первое - лекции. Они длинные, но совсем не замечаешь, как пролетает время. Преподаватели помимо сухой теории (что так же преподается качественно) разбавляют лекции шутками, анекдотами и практическими советами из своего опыта. Во время лекции возможно получить ответ на любой свой вопрос.

Второе - преподаватели. Без сомнений, профессионалы своего дела. Материал преподается уверенно, плюс, как написал выше, охотно делятся своим опытом.

Третье - домашки. Ждешь, что тебе все разжуют? Тебе не сюда. Все как в реальной жизни: тебе ставится задача, дается дополнительный материал, которые поможет в выполнении и ты обязан разбираться. Что-то не получается всегда можно спросить, но инструкции делай это получишь то нет. И это огромный плюс!

Итого. Курс оставил приятные впечатления. Я все еще джуниор, но в душе ощущаю себя мидлом :)
Читать целиком
Артем
Друзь
Очень разносторонний курс с интересными преподавателями, которые делятся реальным опытом работы с "суровым продакшеном" :)
Читать целиком
Артём
П.
Курс даёт хорошую теоретическую базу подкреплённую домашними заданиями, позволяющими незамедлительно опробовать полученные знания в деле.

Спектр рассматриваемых вопросов достаточно широк: от cборки ядра, до развёртывания отказоустойчивого web-кластера с помощью ansible.

Лекции ведут опытные преподаватели, периодически приглашаются гости-специалисты. Так что можно получить ответы на вопросы у тех, кто имеет богатый опыт эксплуатации нужной технологии/сервиса/приложение в продуктовой среде

Стоит подробно документировать выполненные домашние задания, на выходе получается мини-вики в которую ещё не раз можно будет заглянуть, чтобы освежить в памяти некоторые детали.

Есть возможность посмотреть лекцию в записи, что весьма удобно, особенно если расположены в другом часовом поясе.

Лично мне курс помог избавиться от «портянок» на bash и перейти на ansible.

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

Проект на весь модуль: делаем свою загрузочную флешку readonly, со своим ядром
С чего начинается Linux
Знакомство.

Обзор базовых инструментов, которые понадобятся в течении курса - ssh и его клиенты, vagrant, git.

Какие версии LInux бывают.
Ядро Linux. Краткое введение. Syscalls.
Версии ядра. Обновление ядра. Ручная сборка ядра.
Модули ядра. Команды: modprobe, lsmod, rmmod.

Лабораторная работа. Установка с образа, обновление ядра, включение/выключение модулей.
28 января, 20:00 — 21:30
Домашние задания: 1
1 Делаем собственную сборку ядра
Взять любую версию ядра с kernel.org
Подложить файл конфигурации ядра
Собрать ядро (попутно доставляя необходимые пакеты)
Прислать результирующий файл конфигурации
Прислать списк доустановленных пакетов, взять его можно из /var/log/yum.log
Устанавливать будем на следующем занятии =)
Дисковая подсистема
Программный и аппаратный RAID. Получение информации о дисковой системе системе с помощью dmidecode, dmesg, smartctl.

MBR и GPT. Команды gdisk/fdisk/parted/partprobe. Знакомимся с multipath

Лабораторная работа: управление рейд массивом с помощью mdadm: создание, съем информации. Разбиваем на партиции
31 января, 20:00 — 21:30
Домашние задания: 1
1 работа с mdadm.
добавить в Vagrantfile еще дисков
сломать/починить raid
собрать R0/R5/R10 на выбор
прописать собранный рейд в конф, чтобы рейд собирался при загрузке
создать GPT раздел и 5 партиций

в качестве проверки принимаются - измененный Vagrantfile, скрипт для создания рейда, конф для автосборки рейда при загрузке
* доп. задание - Vagrantfile, который сразу собирает систему с подключенным рейдом
Файловые системы и LVM
LVM - облегчаем себе жизнь управления файловыми системами.
архитектура файловой системы Linux: суперблок, блоки, inodes, журналы.
разбираемся в многообразии файловых систем: ext2/3/4, xfs, raiserfs, btrfs, zfs, cephfs

Лабораторная работа: создаем и меняем размеры томов LVM и файловых систем. Знакомимся с mount, mkfs, fsck, resize2fs, /etc/fstab
4 февраля, 20:00 — 21:30
Домашние задания: 1
1 Работа с LVM
на имеющемся образе
/dev/mapper/VolGroup00-LogVol00 38G 738M 37G 2% /

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

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

* на нашей куче дисков попробовать поставить btrfs/zfs - с кешем, снэпшотами - разметить здесь каталог /opt
Загрузка системы
Как происходит загрузка системы. В чем разница между BIOS/UEFI. Знакомимся GRUB2 и учимся его настраивать. Управляем initrd с помощью dracut. Знакомимся с udev. Учимся восстанавливать сломанный загрузчик

Лабораторная работа: прописываем в grub несколько конфигураций с разными ядрами. Ставим хук в initrd
7 февраля, 20:00 — 21:30
Домашние задания: 1
1 Работа с загрузчиком
1. Попасть в систему без пароля несколькими способами
2. Установить систему с LVM, после чего переименовать VG
3. Добавить модуль в initrd

4(*). Сконфигурировать систему без отдельного раздела с /boot, а только с LVM
Репозиторий с пропатченым grub: https://yum.rumyantsev.com/centos/7/x86_64/
PV необходимо инициализировать с параметром --bootloaderareasize 1m
Bash, awk, sed, grep и другие
Изучаем основные рабочие инструменты системного администратора. Базовое программирование. Переменные, условия, циклы, однострочники.
Знакомимся с командами интерпретатора bash.
Знакомимся с командами awk/sed/grep/egrep/cut/find/sort/uniq и другими

Лабораторная работа: пишем скрипт
11 февраля, 20:00 — 21:30
Домашние задания: 1
1 Пишем скрипт
написать скрипт для крона
который раз в час присылает на заданную почту
- X IP адресов (с наибольшим кол-вом запросов) с указанием кол-ва запросов c момента последнего запуска скрипта
- Y запрашиваемых адресов (с наибольшим кол-вом запросов) с указанием кол-ва запросов c момента последнего запуска скрипта
- все ошибки c момента последнего запуска
- список всех кодов возврата с указанием их кол-ва с момента последнего запуска
в письме должно быть прописан обрабатываемый временной диапазон
должна быть реализована защита от мультизапуска
Инициализация системы. Systemd и SysV.
Учимся писать сценарии автозагрузки демонов. Изучаем разницу между systemd и SysV. учимся обращаться с systemctl и journalctl.

Лабораторная работа: сценарии автозапуска под systemd и Sys.V
14 февраля, 20:00 — 21:30
Домашние задания: 1
1 Systemd
1. Написать сервис, который будет раз в 30 секунд мониторить лог на предмет наличия ключевого слова. Файл и слово должны задаваться в /etc/sysconfig
2. Из epel установить spawn-fcgi и переписать init-скрипт на unit-файл. Имя сервиса должно так же называться.
3. Дополнить юнит-файл apache httpd возможностьб запустить несколько инстансов сервера с разными конфигами
4*. Скачать демо-версию Atlassian Jira и переписать основной скрипт запуска на unit-файл
Пользователи и группы. Авторизация и аутентификация
рассмотрим механизмы авторизации и аутентификации. Узнаем какие бывают права у пользовталей. Научимся управлять правами с помощью sudo, umask. sgid, suid и более сложными инструментами как PAM и ACL, PolicyKit

Лабораторная работа: даем пользователю A возможность запускать скрипт, принадлежащий пользователю B
18 февраля, 20:00 — 21:30
Домашние задания: 1
1 PAM
1. Запретить всем пользователям, кроме группы admin логин в выходные и праздничные дни
2. Дать конкретному пользователю права рута
Управление пакетами. Дистрибьюция софта.
Как устанавливать софт в Linux. Как собирать из исходников. Репозитории, yum и rpm.
Docker как средство дистрибьюции, преимущества и недостатки.

Лабораторная работа: Будем настраивать собственные репозитории и создавать собственные rpm'ки.
21 февраля, 20:00 — 21:30
Домашние задания: 1
1 Размещаем свой RPM в своем репозитории
1) создать свой RPM (можно взять свое приложение, либо собрать к примеру апач с определенными опциями)
2) создать свой репо и разместить там свой RPM
реализовать это все либо в вагранте, либо развернуть у себя через nginx и дать ссылку на репо

* реализовать дополнительно пакет через docker
Управление процессами
Рассмотрим, что такое процесс, его атрибуты, жизненный цикл процесса.
Чем потоки отличаются от процессов.
Узнаем как мониторить процессы, в каком они состоянии, понимать чем они сейчас заняты.
Рассмотрим команды ps/top, подсистему /proc, а также команды gdb/strace/ltrace
Научимся менять приоритеты с мощью команд nice, ionice
Научимся посылать различные сигналы процессам.
25 февраля, 20:00 — 21:30
Домашние задания: 1
1 работаем с процессами
Задания на выбор
1) написать свою реализацию ps ax используя анализ /proc
- Результат ДЗ - рабочий скрипт который можно запустить
2) написать свою реализацию lsof
- Результат ДЗ - рабочий скрипт который можно запустить
3) дописать обработчики сигналов в прилагаемом скрипте, оттестировать, приложить сам скрипт, инструкции по использованию
- Результат ДЗ - рабочий скрипт который можно запустить + инструкция по использованию и лог консоли
4) реализовать 2 конкурирующих процесса по IO. пробовать запустить с разными ionice
- Результат ДЗ - скрипт запускающий 2 процесса с разными ionice, замеряющий время выполнения и лог консоли
5) реализовать 2 конкурирующих процесса по CPU. пробовать запустить с разными nice
- Результат ДЗ - скрипт запускающий 2 процесса с разными nice и замеряющий время выполнения и лог консоли
Управление, безопасность и мониторинг
В этом модуле мы рассмотрим задачи и рабочие инструменты для управления системой, обеспечения безопасности, контроля прав и доступов. Также мы рассмотрим инструменты для мониторинга, логгирования и анализа проблем производительности и сбоев. Будем учится решать проблемы и производить ретроспективный анализ.
Автоматизация администрирования. Ansible.
Автоматизируем рутинные задачи администрирования. Изучаем ansible - хосты, модули, плейбуки, роли, переменные. Знакомися с другими инструментами - chef/puppet/salt.

Лабораторная работа: пишем скрипт для апгрейда системы после установки и измения конфигов.
28 февраля, 20:00 — 21:30
Домашние задания: 1
1 Первые шаги с Ansible
Подготовить стенд на Vagrant как минимум с одним сервером. На этом сервере используя Ansible необходимо развернуть nginx со следующими условиями:
- необходимо использовать модуль yum/apt
- конфигурационные файлы должны быть взяты из шаблона jinja2 с перемененными
- после установки nginx должен быть в режиме enabled в systemd
- должен быть использован notify для старта nginx после установки
- сайт должен слушать на нестандартном порту - 8080, для этого использовать переменные в Ansible
* Сделать все это с использованием Ansible роли

Домашнее задание считается принятым, если:
- предоставлен Vagrantfile и готовый playbook/роль ( инструкция по запуску стенда, если посчитаете необходимым )
- после запуска стенда nginx доступен на порту 8080
- при написании playbook/роли соблюдены перечисленные в задании условия
LDAP. Централизованная авторизация и аутентификация.
Что такое LDAP и зачем нужен. Разбираем базовую настройку LDAP на примере.
4 марта, 20:00 — 21:30
Домашние задания: 1
1 LDAP
1. Установить FreeIPA
2. Написать playbook для конфигурации клиента
3. Всю "сетевую лабораторию" перевести на аутентификацию через LDAP
4*. Настроить авторизацию по ssh-ключам

В git - результирующий playbook
Мониторинг производительности
Мониторим занятые ресурсы: CPU, память, диск, сеть.
Изучаем инструменты ps, top , sar, htop, atop, netstat, ss, vmstat, iostat, iotop, pidstat
Смотрим, что находится в /proc
Узнаем, что делать с неотзывчивой системой
7 марта, 20:00 — 21:30
Домашние задания: 1
1 Linux Troubleshooting
1. Написать playbook для первоначальной настройки хоста после инсталляции по всем прошедшим лекциям
- установка нужных инструментов для анализа и траблшутинга
- избавление ядра и сетевых настроек от "десктопности"
- установка разнообразных параметров ядра под работу в качестве сервера
2. Опубликовать ссылку на плейбук в общем чатике
3. Взять любой опубликованный плейбук, прокомментировать.
SELinux - когда все запрещено.
Разбираемся, что такое SELinux
11 марта, 20:00 — 21:30
Сбор и анализ логов.
Разбираем настройку логгирования с помощью rsyslog и logrotate.
Знакомимся с модными система логгирования - ELK, graylog
14 марта, 20:00 — 21:30
Домашние задания: 1
1 Настраиваем центральный сервер для сбора логов
в вагранте поднимаем 2 машины web и log
на web поднимаем nginx
на log настраиваем центральный лог сервер на любой системе на выбор
- journald
- rsyslog
- elk
настраиваем аудит следящий за изменением конфигов нжинкса

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


* развернуть еще машину elk
и таким образом настроить 2 центральных лог системы elk И какую либо еще
в elk должны уходить только логи нжинкса
во вторую систему все остальное
Мониторинг и алертинг
Изучаем Zabbix. Знакомимся с Prometheus
18 марта, 20:00 — 21:30
Домашние задания: 1
1 Настройка мониторинга
Настроить дашборд с 4-мя графиками
1) память
2) процессор
3) диск
4) сеть

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

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

в качестве результата прислать скриншот экрана - дашборд должен содержать в названии имя приславшего
Резервное копирование.
Обсуждаем политики и методики резерного копирования. Работаем с инструментами rsync, tar, dd и bacula.
21 марта, 20:00 — 21:30
Linux и сеть
Настраиваем и работаем с сетью в Linux. От хоста до маршрутизатора и брандмауэра.
Архитектура сетей.
Обзор Модели OSI. Протоколы ARP, IP, TCP/UDP. Протоколы прикладного уровня. Сетевые интерфейсы в Linux.
Освоим команды ip/tc/ss/nstat, вспомним ifconfig/netstat/route, заглянем в /etc/sysconfig/network-scripts, поснифферим через tcpdump и ngrep

Лабораторная работа: строим маршрутизацию между подсетями
25 марта, 20:00 — 21:30
Домашние задания: 1
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), который вагрант поднимает для связи
- при нехватке сетевых интервейсов добавить по несколько адресов на интерфейс



Сетевые пакеты. VLAN'ы. LACP.
Изучаем UniCast/MultiCast/BroadCast/AnyCast.
Изучаем протокол LACP. Учимся аггрегировать интерфейсы через teaming и bonding.
Разбираемся что такое VLAN. Знакомимся с dot1q, macvlan
Осваиваем работу с nmcli
Лабораторная работа: аггрегируем интерфейсы в режиме active/active и failover
28 марта, 20:00 — 21:30
Домашние задания: 1
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 сеть) и объединить их в бонд актив-актив
проверить работу если выборать интерфейсы в бонде по очереди

для сдачи - вагрант файл с требуемой конфигурацией
идеально если с клиента можно попасть ssh на сервер без пароля
Мосты, туннели и VPN
Разбираемся в терминах и протоколах - что такое мосты, туннели, VPN, PPP, PPTP, PPoE, IPoE, GRE, IPIP, IpSec, L2TP.
Строим VPN между линуксами, разбираем нюансы подключения к Cisco и Mikrotik.
Лабораторная работа: VPN через openvpn
1 апреля, 20:00 — 21:30
Домашние задания: 1
1 VPN
1. Между двумя виртуалками поднять vpn в режимах
- tun
- tap
Прочуствовать разницу.

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

3*. Самостоятельно изучить, поднять ocserv и подключиться с хоста к виртуалке
Статическая и динамическая маршрутизация
настраиваем простые маршруты с помощью route/ip/nmcli
разбираем что такое RIP/OSPF/BGP
настраиваем динамическую маршрутизацию с помощью bird и quagga
Лабораторная работа: настройка OSPF между 3мя сетями
4 апреля, 20:00 — 21:30
Домашние задания: 1
1 OSPF
- Поднять три виртуалки
- Объединить их разными vlan
1. Поднять OSPF между машинами на базе Quagga
2. Изобразить ассиметричный роутинг
3. Сделать один из линков "дорогим", но что бы при этом роутинг был симметричным

Присылаем
- вывод ip a
- конфиги /etc/quagga/*
- вывод tracepath для каждого из трёх случаев
DNS - настройка и обслуживание
Узнаем как завести домен
Как управлять зонами (bind/powerdns)
Как обслуживать свой домен самостоятельно
Разбираем dig/host/nslookup
Динамический DNS - consul
Лабораторная работа: настраиваем свой кеширующий днс (мастер/слейв) со своей локальной зоной
8 апреля, 20:00 — 21:30
Домашние задания: 1
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
ddns тоже должен работать без выключения selinux
Фильтрация трафика
Углубляемся в iptables/firewalld
разбираем цепочки и таблицы
учимся правильно защищать свою сеть
строим NAT, проксируем трафик, пробрасываем порты
Лабораторная работа: защищаем веб сервер от DOS атак
11 апреля, 20:00 — 21:30
Домашние задания: 1
1 Сценарии iptables
1) реализовать knocking port
- centralRouter может попасть на ssh inetrRouter через knock скрипт
пример в материалах
2) добавить inetRouter2, который виден(маршрутизируется) с хоста
3) запустить nginx на centralServer
4) пробросить 80й порт на inetRouter2 8080
5) дефолт в инет оставить через inetRouter
немного DHCP и практическое занятие
настраиваем DHCP сервер
привязываем адреса по MAC
разбираем leases
работа на стенде, ответы на вопросы, разбор различных ситуаций
строим полноценный маршрутизатор для небольшого офиса
15 апреля, 20:00 — 21:30
Сервисы на базе Linux
Мы научимся как запускать настраивать и поддерживать в Linux такие сервисы как WEB, почта, файловые хранилища, базы данных
Web сервера
Изучаем протоколы HTTP/HTTPS, HTTP 2.0
Разбираемся с SSL
Устанавливаем и настраиваем Apache и Nginx
Настраиваем vhosts
18 апреля, 20:00 — 21:30
Динамический веб контент
разбираем CGI/FCGI/WSGI/mod_xxx
настраиваем uwsgi/php_fpm
разбираемся с python/perl/php/ruby
22 апреля, 20:00 — 21:30
Mysql
Учимся администрировать mysql
Устанавливаем, запускаем, мониторим
Создаем схемы, делаем простые запросы
Учимся делать бэкап и репликацию
25 апреля, 20:00 — 21:30
PostgreSQL
Учимся администрировать PostgreSQL
Установка, настройка, создаем пользователей и роли
выдаем права, создаем базы,
мониторим, делаем бэкапы
29 апреля, 20:00 — 21:30
Redis, Memcached, RabbitMQ
Разбираем что это такое и зачем нужны эти сервисы.
Устанавливаем и настраиваем их
Запускаем в работу.
2 мая, 20:00 — 21:30
Почта: SMTP, IMAP, POP3
разбираем почтовые протоколы.
Устанавливаем и настраиваем Postfix и Dovecot
6 мая, 20:00 — 21:30
Почта: безопасность и другие задачи
9 мая, 20:00 — 21:30
Файловые хранилища - NFS, SMB, FTP
Строим файловое хранилище на основе Linux
13 мая, 20:00 — 21:30
Asterisk и FreePBX
Разбираем протоколы SIP, RTP
Строим офисную АТС на базе Asterisk
Основные понятия Asterisk - extensions, trunks, inbound/outbound routes
Обсуждаем как решать типичные проблемы - нет слышимости, NAT, совместимость кодеков
16 мая, 20:00 — 21:30
Проектная работа
Будем учится строить высокодоступные кластера, настраивать балансировщики, динамические адреса, общие хранилища.


В течении модуля делаем курсовой проект. Создаем скрипты деплоя HA кластера на виртуалках. На кластере разворачиваем либо собственный веб проект, либо веб проект коллег с других курсов. Также приветствуются разворачивание любых систем, например: gitlab, wordpress, youtrack, bigbluebutton и других на ваш выбор
строим кластер - Pacemaker, Corosync, Heartbeat
20 мая, 20:00 — 21:30
VRRP и динамический DNS
разбираем методики и настройку для обеспечения HA
c динамического IP и динамического доменного уровня (ConsulDNS)
23 мая, 20:00 — 21:30
Балансировка нагрузки на основе HAproxy
Настраиваем балансировку для вебсерверов и mysql базы
Разбираем конфиги
Проверяем работу балансировки на стенде
27 мая, 20:00 — 21:30
Распределенные файловые системы: GlusterFS и CEPH
30 мая, 20:00 — 21:30
ISCSI, multipath и кластерные файловые системы: GFS2
настраиваем ISCSI
настраиваем multipath

Лабораторная работа: разбираем работу системы на стенде, 2 таргета, 2 клиента, общая файловая система
3 июня, 20:00 — 21:30
Виртуализация - cgroups, LXC
6 июня, 20:00 — 21:30
Виртуализация - KVM, Proxmox
10 июня, 20:00 — 21:30
Итоговое занятие
обсуждение вопросов
обсуждение проекта
13 июня, 20:00 — 21:30
Выпускной проект
На курсе предусмотрено выполнение выпускного проекта. На его подготовку выделен последний месяц обучения.
Готовый проект станет образцом программно-исследовательского комплекса, который можно будет показывать будущим работодателям.



За основу необходимо взять веб проект (можно cms: к примеру, wordpress) и кластеризовать его.



Обязательным является:

- кластеризация и балансировка веба;

- кластеризация и балансировка базы (mysql, postgress - на выбор).



Требования к реализации:

- ansible роли для развертывания (под вагрант, прод);

- vagrant стенд.



Параметры проекта:

- 2 ноды под базу (как минимум);

- 2 ноды под сервер(как минимум);

- настройка файрвалла (милитари-демилитаризованная зона);

- скрипты бэкапа;

- лог сервер.
Расписание занятий
Ваша группа
(cтарт 28 января 2019 года)
Понедельник и четверг
20:00—21:30
Группа: Linux-2019-01
Другие группы
Вторник и пятница
20:00—21:30
Группа: Linux-2018-10
Понедельник и четверг
20:00—21:30
Группа: Linux-2018-07
Подглядеть
ISCSI в Linux
Алексей Цыкунов
Linux: Рабочие показатели системы, инструменты мониторинга и отладки
Александр Румянцев
Виртуальная лаборатория на Vagrant
Леонид Альбрехт
Инженер по серверам и системам хранения данных
Андрей Сандригайло, руководитель группы полевых и сменных инженеров
Механизмы контейнеризации Linux
Александр Румянцев
Больше материалов
Видеоматериалы по теме
День открытых дверей
12 октября в 20:00
День открытых дверей
23 июля в 20:00
День открытых дверей
20 апреля в 20:00
После обучения вы

  • заберете с собой материалы по всем занятиям (презентации, записи вебинаров, примеры практических задач);

  • получите сертификат о прохождении курса;

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

  • получите глубокое представление об архитектуре ОС Linux, работе с памятью, процессами, дисками, файлами;

  • научитесь обеспечивать безопасность систем под управлением Linux и улучшать производительность систем посредством тонкой настройки с учетом требований приложений к платформе;

  • получите приглашение пройти собеседование в компаниях-партнерах (в случае успешного обучения на курсе).

Ваш сертификат
otus.ru
Константин Константинопольский
успешно закончил курс
«Администратор Linux»
Успешных заданий:
16 из 16
Проектная работа:
Распределённая система сетевого мониторинга
Виталий Чибриков
Генеральный директор
№ 0001
otus.ru
Константин Константинопольский
успешно закончил курс
«Администратор Linux»
Успешных заданий:
16 из 16
Проектная работа:
Распределённая система сетевого мониторинга
Виталий Чибриков
Генеральный директор
№ 0001
Общая стоимость
60 000 ₽
В месяц: 15 000 ₽
В рассрочку: около ₽ в месяц
Продолжительность
5 месяцев
Начало занятий
28 января 2019 года