Files
comp_seti/plan.md
T
2026-05-21 09:34:24 +00:00

17 KiB
Raw Blame History

Уточнённый план курса (288 ак. часов)

Общий принцип:

  • 30% теории (лекции, демонстрации) — 86 ч
  • 70% практики (лабораторные, самостоятельная работа, мини-проекты) — 202 ч

Ак. час = 45 минут. На каждом занятии рекомендуется 10 мин перерыва после 45 мин.


Модуль 0. Вводный (4 ч)

Тема Теория Практика
Техника безопасности, организация рабочего места 1 ч
Настройка VirtualBox, VS Code, Git, SSH-клиента (PuTTY/WSL) 0.5 ч 1 ч
Установка Oh My Zsh, настройка терминала, IP-сканера (Angry IP) 1 ч
Знакомство с программой курса, критериями оценки 0.5 ч

Лабораторная: Создать первую виртуальную машину с Ubuntu Server, настроить SSH-доступ с хоста.


Модуль 1. Железо и BIOS/UEFI (24 ч)

Тема Теория Практика
Архитектура ПК (CPU, RAM, чипсеты, шины) 2 ч
Накопители: HDD, SSD (SATA/NVMe), интерфейсы 1 ч 1 ч (выбор диска)
RAID (0,1,5,10) программный и аппаратный 2 ч 2 ч (настройка в BIOS/ MegaRAID)
Сетевое железо: NIC, коммутатор, кабели (обжим, T568A/B) 1 ч 3 ч (обжим, тестирование)
BIOS/UEFI: настройка загрузки, Secure Boot, сброс пароля 1 ч 2 ч (в живом ПК или ВМ)
Практическая сборка и диагностика 6 ч (сборка ПК из деталей, запуск)
Самостоятельная работа (домашнее задание) 3 ч (подготовка отчёта)

Итоговая лаба: Собрать ПК из комплектующих, настроить RAID-1 в BIOS, установить ОС.


Модуль 2. ОС Windows и Linux (40 ч)

Тема Теория Практика
Установка Windows (11 / Server 2022) 1 ч 2 ч
Установка Linux (Debian/Ubuntu/Rocky) 1 ч 2 ч
Управление дисками: MBR/GPT, fdisk, DiskPart 2 ч 2 ч
Файловые системы, монтирование 1 ч 2 ч
Пользователи, группы, права (NTFS ACL vs chmod/ACL) 2 ч 4 ч
Командная строка: PowerShell (основы) и Bash 2 ч 6 ч
Планировщики: cron, Task Scheduler 1 ч 2 ч
Практика: развернуть доменную сеть из двух ВМ 6 ч
Самостоятельная работа (скрипты, отчёт) 4 ч

Итоговая лаба: Две ВМ (Win + Linux) в одной подсети, общий каталог через Samba, автоматический бэкап через задание cron/Task Scheduler.


Модуль 3. Основы компьютерных сетей (48 ч) — ваш конёк

Тема Теория Практика
Модели OSI и TCP/IP, инкапсуляция 2 ч
IPv4: адресация, маски, CIDR, деление на подсети 4 ч 4 ч (расчёты в уме)
IPv6: адреса, типы, SLAAC 2 ч 2 ч
Протоколы: ARP, ICMP (ping, traceroute) 1 ч 2 ч
DNS: типы записей, работа резолвера 2 ч 2 ч (dig, nslookup)
DHCP: аренда, опции, relay 1 ч 2 ч
TCP/UDP: порты, соединение (SYN/ACK), Wireshark 2 ч 4 ч
Статическая маршрутизация, таблицы 2 ч 4 ч
Практика: VyOS/OpenWRT как роутер 6 ч
Самостоятельная работа 6 ч

Итоговая лаба: Три ВМ (клиент, роутер, сервер) с двумя подсетями. Настроить NAT, статические маршруты, проверить трафик Wireshark.


Модуль 4. Сетевые службы и сервисы (40 ч)

Тема Теория Практика
DNS-сервер (bind9/dnsmasq): зоны, форвардер 2 ч 4 ч
DHCP-сервер (isc-dhcp-server) 1 ч 3 ч
Веб-сервер Nginx: location, server blocks 2 ч 6 ч
Reverse proxy на Nginx 1 ч 3 ч
Файловые серверы: Samba, NFS 1 ч 4 ч
LEMP (Linux, Nginx, MySQL, PHP) 1 ч 6 ч
Самостоятельная работа 6 ч

Итоговая лаба: Поднять LEMP с двумя виртуальными хостами (site1, site2). Настроить reverse proxy для site2 через site1.


Модуль 5. Резервное копирование и Acronis (28 ч)

Тема Теория Практика
Стратегии бэкапа (полный, дифф., инкр.), правило 3-2-1 2 ч
Acronis True Image / Cyber Protect: установка, флешка 1 ч 2 ч
Создание образа диска, файловый бэкап 1 ч 3 ч
Universal Restore (восстановление на другое железо) 1 ч 3 ч
PXE-загрузка, централизованное управление (опционально) 1 ч 2 ч
Альтернативы: Clonezilla, Veeam, dd 1 ч 3 ч
Практика: восстановление Windows из бэкапа на виртуалку 4 ч
Самостоятельная работа (свой сценарий бэкапа) 4 ч

Итоговая лаба: Снять образ работающей системы, «убить» загрузчик, восстановить за 10 минут с Acronis загрузочной флешки.


Модуль 6. Контейнеризация (Docker) (40 ч)

Тема Теория Практика
Контейнеризация vs виртуализация 1 ч
Установка Docker в Linux, Docker Desktop (Win) 0.5 ч 1.5 ч
Образы и слои, Dockerfile (FROM, RUN, COPY, CMD) 2 ч 6 ч
Управление контейнерами: run, exec, logs, volume 1 ч 4 ч
Сети в Docker: bridge, host, macvlan 1 ч 3 ч
Docker Compose: синтаксис, сервисы, depends_on 2 ч 6 ч
Практика: свой сайт в контейнере 6 ч
Самостоятельная работа (docker-compose для LEMP) 6 ч

Итоговая лаба: Упаковать веб-приложение (HTML+PHP+MySQL) в compose-проект с Nginx, PHP-FPM, MariaDB, Redis.


Модуль 7. Автоматизация и скрипты (32 ч)

Тема Теория Практика
Bash: переменные, циклы, условия, функции 2 ч 6 ч
Обработка текста: awk, sed, grep 1 ч 3 ч
PowerShell: работа с WMI/CIM, Invoke-Command 2 ч 4 ч
Планировщики, триггеры 0.5 ч 1.5 ч
Введение в Ansible: inventory, playbooks, модули 2 ч 4 ч
Практика: скрипт бэкапа Nginx + ротация 3 ч
Самостоятельная работа (Ansible playbook для Docker) 3 ч

Итоговая лаба: Написать Bash-скрипт, который архивирует все конфиги Nginx, базы данных, загружает на FTP, старые копии удаляет. Или Ansible playbook для развёртывания Docker-хоста с Nginx.


Модуль 8. Безопасность и мониторинг (20 ч)

Тема Теория Практика
Фаерволы: iptables, UFW, Windows Defender 1 ч 3 ч
Сетевые атаки (ARP-spoofing, DDoS, brute force) 1 ч 1 ч (демо)
SSH: ключи, настройка, туннели, запрет root 1 ч 2 ч
Мониторинг: Zabbix (агент, триггеры) или Netdata 1 ч 4 ч
Практика: порт-кнакинг на SSH 2 ч
Самостоятельная работа (алерт на падение Docker) 3 ч

Итоговая лаба: Настроить UFW, разрешить только SSH и 443. Настроить Zabbix, который присылает Telegram-уведомление, если контейнер Nginx перестал отвечать.


Практический проект: «Домашний мини-дата-центр»

Итоговая работа по курсу «Системный и сетевой администратор»

Цель: Создать домашний сервер, на котором работают:

  • Веб-сервер с reverse-proxy (Nginx Proxy Manager)
  • Личное облако (Nextcloud)
  • Собственное веб-приложение с вызовом внешнего API
  • Локальная LLM (Ollama)
  • Система мониторинга (Zabbix/Netdata)
  • Автоматический бэкап (Acronis или скриптами)

Всё это должно быть доступно из интернета по вашему домену, с SSL, а сеть — задокументирована.


Что проверяет проект (соответствие модулям курса)

Модуль Что оценивается в проекте
М0 Организация рабочего места, использование виртуализации, SSH
М1 Сборка ПК, обжим кабеля, настройка RAID (опционально)
М2 Установка Proxmox (Debian), базовые команды Linux
М3 Статическая IP-адресация, маршрутизация, проброс портов на роутере
М4 Nginx как reverse-proxy, Nextcloud, DNS-записи (A, CNAME)
М5 Бэкап всех важных данных (Acronis или скриптом+ротация)
М6 Docker + Docker Compose для всех сервисов (кроме Proxmox)
М7 Скрипт автоматического бэкапа и/или Ansible-плейбук для развёртывания
М8 Настройка UFW/iptables, SSH-ключи, мониторинг (алерт)
М9 Презентация, документация, ответы на вопросы

Требования к проекту (минимальные)

  1. Аппаратная часть

    • Собрать (или использовать готовый) серверный ПК.
    • Проложить кабель от роутера до сервера (обжать коннекторы).
    • Организовать кабель-каналы и подписать кабели.
  2. Программная инфраструктура

    • Установить Proxmox VE.
    • Создать минимум 3 LXC-контейнера:
      • docker-host — для Docker-сервисов.
      • nextcloud — отдельный (можно на том же Docker).
      • monitoring — для Zabbix или Netdata.
    • Настроить статические IP для каждого контейнера.
  3. Сетевые сервисы

    • Пробросить на роутере порты 80, 443 на IP контейнера с Nginx Proxy Manager.
    • Зарегистрировать домен (бесплатный или платный) и привязать к вашему статическому IP.
    • Настроить NPM для доменов:
      • cloud.вашдомен → Nextcloud
      • app.вашдомен → ваше приложение на Flask/Node
      • ai.вашдомен → веб-интерфейс Ollama (например, Open WebUI)
  4. Приложения

    • Nextcloud (файловое облако).
    • Своё веб-приложение (Flask или Node.js), которое обращается к любому публичному API (погода, курс валют, случайный кот) и выводит результат на страницу.
    • Ollama с лёгкой моделью (llama3.2:1b или ruGPT-3.5) и простой HTML-чатик, работающий через API Ollama.
  5. Бэкап

    • Настроить автоматический бэкап всех данных Nextcloud и конфигов Nginx на внешний диск или второй HDD.
    • Использовать либо Acronis (образ системы), либо Bash-скрипт с tar и ротацией (7 дней).
    • Периодичность — раз в сутки.
  6. Мониторинг и безопасность

    • Настроить Zabbix-агент на контейнере с Nginx.
    • Создать триггер: если Nginx не отвечает (HTTP 200), отправлять уведомление в Telegram.
    • Настроить SSH-доступ только по ключам, запретить root-логин.
    • Включить UFW, разрешить только нужные порты (22, 80, 443, 8006 для Proxmox — но доступ только с локальной сети).
  7. Документация

    • Схема сети (IP, порты, маршруты).
    • Инструкция по запуску всех compose-проектов (docker-compose up -d).
    • Логины и пароли (зашифрованно, например в Bitwarden).
    • Скриншоты работающих сервисов из интернета.

Критерии оценки (максимум 100 баллов)

Критерий Баллы
Аппаратная часть (сборка, обжим, кабель-каналы) 10
Proxmox и LXC (правильная установка, настройка сетей) 10
Reverse-proxy (NPM) и домен с SSL 15
Nextcloud доступен из интернета 10
Собственное веб-приложение с API 15
Локальная LLM (Ollama + простой интерфейс) 10
Автоматический бэкап (работоспособность, ротация) 10
Мониторинг (Zabbix + Telegram-алерт) 10
Безопасность (UFW, SSH-ключи) 5
Документация (чёткая, полная) 5
Защита проекта (ответы на вопросы, презентация) +10 (бонус)

Проходной балл: 70.


Дополнительные идеи для сильных студентов (повышенная сложность)

  • Подключить GPU (NVIDIA) к Ollama и запустить модель 7B.
  • Настроить WireGuard VPN для доступа к серверу вместо проброса RDP.
  • Добавить Prometheus + Grafana для красивых дашбордов.
  • Автоматизировать развёртывание всего проекта с помощью Ansible (один плейбук).
  • Настроить геоблокировку в Nginx Proxy Manager (пропускать только из РФ).

Ссылка на файл проекта

Вы можете сохранить приведённый выше текст как course_project.md и раздать студентам. Также добавьте в начале вашего общего плана курса строчку:

Итоговый проект: «Домашний мини-дата-центр» — скачать задание