Полная программа Administrator Linux. Professional Курс об администрировании систем на базе Linux, который направлен на получение знаний и формирование навыков построения и обслуживания высоконадежных высокодоступных систем Длительность курса: 232 часа Модуль 1. Архитектура Linux Тема 1 С чего начинается Linux Цель занятия познакомиться с программой и группой; узнать, как работает ядро, как программы взаимодействуют с ядром. Краткое содержание вводная ознакомительная лекция; краткая история Unix и Linux; краткий обзор архитектуры x86 в свете операционных систем; многозадачность и её реализация в Linux; системные вызовы и сигналы; версии Linux; сборка ядра. Домашние задания Настройка ПК Цель настроить рабочее место; Тема 2 Vagrant Цель занятия обсудить о том, как сделать тестовый стенд на своем локальном компьютере и какие компоненты для этого понадобится; обсудить разницу между контейнеризацией и виртуализации; рассмотреть системы виртуализации и контейнеризации; обсудить работу с инструментом автоматизации vagrant, его особенностях и принципах работы. Краткое содержание виртуальная машина; описание Vagrant; установка Vagrant; создание и конфигурирование BM. Домашние задания Обновить ядро в базовой системе Цель Получить навыки работы с Git, Vagrant; Обновлять ядро в ОС Linux. Тема 3 Автоматизация администрирования. Ansible-1 Цель занятия автоматизировать рутинные задачи администрирования; изучить ansible - инвентори, модули, плейбуки, роли, переменные; понимать разницу с другими инструментами - chef/puppet/salt. Краткое содержание лабораторная работа: пишем сценарий для установки и настройки ПО. Домашние задания Первые шаги с Ansible Цель Написать первые шаги с Ansible. Тема 4 Автоматизация администрирования. Ansible-2 Цель занятия писать ansible роли; использовать циклы и массивы; использовать ansible-vault. Краткое содержание роли; переменные, циклы, условия; Ansible Vault/Debug. Тема 5 Дисковая подсистема Цель занятия перечислить виды RAID массивов и их отличия; получить информацию о дисковой подсистеме на любом сервере с ОС Linux; собрать программный рейд и восстановить его после сбоя. Краткое содержание задачи дисковой системы; программный и аппаратный RAID. RAID 0/1/5/6/10/60; получение информации о дисковой системе системе с помощью dmidecode, dmesg, smartctl; MBR и GPT. Команды gdisk/fdisk/parted/partprobe. Домашние задания Работа с mdadm Цель научиться использовать утилиту для управления программными RAID-массивами в Linux Тема 6 Файловые системы и LVM - 1 Цель занятия облегчить себе жизнь управления файловыми системами; архитектура файловой системы Linux: суперблок, блоки, inodes, журналы; разобраться в многообразии файловых систем. Краткое содержание LVM: основные понятия, управление и конфигурирование, практические примеры. файловые системы; блок, суперблок; айноды; настройки ядра; журналирование; блок, суперблок; айноды; настройки ядра; журналирование; иерархия. Домашние задания Работа с LVM Цель создавать и работать с логическими томами; Тема 7 Файловые системы и LVM - 2 Цель занятия управлять дисковым пространством с помощью различных инструментов; Краткое содержание LVM Snapshots; LVM Thin Provision; LVM Cache; LVM MIrror; Тема 8 ZFS Цель занятия установить и настроить ZFS; понимать преимущества и недостатки использования для конкретных задач . Краткое содержание плюсы и минусы; установка; RAIDZ; компрессия; дедупликация; ARC / L2ARC; ZIL / SLOG; команды: zpool, zfs. Домашние задания Практические навыки работы с ZFS Цель Научится самостоятельно устанавливать ZFS, настраивать пулы, изучить основные возможности ZFS. Тема 9 NFS, FUSE Цель занятия монтировать файловые системы с помощью FUSE; настраивать и использовать NFS. Краткое содержание NFS - версии, процесс, протокол взаимодействия; параметры сервера; параметры клиента; FUSE - принципы работы; SSHFS - как пример FUSE; NFS-ganesha. Домашние задания Vagrant стенд для NFS Цель Развернуть сервер с NFS и подключить на клиенте сетевую директорию. Тема 10 Управление пакетами. Дистрибьюция софта Цель занятия устанавливать софт в Linux; собирать пакеты (deb и rpm) из исходников; репозитории; работа с dnf, yum, rpm, apt и dpkg. Краткое содержание сборка пакетов (deb и rpm) из исходников; создание собственного репозитория с пакетами rpm; Домашние задания Сборка RPM-пакета и создание репозитория Цель Научиться собирать RPM-пакеты. Создавать собственный RPM-репозиторий. Тема 11 Загрузка системы Цель занятия объяснить как происходит загрузка системы, в чем разница между BIOS/UEFI; настраивать GRUB2; управлять initrd с помощью dracut; работать с udev; восстанавливать сломанный загрузчик. Краткое содержание порядок загрузки системы; GRUB 2; параметры ядра; initrd; dracut. Домашние задания Работа с загрузчиком Цель Научиться попадать в систему без пароля; Устанавливать систему с LVM и переименовывать в VG. Тема 12 Инициализация системы. Systemd Цель занятия понимать различие систем инициализации; использовать основные утилиты systemd; изучить состав и синтаксис systemd unit; Краткое содержание история и SystemV; что такое systemd; компоненты и утилиты; создание systemd unit; Домашние задания Systemd - создание unit-файла Цель Научиться редактировать существующие и создавать новые unitфайлы; Тема 13 Bash Цель занятия писать скрипты на языка bash. Краткое содержание профайл; переменные; логические операции; массивы; условия; циклы; функции. Домашние задания Пишем скрипт Цель Написать скрипт на языке Bash; Тема 14 grep, sed, awk и другие Цель занятия работать с многочисленными консольными утилитами в Linux, такими как grep, find, set, cut, tr, vim и так далее; писать скрипты на awk. Краткое содержание регулярные выражения - grep, egrep команда find скрипты на awk изменения файлов с помощью sed другие вспомогательные утилиты линукс Тема 15 Управление процессами Цель занятия знать, что такое процесс, его атрибуты, жизненный цикл процесса; понимать, чем потоки отличаются от процессов; мониторить процессы, в каком они состоянии, понимать чем они сейчас заняты; использовать команды ps/top, подсистему /proc, а также команды gdb/strace/ltrace; менять приоритеты с мощью команд nice, ionice; посылать различные сигналы процессам. Краткое содержание процесс и его атрибуты; жизнь процессов; процессы и потоки; получение информации о процессе; управление процессом. Домашние задания Работа с процессами Цель Работать с процессами; Тема 16 Работа с памятью Цель занятия разобраться, как работают механизмы управления памятью в Linux; находить какие процессы занимают память; разобраться в статистической информации по памяти. Краткое содержание эволюция адресации памяти; виртуальная память; кэш; грязные страницы; анонимные страницы; overcommit_memory; swappiness; Тема 17 Механизмы изоляции и аккаунтинга Linux (namespaces и cgroups) Цель занятия использовать технологий контейнеризации осознанно; изолировать процессы друг от друга встроенными в дистрибутив средствами; Краткое содержание цели контейнеризации; два механизма, на которых строится вся контейнеризация на базе linux; управление и мониторинг без использования систем управления контейнерами; простейшая система контейнеризации на базе systemd-nspawn. Модуль 2. Управление, безопасность и мониторинг Тема 1 SELinux - когда все запрещено Цель занятия объяснить, что такое системы принудительного контроля доступа; объяснить, как работает система SELinux; работать с системой SELinux. Краткое содержание краткая история создания системы SELinux; основные термины и понятия связанные с системой SELinux; основные приемы работы с политиками SELinux. Домашние задания Практика с SELinux Цель работать с SELinux: диагностировать проблемы и модифицировать политики SELinux для корректной работы приложений, если это требуется; Тема 2 Docker: основы работы с контейнеризацией Цель занятия изучить основные понятия контейнеризации; написать Dockerfile; запустить контейнер; запустить docker-compose; Краткое содержание контейнеризация; виртуализация; docker; docker-compose; Домашние задания Docker Цель Разобраться с основами docker, с образом, эко системой docker в целом; Тема 3 Docker: Volumes and Networks Цель занятия изучить работу docker-registry; рассмотреть возможности управления Docker и Docker-compose; Краткое содержание docker-registry; docker; docker-compose; Тема 4 Мониторинг производительности Цель занятия мониторить занятые ресурсы: CPU, память, диск, сеть; изучить инструменты ps, top , sar, htop, atop, netstat, ss, vmstat, iostat, iotop, pidstat; посмотреть, что находится в /proc; объяснить, что делать с неотзывчивой системой. Краткое содержание методологии и антиметодологии поиска проблемы; инструменты observability; инструменты benchmark; инструменты tuning; Тема 5 Prometheus Цель занятия узнать, из чего состоит экосистема Prometheus; собирать и смотреть метрики Краткое содержание архитектура системы мониторинга prometheus; обзор базовой конфигурации системы; настройка dashboard; Домашние задания Настройка мониторинга Цель научиться настраивать дашборд; Тема 6 Zabbix Цель занятия развернуть "песочницу” с Zabbix; администрировать Zabbiх; настраивать автообнаружение; настраивать уведомления об авариях; Краткое содержание архитектура системы мониторинга Zabbix; обзор базовой конфигурации системы; основные настройки (items, triggers, templates) Discovery и Actions Тема 7 Пользователи и группы. Авторизация и аутентификация Цель занятия рассмотреть механизмы авторизации и аутентификации; объяснить какие бывают права у пользовталей; управлять правами с помощью sudo, umask. sgid, suid и более сложными инструментами как PAM и ACL, PolicyKit. Краткое содержание лабораторная работа: даем пользователю A возможность запускать скрипт, принадлежащий пользователю B. Домашние задания PAM Цель научиться создавать пользователей и добавлять им ограничения; Тема 8 Основы сбора и хранения логов Цель занятия понять зачем нужны логи и как их собирать; освоить принципы логирование с помощью rsyslog; понять возможности logrotate для задач ротации логов; научиться работать с journald и auditd; Краткое содержание особенности и методы сбора и хранения логов; принципы работы rsyslog и logrotate; приемы работы и возможности journald; приемы работы с auditd; Домашние задания Настраиваем центральный сервер для сбора логов Цель научится проектировать централизованный сбор логов; рассмотреть особенности разных платформ для сбора логов. Тема 9 Сбор и анализ логов: ELK Цель занятия установить и настроить стек ELK; понять основные принципы работы компонентов стека. Краткое содержание схема работы стека ELK; установка и настройка базы Elasticsearch; установка и настройка Logstash; базовое описание фильтров и паттернов; приемы работы с интерфейсом Kibana. Тема 10 Резервное копирование Цель занятия использовать политики и методики резерного копирования; работать с инструментами rsync, tar, dd и bacula. Краткое содержание введение и базовые понятия; создание резервных копий; Bacula; Borg; Домашние задания Настраиваем бэкапы Цель Настроить бэкапы. Модуль 3. Linux и сеть Тема 1 Архитектура сетей Цель занятия понимать как строятся сети передачи данных; ориентироваться в сетевых протоколах; осуществлять базовую настройку сети; Краткое содержание обзор Модели OSI; инкапсуляция; ARP; IP; TCP; UDP; протоколы ARP, IP, TCP/UDP; протоколы прикладного уровня; сетевые интерфейсы в Linux. Домашние задания Разворачиваем сетевую лабораторию Цель Научиться менять базовые сетевые настройки в Linux-based системах; Тема 2 DHCP, PXE Цель занятия понимать принцип работы спецификации PXE; знать, какую роль в ней играют протоколы dhcp, tftp; рассмотреть, как происходит загрузка в ОС по сети и как это используется для сетевой установки; Краткое содержание вспомним как происходит загрузка в ОС и в чём специка загрузки в ОС по сети; спецификация PXE; протокол DHCP; настройка dhcp-сервера; протокол tftp; загрузчик pxelinux; загрузка по сети; установка ОС через PXE; Домашние задания Настройка PXE сервера для автоматической установки Цель Отработать навыки установки и настройки DHCP, TFTP, PXE загрузчика и автоматической загрузки Тема 3 Фильтрация трафика - iptables Цель занятия понимать путь прохождения пакетов; настраивать базовые правила фильтрации; настраивать наборы правил через ipset; Краткое содержание подсистема netfilter; цепочки и таблицы; синтаксис iptables; использование IPset Домашние задания Сценарии iptables Цель Написать сценарии iptables. Тема 4 Фильтрация трафика - firewalld Цель занятия работата с утилитой и сервисом firewalld; настраивать шлюз средствами iptables; Краткое содержание архитектура firewalld; настройка через firewalld-cmd; настройка пересыки пакетов; настройка шлюза в iptables; Тема 5 Фильтрация трафика - nftables Цель занятия изучить настройку сетевого фильтра nftables; научиться использовать утилиту nft и сохранять правила; Краткое содержание сравнение iptables и nftables; настройка базового сетевого фильтра с помощью nftables; новые возможности фильтрации и управления трафиком. Тема 6 Статическая и динамическая маршрутизация, OSPF Цель занятия понять принцип работы multicast; описать назначение loopback-интерфейса; понять основные принципы работы протокола OSPF; настроить динамическую маршрутизацию с помощью программных маршрутизаторов Quagga, FRR и BIRD. Краткое содержание Aggregate и specific сети; куда ведет blackhole; принципы маршрутизации с помощью loopback; что такое multicast; отличия статической и динамической маршрутизации; как работает OSPF. Домашние задания OSPF Цель Создать домашнюю сетевую лабораторию; Научится настраивать протокол OSPF в Linux-based системах. Тема 7 BGP Цель занятия познакомимся с протоколом динамической маршрутизации BGP. Краткое содержание назначение протокола BGP; автономные системы и как они используются для маршрутизации; основные приемы управления трафиком с помощью BGP; основные моменты настройки BGP на примере программных маршрутизаторов BIRD и FRR. Тема 8 Мосты, туннели и VPN Цель занятия описать разницу между мостами и туннелями; настраивать мосты и туннели между сетями; разобраться в различных типах реализаций мостов и туннелей. Краткое содержание Bridge; IPsec; PPTP; openVPN; TUN/TAP; WireGuard. Домашние задания VPN Цель Создать домашнюю сетевую лабораторию. Научится настраивать VPN-сервер в Linux-based системах. Тема 9 DNS - настройка и обслуживание Цель занятия узнать как завести домен; управлять зонами (bind/powerdns); обслуживать свой домен самостоятельно; разобрать dig/host/nslookup. Краткое содержание DNS; терминология; типы серверов; типы записей; зона; PTR; репликация; SplitDNS. практическая работа: настраиваем свой кеширующий днс (мастер/ слейв) со своей локальной зоной. Домашние задания Настраиваем split-dns Цель Создать домашнюю сетевую лабораторию; Изучить основы DNS; Научиться работать с технологией Split-DNS в Linux-based системах. Тема 10 Сетевые пакеты. VLAN'ы. LACP Цель занятия изучить UniCast/MultiCast/BroadCast/AnyCast; изучить протокол LACP; аггрегировать интерфейсы через teaming и bonding; VLAN; познакомиться с dot1q, macvlan; освоить работу с nmcli; Краткое содержание агрегируем интерфейсы в режиме active/active и failover. Домашние задания Строим бонды и вланы Цель Научиться настраивать VLAN и LACP; Тема 11 LDAP. Централизованная авторизация и аутентификация Цель занятия объяснить, что такое LDAP и зачем нужен; разобрать базовую настройку LDAP на примере. Краткое содержание AAA; NSS; LDAP; централизация управления доступом. Домашние задания LDAP Цель Научиться настраивать LDAP-сервер и подключать к нему LDAPклиентов; Тема 12 IPv6 Цель занятия объяснить как работает протокол Ipv6; знать правила формирования адреса; отличать типы адресов; знать особенности работы и преимущества использования; настраивать маршрутизацию и файрвалл; Краткое содержание адресация IPv6; динамическое выделение адресов SLAAC и DHCPv6; протокол NDP; утилиты управления адресами. Модуль 4. Сервисы Linux Тема 1 Web: протоколы Цель занятия разобрать работу протоколов HTTP/HTTPS, HTTP 2.0,3.0. Краткое содержание HTTP HTTPS Let`s Encrypt + Certbot. Тема 2 Nginx Цель занятия настраивать upstream, proxy_pass; настраивать кэш. Краткое содержание директивы и контексты; базовый конфиг и Include; порядок обработки запроса listen; server_name; location; proxy_pass, fcgi, uwsgi; return, rewrite, try_les; сжатие трафика; кэширование трафика; njs-модуль. Тема 3 Динамический веб Цель занятия разбираться в CGI/FCGI/WSGI/mod_xxx; настраивать uwsgi/php_fpm; понимать Ajax/Long Pooling/Websockets. Краткое содержание взаимодействие между клиентом и сервером по unix/tcp сокету; история развития динамических интерфейсов; CGI/FCGI/WSGI/; сравниваем на практике работу prefork_mpm/event_mpm; настройки php_fpm; настройки uwsgi; логику работы Ajax/LongPooling/Websockets. Домашние задания Развертывание веб приложения Цель Получить практические навыки в настройке инфраструктуры с помощью манифестов и конфигураций; Отточить навыки использования ansible/vagrant/docker; Тема 4 MySQL Цель занятия устанавливать, настраивать, тестировать mysql; понимать, на что влияют различные настройки; понимать, как работает СУБД; понимать какие файлы и их назначение используются mysql; настраивать базовую репликацию. Краткое содержание установка mysql; пароли и пользователи; создание схемы, таблицы; тестирование производительности через sysbench; архитектура mysql; параметры настройки; кодировки; репликация. Тема 5 MySQL: Backup + Репликация Цель занятия снимать резервные копии; восстанавливать базу после сбоя; настраивать master-slave репликацию. Краткое содержание задачи резервного копирования; уровни резервного копирования; вопросы для планирования РК; конфигурация; репликация; backup; Домашние задания Репликация mysql Цель Поработать с реаликацией MySQL. Тема 6 PostgreSQL Цель занятия установить и настроить СУБД PostgreSQL; Краткое содержание знакомство с архитектурой; установка PostgreSQL; инициализация базы данных, создание пользователей и ролей; разбор параметров конфигурационных файлов и настройка СУБД; Тема 7 Postgres: Backup + Репликация Цель занятия создавать резервные копий; настраивать репликации; Краткое содержание создание резервных копий с помощью Barman; настройка потоковой репликации Master-Slave; Домашние задания Репликация postgres Цель Научиться настраивать репликацию и создавать резервные копии в СУБД PostgreSQL; Тема 8 Почта: SMTP, IMAP, POP3 Цель занятия разбирать почтовые протоколы; устанавливать и настраивать Postfix и Dovecot; оценить настройки безопасности. Краткое содержание протокол SMTP; DKIM, DMARC, SPF. Модуль 5. Проектная работа Тема 1 Выбор темы и организация проектной работы Цель занятия выбрать и обсудить тему проектной работы; спланировать работу над проектом; ознакомиться с регламентом работы над проектом. Краткое содержание правила работы над проектом и специфика проведения итоговой защиты; требования к результату проекта и итоговой документации. Домашние задания Проект Цель Закрепить и продемонстрировать полученные знания и навыки; Создать веб-проект; Подготовить портфолио для работодателя; Тема 2 Защита проектных работ Цель занятия защитить проект и получить рекомендации экспертов. Краткое содержание презентация проектов перед комиссией; вопросы и комментарии по проектам. Тема 3 Подведение итогов курса Цель занятия узнать, как получить сертификат об окончании курса, как взаимодействовать после окончания курса с OTUS и преподавателями, какие вакансии и позиции есть для выпускников (опционально - в России и за рубежом) и на какие компании стоит обратить внимание. Краткое содержание организационные вопросы; рынок вакансий по направлению; статистика курса и вопросы по курсу.