Хотел бы начать о краткой справке, хто я такой? Я являюсь "начинающим преподавателем" в колледже, который я сам закончил и за недолгий опыт работы в учебном заведении, я успел провести немного экспериментов, о главном, можно сказать успешном, я поведаю дальше. С сентября по декабрь я вел курс по кибербезопасности у 4-го курса.

Данная статья посвящена решению проблемы организации практических работ в колледже.

Начало проблем при организации практических работ

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

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

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

Вторая проблема больше субъективная, но имеет место быть, это ситуация, при которой нужен определенный образ операционной системы, например: сборка, версия и т.д. В данной ситуации приходилось находить и скачивать образ с Интернета, что естественно еще сильней увеличивало время установки образа.

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

Четвертая проблема, заключается в настройке ОС. Поскольку образы “Чистые”, их еще предстоит настроить, например при установке какого-либо сервера, на него необходимо установить нужное программное обеспечение и различные компоненты, соответственно это еще отнимает время занятия, поскольку, надо дать студентам возможность разобраться в системе или программном продукте, который они изучают, а не заниматься бесконечной установкой и настройкой ОС из раза в раз.

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

Принятые меры решения

На стадии подготовки практических занятий, связанных с различными операционными системами, было ясно, что если не решить вышеописанные проблемы, то выход из ситуации получается следующим:

  1. Урезания практической части, следствие которого приводит к непрофессионализму обучающихся.

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

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

Супер решение

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

Поскольку места для экспериментальной лаборатории не было, то я принял решение, развернуть его дома.

В первую очередь мне понадобился статический IP-адрес, он приобретается у провайдера, за небольшую плату.

Далее необходимо было решить, на каких мощностях запустить виртуальные машины, вот характеристики моего временного сервера:

  1. Число ядер – 6

  2. Число потоков – 12

  3. Объем ОЗУ – 16 ГБ

  4. Объем ПЗУ – 3 ТБ (1 ТБ SSD) 

Теперь можно приступить к реализации лаборатории.

Важным аспектом является создание внутренней локальной сети на уровне виртуальных машин, тем более это дополнительная мера безопасности от “любопытных” студентов и иных причин. В качестве виртуального межсетевого экрана, было выбрано программное решение IpFire, поскольку он включает в себя множество функций и такие необходимые как DHCP-сервер и функцию “Port-forwarding” (перенаправление портов).

Основным плюсом данной идеи, является удобство при подготовке виртуальной лаборатории, требуется установить только одну машину, настроить ее для полноценной работы и клонировать под количество студентов. Важный момент при клонировании виртуальных машин, это использование места на SSD накопителе, в моем случает это m.2 накопитель, при его использовании, копирование машины происходит примерно за 30 секунд и произведя данную манипуляцию несколько раз, мы получаем готовую виртуальную лабораторию всего за пару минут. При использовании HDD накопителя, время увеличивается раза в 2-3, но если необходимо срочно создать виртуальную машину, то лучше воспользоваться местом на SSD.

Еще немаловажный момент при настройке виртуальных машин, это настройка удаленного доступа. Поскольку компьютеры учебного заведения оборудованы ОС “Windows”, приходится использовать протокол удаленного рабочего стола (RDP) и соответственно устанавливать его на ОС под управлением “Linux”, также для работ было использовано и подключение с помощью “SSH”.

Основные плюсы

Используя данную схему, получилось уменьшить время подготовки стенда от 20 до 40 минут занятия и поставить перед студентами более серьезные цели, чтобы они полноценно погрузились в выполнение заданной работы.

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

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

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

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

Теперь о минусах.

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

Еще один минус, опять связан с малыми мощностями, зачастую на каждую машину выделялось по 1 ГБ оперативной памяти, что соответственно было ниже минимальных требований, иногда на этой почве случались кратковременные сбои.

Технические вопросы при реализации

В начале настраивается физический маршрутизатор. В нем создаются правила перенаправления портов. В моем случае диапазон портов с 3330 по 3350 будут перенаправляться на виртуальный межсетевой экран IpFire.

Далее похожие правила создаются и на IpFire, пример правила представлен на изображении ниже. Надо точно указать порт, к которому будет обращаться студент и переадресовывать его на порт удаленного доступа конечной виртуальной машины, а именно 3389. Хочется отметить, что при работе, необходимо включить технологию NAT на виртуальном МЭ.

Теперь надо настроить вашу виртуальную машину, на которой будет работать студент. Поскольку разновидностей операционных систем на основе Linux велико, необходимо самостоятельно узнать, как настроить протокол удаленного доступа под конкретные дистрибутивы. При работе в Windows, надо изначально узнать какие версии поддерживают функцию удаленного рабочего стола. Например: Профессиональная и Корпоративная.

Заключение

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

P.S. Это моя первая статья, есть еще чему учиться (если статья наберет 1 лайк, напишу вторую часть, как я это реализовал) ????

Комментарии (18)


  1. ALito
    14.01.2024 09:42

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

    Буду ждать продолжения.


    1. alicab Автор
      14.01.2024 09:42

      В скором времени сделаю)


  1. rukhi7
    14.01.2024 09:42

    Вы наверно что-то пропустили в самом начале! Такое ощущение что чего то не хватает в описании проблемы.

    Возникают какие-то простейшие вопросы по ходу чтения, на которые не видно ответа, например:

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

    Первая проблема, которая является очень серьезной, это момент, при котором студенты единовременно пытаются скопировать образ с сетевого хранилища,

    У вас что, для каждого нового студента новый компьютер покупают? Или как это возможно?

    Уже однажды скопированный образ нельзя на диске оставить, чтобы его еще раз не копировать?

    Дополнение1:

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

    Вторая проблема больше субъективная, но имеет место быть, это ситуация, при которой нужен определенный образ операционной системы, например: сборка, версия и т.д. В данной ситуации приходилось находить и скачивать образ с Интернета

    вы на каждом занятии со случайным образом системы работаете? это какая-то супер современная методика обучения с элементами случайности?

    Дополнение2: с этим тоже стало как-то понятно теперь.


    1. alicab Автор
      14.01.2024 09:42
      +1

      Наверное я с Вами согласен, на некоторые проблемы стоило пролить больше света. Мне показалось что если каждый вопрос подробно описать, то статья станет как учебник, в следующий раз придумаю как это решить.

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


      К вопросу о образах ОС - для определенных работ. Например где надо было найти и устранить уязвимости приходилось находить старенькие образы, которых не было.


      1. rukhi7
        14.01.2024 09:42

        Например где надо было найти и устранить уязвимости приходилось находить старенькие образы, которых не было.

        Вот тут интересно как вы эти уязвимости и потом образы ищете-находите, откуда про них узнаете. И как вы их в процессе обучения используете, про старые то тогда забыть придется, нельзя же курс раздувать бесконечно?

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


        1. alicab Автор
          14.01.2024 09:42

          Если быть честным, то пентест для себя отрыл недавно поэтому информацию находил в открытых источниках. После ознакомления с соответствующими НПА, вместе со студентами "проникали" на целевой сервер и чуть-чуть шалили на нем (роняли, папки всякие удаляли). Потом закрывали уязвимости составляли отчет.


  1. rukhi7
    14.01.2024 09:42

    ИМХО: мне кажется тема больше к аминистрированию какому-то относится, а не к учебному процессу, мне кажется такими вопросами не преподователь должен заниматься, а администраторы, а то получится что каждый преподаватель чего-то связанного с компьютерами будет решать одну и ту же задачу, у кого как получится.


    1. ALito
      14.01.2024 09:42

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


      1. rukhi7
        14.01.2024 09:42

        У них даже нет железа (простенького

        Да это понятно, я про то что это больше про развертывание инфраструктуры, а не про процесс обучения.


      1. alicab Автор
        14.01.2024 09:42

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


    1. alicab Автор
      14.01.2024 09:42
      +1

      Согласен, мне кажется это связанно с тем, что они не в таком объеме работают со студентами, поэтому проблемы они не видели, возможно что-то поменяется в более широком масштабе)


  1. Dennnny
    14.01.2024 09:42

    А почему не «Kasm Workspaces»?


    1. alicab Автор
      14.01.2024 09:42

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


  1. Paralon12
    14.01.2024 09:42

    Всегда восхищался увлечёнными преподавателями. Именно такие и зажигают в молодёжи интерес к профессии. Успехов Вам!

    Был на хабре много лет назад "человек в оранжевой футболке", который раздавал б/у сервера под проекты нуждающимся хабро-жителяем. Потом году в 2016-2018 были поставщики б/у серверов из Питера, которые официально безвозмездно отправляли б/у сервера учебным заведениям (в моём городе мы так в 2 школы и один садик пристроили сервера). Возможно среди читателей найдутся доброжелатели-спонсоры, поддержат Ваш энтузиазм в части подготовки ИТ-кадров, свяжутся с Вами и предложат пусть не новый, но производительный сервер для Ваших инициатив.


    1. alicab Автор
      14.01.2024 09:42

      Спасибо большое за приятные слова, очень приятно! Мы уже начали обсуждение с руководством по этому вопросу, очень надеюсь что бюрократический процесс не займет много времени и нам выделят хороший сервер)


      1. rukhi7
        14.01.2024 09:42

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


  1. checkpoint
    14.01.2024 09:42

    Совсем не рассмотрены варианты:

    1. Удаленной загрузки.

    2. Использования рабочих машин учащихся в качестве X-терминалов.

    3. Комбинация 1 и 2.

    В конце 90-х будучи аспирантом я преподавал в вузе и передо мной стояла аналогичная проблема - организивать лабораторию для обучения студентов курсами сетевого и системного программирования. Тогда я решил проблему удаленной загрузкой небольшого образа с X-сервером на старые ПК (с 286, 385 и 486 процессорами) и подключния их к достаточно мощной хост машине. На хост машине присутствовали все используемые в образовательном процессе приложения (в основном - комплияторы) а также все данные студентов. Студен мог подключаться с любого X-терминала под своим аккаунтом и иметь своё окружение. Некоторые даже пытались подключаться удаленно. Когда я покинул вуз все это дело разобрали и наставили новых компов с виндой, притащив кучу проблем.


  1. tbp2k5
    14.01.2024 09:42

    Важный момент при клонировании виртуальных машин, это использование места на SSD накопителе, в моем случает это m.2 накопитель, при его использовании, копирование машины происходит примерно за 30 секунд

    Судя по времени - вы копируете образ системы - это не обязательно. Много VM могут ссылаться на один и тот-же образ, просто сделайте его readonly и добавте в каждую созданную VM свой snapshot.