
Labtainers v1.4.4n
Labtainers: фреймворк киберлабораторий на основе Docker
Labtainers: фреймворк киберлабораторий на базе Docker
Labtainers включает более 50 упражнений по кибербезопасности и инструменты для создания собственных. Импортируйте один VM-образ или установите на систему Linux — и ваши студенты избавлены от необходимости заниматься провижинингом и административной настройкой для этих и будущих лабораторных работ.
- Единообразные среды выполнения лабораторий и автоматизированный провижининг через контейнеры Docker
- Многокомпонентные сетевые топологии на ноутбуке скромной производительности
- Автоматизированная оценка активности и прогресса студентов в лабораторных работах
- Индивидуализированные лабораторные упражнения, препятствующие обмену решениями
Labtainers обеспечивают контролируемые и единообразные среды выполнения, в которых студенты выполняют лабораторные работы полностью в пределах своего компьютера, независимо от дистрибутива Linux и установленных на компьютере студента пакетов. Labtainers работают на нашем [VM-образе][vm-appliancee] или на любом Linux с установленным Docker. Кроме того, Labtainers доступны в виде облачных VM, например, в Azure, как описано в Student Guide.
См. Student Guide для установки и использования, и Instructor Guide для оценки студентов. Разработка и настройка лабораторных упражнений описаны в Designer Guide. См. Papers для дополнительной информации о фреймворке. Веб-сайт Labtainers и загрузки (включая VM-образы с предустановленными Labtainers) находятся по адресу https://nps.edu/web/c3o/labtainers.
Distribution created: 09/11/2026 11:33
Revision: v1.4.4n
Commit: 9f1012dc
Branch: master
Содержание
Распространение и использование
Распространение и использование
Информацию о лицензировании и распространении см. в файле docs/license.md.
Руководство по каталогам
-
scripts/labtainers-student -- рабочий каталог для запуска и тестирования студенческих лабораторных работ. Для запуска студенческих лабораторных работ необходимо находиться в этом каталоге.
-
scripts/labtainers-instructor -- рабочий каталог для запуска и тестирования автоматизированной оценки и просмотра результатов студентов.
-
labs -- файлы, специфичные для каждой лабораторной работы
-
setup_scripts -- скрипты для установки Labtainers и Docker и обновления Labtainers
-
docs -- исходники latex для labdesigner.pdf и другая документация.
-
UI -- исходный код редактора лабораторий Labtainers (Java).
-
headless-lite -- скрипты для управления Docker Workstation и облачными экземплярами Labtainers (системами, не имеющими нативных серверов X11).
-
scripts/designer -- инструменты для создания новых лабораторий и управления базовыми образами Docker.
-
config -- общесистемные настройки конфигурации (это не конфигурационные настройки конкретных лабораторий).
-
distrib -- скрипты поддержки распространения, например, для публикации лабораторий в Docker hub.
-
testsets -- процедуры тестирования и ожидаемые результаты. (Драйверы SimLab для отдельных лабораторий не распространяются).
-
pkg-mirrors -- служебные скрипты для внутреннего зеркалирования пакетов NPS, чтобы сократить внешнюю загрузку пакетов во время тестирования и распространения.
Поддержка
Используйте отчёты о проблемах на GitHub или напишите мне на [email protected]
Также см. https://my.nps.edu/web/c3o/support1
Примечания к выпуску
Стандартный дистрибутив Labtainers не включает файлы, необходимые для разработки новых лабораторий. Для них запустите ./update-designer.sh из каталога labtainer/trunk/setup_scripts.
Скрипт установки и скрипт update-designer.sh устанавливают переменные окружения, поэтому перед первым использованием Labtainers вам, возможно, стоит выйти из системы и войти снова или запустить новый bash shell.
6 января 2026
- Исправлена ошибка, внесённая в скрипт установки из-за отступов.
30 декабря 2025
- Формат отчёта checkwork изменён на вертикальный; видеоруководство для headless; удобные пути
15 октября 2025
- Переработана лаборатория packet-introspection для обновления ссылки на базу геолокации maxmind и отмечено использование устаревшей базы данных.
24 апреля 2025
- Исправлен imodule для корректного создания отсутствующих каталогов согласно pull request #96
22 ноября 2024
- Заменена google cloud VM, на этот раз из-за сбоя systemd внутри контейнеров.
23 сентября 2024
- Заменена google cloud VM, в которой использовалась неправильная версия Docker
10 сентября 2024
- Опечатка при создании пути imodule
26 июля 2024
- Изменён capinout, чтобы не использовать clib-функцию grantpt, которая, судя по всему, теперь падает при запуске из контейнера.
22 июля 2024
- Добавлен базовый контейнер для Ubuntu22 и изменения в фреймворке для его поддержки.
5 июля 2024
- Переход на Ubuntu 24 в качестве VM-образа
- Пакет docker pyhton использует сломанную python http-библиотеку, требуется понижение версии пакета.
- Использование виртуального окружения python, чтобы обойти блокировку python-пакетов в Ubuntu.
- Добавлен параметр загрузки, позволяющий совместно использовать systemd между контейнерами и VM.
- Перенаправление сообщений об ошибках от сломанной утилиты tar при обновлениях.
- Поломка обновления Ubuntu для пакетов msc (см. update-ubuntu.sh) для VM версии 18
- Команда docker-compose сломана, используйте "docker compose"
- Принудительная установка прав на сокет в headless labtainers.
- Обновление headless Labtainers для использования Ubuntu 24
27 ноября 2023
- Добавлена опция Google Cloud Platform для ubuntu22 на машине ec2.
18 сентября 2023
- Предыдущая реализация исправления была ошибочной.
8 августа 2023
- Обработка изменения формата json образов DockerHub. Спасибо, Kees!
17 апреля 2023
- Принудительное использование последней версии лаборатории, например, iptables2 вместо iptables. Исправлено автодополнение по Tab, чтобы отображалась только последняя версия. (Issue #77)
- Установка лаборатории CyberCIEGE падала из-за состояния гонки X11. (Issue #76)
- Примечание в readme CyberCIEGE, чтобы направить студентов сохранять собранные логи в каталог $HOME. (Issue #75)
- Проверка работы лаборатории Radius некорректно сообщала "radiusd not running", отсутствовал скрипт prestop. (Issue #74)
- Labedit повреждал файл начальной конфигурации при использовании опции MACVLAN_EXT. (Issue #73)