Files
2026-05-21 09:34:24 +00:00

271 lines
17 KiB
Markdown
Raw Permalink Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
## Уточнённый план курса (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` и раздать студентам. Также добавьте в начале вашего общего плана курса строчку:
> **Итоговый проект:** «Домашний мини-дата-центр» — [скачать задание](./all_practise.md)