Новости
12.04.2024
Поздравляем с Днём космонавтики!
08.03.2024
Поздравляем с Международным Женским Днем!
23.02.2024
Поздравляем с Днем Защитника Отечества!
Оплата онлайн
При оплате онлайн будет
удержана комиссия 3,5-5,5%








Способ оплаты:

С банковской карты (3,5%)
Сбербанк онлайн (3,5%)
Со счета в Яндекс.Деньгах (5,5%)
Наличными через терминал (3,5%)

СОЗДАНИЕ И НАСТРОЙКА ВИРТУАЛЬНОГО КОМПЬЮТЕРНОГО КЛАССА НА БАЗЕ ОС LINUX

Авторы:
Город:
Челябинск
ВУЗ:
Дата:
04 декабря 2016г.

Виртуальный компьютерный класс (далее ВКК) – это некоторая многопользовательская сервисно-ориентированная среда. Подобно обычному компьютерному классу, представленному несколькими компьютерами, объединенными в локальную сеть, и находящимися в одном помещении, он обеспечивает единую информационную среду – единый набор программных инструментов, обучающих материалов и средств коммуникации. И в то же время он отличается от него отсутствием привязки обучаемых к конкретному помещению и компьютерам. Фактически все обучаемые работают на одном компьютере – высокопроизводительном сервере, к которому подключаются с клиентских мест при помощи специальных программ, передающих нажатия клавиш, действия мышью и отображающих экранный вывод. Клиентским местом может быть как компьютер в классе учебного заведения, так и домашний компьютер обучаемого. Подключиться к ВКК можно с любого компьютера, где есть интернет. При этом требования к клиентскому месту минимальны, так как клиентский компьютер служит только для реализации диалога с пользователем, а все алгоритмы работают на сервере. Рассмотренный ВКК в сравнении с обычным компьютерным классом имеет следующие преимущества:

·           Удобство при дистанционном образовании

 ·           При использовании для изучения курса «Операционные системы» обучаемым не требуется устанавливать ОС Linux на свой компьютер

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

·           Удобство применения обновлений – все обновления ПО необходимо устанавливать только на один компьютер – сервер, а не на каждый компьютер в классе.

·           Использование свободного ПО.

 В данной статье будет рассмотрен ВКК, реализованный автором для преподавания дисциплины «Операционные системы, среды и оболочки». Этот ВКК является узкоспециализированным – он предназначен для выполнения практических и экзаменационных заданий по теме «Разработка графического интерфейса пользователя в среде Linux». Однако его применение может быть и более широким, он является лишь примером, который читатель сможет адаптировать под свои собственные задачи.

В качестве операционной системы сервера выбрана Fedora Linux 14. Это не самая свежая версия системы, и она была выбрана из-за высоких системных требований более новых версий.

В создании и настройке ВКК можно выделить следующие этапы:

 

1).    Скачивание   образа    установочного    DVD-диска    с    официального    сайта: 

http://archives.fedoraproject.org/pub/archive/fedora/linux/releases/14/Fedora/i386/iso/Fedora- 14-i386-DVD.iso. Прожиг образа на записываемый DVD и установка системы на сервер.

Процесс установки достаточно прост, и в интернете можно найти много детальной информации по нему. Поэтому он не будет рассмотрен в этой статье. Также предполагается, что читатель уже имеет базовые навыки работы в ОС Linux.

2). Настройка автоматического подключения к сети при загрузке системы. По умолчанию к сети необходимо подключаться вручную после каждой перезагрузки компьютера. Такой режим имеет смысл только при десктопном использовании операционной системы. При серверном использовании необходимо чтобы сетевое соединение было постоянным и устанавливалось при загрузке компьютера. Чтобы настроить систему для функционирования подобным образом следует перейти в режим суперпользователя (команда su, пароль должен был быть создан на этапе 1 – при установке ОС), и отредактировать файл /etc/sysconfig/network-scripts/ifcfg-eth0, изменив строку ONBOOT=NO на ONBOOT=YES. Имя данного файла в конкретном случае может незначительно отличаться от приведённого. Оно формируется из префикса ifcfg- и имени сетевого интерфейса, через который сервер будет принимать подключения от клиентов.

3). Установка VNC-сервера. Именно при помощи технологии VNC (Virtual Network Computing) и организуется удалённый диалог системы с пользователем. Эта технология реализует подключение клиента (то есть обучаемого, работающего в ВКК) к удалённому рабочему столу системы, работающей на сервере. В основе технологии – протокол RFB (Remote Frame Buffer – удалённый кадровый буфер), обеспечивающий передачу клавиатурного ввода и действий мышью от клиента к серверу, и ретрансляцию изображения рабочего стола от сервера к клиенту. Двумя обязательными программными сущностями являются VNC-сервер и VNC-клиент. VNC-сервер работает на том компьютере, к которому нужно предоставить удалённое управление, VNC-клиент запускается на компьютере пользователя, который и будет выполнять управление. Технология часто применяется для удалённой технической поддержки пользователей (подобно проприетарному TeamViewer). К одному серверу может быть подключено несколько клиентов. Достоинствами технологии являются платформонезависимость – клиент и сервер могут работать на разных операционных системах, и открытый код. Среди недостатков – низкая информационная защищённость, поэтому работать лучше через SSH-туннель, о чём будет рассказано ниже.

Для реализации рассмотренного ВКК автором был выбран VNC-сервер TigerVNC, обладающий расширенной функциональностью.

 Чтобы установить выбранный VNC-сервер в Fedora Linux 14, необходимо из консоли, перейдя в режим суперпользователя, выполнить команду:

yum install tigervnc-server

 

Во время установки несколько раз утвердительно ответить на вопросы системы. 

После установки можно протестировать систему. Для этого в настройках файервола открыть порты VNC-сервера (с 5900 по 5907 - по умолчанию они закрыты), запустить       VNC-сервер        командой vncserver –securitytypes=none, и попробовать подключиться к нему с удалённого компьютера под Windows. В качестве VNC-клиента можно использовать TigerVNC для Windows. На клиентском компьютере необходимо запустить программу vncviewer.exe, в открывшемся окне ввести адрес сервера, порт (по умолчанию он 5901) и нажать кнопку Connect. В случае удачного подключения должен отобразиться рабочий стол того пользователя Fedora, от имени которого был запущен VNC-сервер.

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

4). Установка и конфигурирование сетевой службы xinetd (eXtended INterneT Daemon). Данная служба предназначена для прослушивания входящих сетевых соединений и запуска определённых программ, в случае если входящее соединение удовлетворяет некоторым условиям. Как правило, этими программами являются другие сетевые службы, например программные сервера каких-либо протоколов. Такой подход бывает удобным, если компьютер должен предоставлять несколько разных услуг, каждая из которых реализуется отдельным программным сервером. В памяти компьютера в ожидающем режиме находится только один программный сервер – собственно xinetd. При поступлении запроса на соединение по определённому протоколу xinetd запускает соответствующий программный сервер, который функционирует только пока активно данное соединение. Таким образом удаётся избежать нахождения в ожидающем режиме одновременно нескольких программных серверов, что позволяет оптимизировать использование вычислительных ресурсов. При реализации же ВКК данная служба позволит запускать отдельный VNC-сервер для каждого клиента, обеспечивая ему независимую среду (дело в том, что один экземпляр VNC-сервера может предоставлять управление только от лица одного пользователя UNIX-системы).

Для установки службы следует в режиме суперпользователя выполнить команду: 

yum install xinetd 

После установки необходимо выполнить конфигурирование службы xinetd для запуска VNC-сервера. Для этого в каталоге /etc/xinetd.d/ нужно создать файл с именем vnc и внести в него следующее содержимое:

service vnc 

{

 

disable     = no socket_type = stream protocol      = tcp

wait        = no

 user        = nobody

 server      = /usr/bin/Xvnc

 server_args = -inetd -once -query localhost -geometry 1024x768 -depth 16 -securitytypes=none type               = UNLISTED

port        = 5900

 }

 

При помощи ключевого слова service объявлена служба с именем vnc (имя может быть любым, но для удобства администрирования лучше, если оно будет осмысленным). В фигурных скобках задаются её параметры. Ключевыми параметрами являются server – задаёт путь к тому программному серверу, который нужно запустить, и port – номер порта, запрос по которому инициирует запуск объявленного сервиса. В рассмотренном примере в качестве программного сервера используется служба Xvnc. Команда vncserver, использованная при тестировании VNC-системы (этап 3), также вызывает службу Xvnc, и по сути является оболочкой над ней, автоматически конфигурирующей окружение и облегчающей её запуск простым пользователем.

После сохранения файла конфигурации службу xinetd необходимо перезапустить командой /etc/init.d/xinetd restart.

5).    Настройка    протокола    XDMCP    (X    Display    Manager    Control    Protocol).  

Графическая среда Linux устроена таким образом, что программа и её графический интерфейс могут функционировать на разных компьютерах, соединённых сетью. В таком случае программа является X-клиентом, а её графический интерфейс – X-сервером. Для обеспечения безопасности сетевого взаимодействия между X-клиентом и X-сервером применяется специальный протокол аутентификации – XDMCP. В контексте рассматриваемого ВКК этот протокол и будет использован для организации независимого входа обучаемого в графическую среду под собственной учётной записью UNIX- пользователя. Настройка протокола XDMСP осуществляется в конфигурационном файле дисплейного менеджера. Дисплейный менеджер (он же XDMСP-сервер) предоставляет пользователю графический интерфейс (окно приветствия) для регистрации в системе. По умолчанию в Fedora Linux 14 используется дисплейный менеджер среды GNOME, конфигурационный файл которого расположен по адресу /etc/gdm/custom.conf. Чтобы активировать XDMСP-сервер и задать вид окна приветствия, необходимо отредактировать в нём секции xdmcp и daemon:

 

[daemon] 

remoteGreeter=/usr/libexec/gdm-simple-greeter [xdmcp]

Enable=true

 …

 

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

6). Обеспечение информационной безопасности ВКК. Протокол RFB, используемый технологией VNC, не является идеальным с точки зрения защиты передаваемых данных. Поэтому его рекомендуется туннелировать через более защищённый протокол, например SSH. Сервер SSH установлен в Fedora Linux 14 по умолчанию, и никакая его настройка не требуется. Необходимо только разрешить проброс портов (тунеллирование) в настройках расширенной системы безопасности Linux (SELinux – Security- Enhanced Linux). Для этого в режиме суперпользователя выполнить команду:

setsebool -P sshd_forward_ports 1

 На клиентских компьютерах кроме VNC-клиента (vncviewer.exe) теперь потребуется использовать ещё и SSH-клиент, например PuTTY. Подключение обучаемого будет состоять из 2-х этапов:

1.      Подключение к серверу по протоколу SSH с пробросом портов (putty.exe).

 2.      Подключение к серверу по протоколу RFB через созданный в п.1 SSH-туннель (vncviewer.exe).

 В завершении конфигурирования ВКК следует закрыть порты 5900-5907 посредством файервола.

7).     Установка     и     конфигурирование    необходимого     прикладного     программного обеспечения. Так как автором данный ВКК используется для преподавания дисциплины «Операционные системы среды и оболочки», то были установлены компиляторы, библиотеки и среды разработки для платформ Qt, Mono и Gtk+. Также стандартный репозиторий Fedora 14 содержит большое количество прикладных программ общего назначения, таких как офисные пакеты и графические редакторы. Присутствует возможность запуска приложений Windows и DOS при помощи эмуляторов. Установка нового программного обеспечения чаще всего не вызывает трудностей. Внутрисистемная коммуникация обучаемых возможна средствами встроенного почтового клиента UNIX, команды write, а также общедоступных папок на диске сервера. Всё это делает использование рассмотренного ВКК удобным для применения в разных сферах учебного процесса.