VDI/OpenUDS: различия между версиями

Материал из ALT Linux Wiki
< VDI
мНет описания правки
 
(не показано 140 промежуточных версий 7 участников)
Строка 1: Строка 1:
{{Stub}}


__TOC__
== Введение ==
OpenUDS это много-платформенный брокер подключений для создания и управления виртуальными рабочими местами.
 
[[Файл:OpenUDS_01.png|300px|thumb|Архитектура OpenUDS]]


== Введение ==
OpenUDS это много-платформенный брокер подключений для создания и управления виртуальными рабочими местами и приложениями.
Основные компоненты решения VDI на базе OpenUDS:
Основные компоненты решения VDI на базе OpenUDS:
# OpenUDS Server (openuds-server) - брокер подключений пользователей, а так же интерфейс администратора для настройки.
# OpenUDS Server (openuds-server) брокер подключений пользователей, а так же интерфейс администратора для настройки.
# SQL Server. Для работы django приложения, которым является openuds-server необходим SQL сервер, например mysql или mariadb. Может быть установлен на отдельном сервере.
# SQL Server. Для работы django приложения, которым является openuds-server необходим SQL сервер, например, mysql или mariadb. Может быть установлен на отдельном сервере.
# Платформа для запуска клиентских окружений и приложений. OpenUDS совместима со множеством систем виртуализации: PVE, OpenNebula, oVirt, OpenStack. Так же возможно использование с отдельным сервером без виртуализации (аналог терминального решения).
# Платформа для запуска клиентских окружений и приложений. OpenUDS совместима со множеством систем виртуализации: PVE, OpenNebula, oVirt, OpenStack. Так же возможно использование с отдельным сервером без виртуализации (аналог терминального решения).
# OpenUDS Client (openuds-client) - клиентское приложения для подключения к брокеру соединений и дальнейшего получения доступа к виртуальному рабочему окружению
# OpenUDS Client (openuds-client) клиентское приложения для подключения к брокеру соединений и дальнейшего получения доступа к виртуальному рабочему окружению
# OpenUDS Tunnel (openuds-tunnel) - решение для туннелирования обращений от клиента к виртуальному рабочему окружению. Предназначено для предоставления доступа из недоверенных сегментов сети, например из Интернет. Устанавливается на отдельный сервер.
# OpenUDS Tunnel (openuds-tunnel) решение для туннелирования обращений от клиента к виртуальному рабочему окружению. Предназначено для предоставления доступа из недоверенных сегментов сети, например, из Интернет. Устанавливается на отдельный сервер.
# OpenUDS Actor (openuds-actor) - ПО для гостевых виртуальных машин, реализует связку виртуальной машины и брокера соединений.
# OpenUDS Actor (openuds-actor) ПО для гостевых виртуальных машин, реализует связку виртуальной машины и брокера соединений.
 
{| class="wikitable"
|+Системные требования
! | Компонент
! ОЗУ
! ЦП
! Диск
|-
|OpenUDS Server
|2 ГБ
|2 vCPUs
|8 ГБ
|-
|SQL Server
|1 ГБ
|2 vCPUs
|10 ГБ
|-
|OpenUDS Tunnel
|2 ГБ
|2 vCPUs
|13 ГБ
|}
 
{{Note| Если сервер с базой данных установлен на той же машине, где и OpenUDS Server, требуемое количество памяти нужно просуммировать.}}


== Установка ==
== Установка ==
=== Установка mysql/mariadb ===
=== Установка mysql/mariadb ===
# apt-get install mariadb
Установить MySQL (MariaDB), запустить и добавить в автозагрузку сервер mariadb, задать пароль root для mysql и настройки безопасности:
# systemctl enable --now mariadb.service
<syntaxhighlight lang="bash">
# mysql_secure_installation
# apt-get install mariadb-server
# mysql -u root
# systemctl enable --now mariadb.service
# mysql_secure_installation
$ mysql -u root
</syntaxhighlight>
Создать базу данных dbuds, пользователя базы данных dbuds с паролем password и предоставить ему привилегии в базе данных dbuds:
<syntaxhighlight lang="MySQL">  
<syntaxhighlight lang="MySQL">  
mysql> CREATE DATABASE dbuds CHARACTER SET utf8 COLLATE utf8_general_ci;
MariaDB> CREATE DATABASE dbuds CHARACTER SET utf8 COLLATE utf8_general_ci;
mysql> CREATE USER 'dbuds'@'%' IDENTIFIED BY 'password';
MariaDB> CREATE USER 'dbuds'@'%' IDENTIFIED BY 'password';
mysql> GRANT ALL PRIVILEGES ON dbuds.* TO 'dbuds'@'%';
MariaDB> GRANT ALL PRIVILEGES ON dbuds.* TO 'dbuds'@'%';
mysql> FLUSH PRIVILEGES;
MariaDB> FLUSH PRIVILEGES;
</syntaxhighlight>  
MariaDB> exit;
</syntaxhighlight>


=== OpenUDS Server ===
=== OpenUDS Server ===
==== Установка OpenUDS Server ====
==== Установка OpenUDS Server ====
# apt-get install openuds-server-nginx
<syntaxhighlight lang="bash"># apt-get install openuds-server-nginx</syntaxhighlight>
Будут установлены:
Будут установлены:
* openuds-server — django приложение;
* openuds-server — django приложение;
Строка 51: Строка 81:
}
}
</syntaxhighlight>
</syntaxhighlight>
* "заполнить" базу данных первоначальными данными:
* «заполнить» базу данных первоначальными данными:
# su -s /bin/bash - openuds
*:<syntaxhighlight lang="bash">
$ cd /usr/share/openuds
# su -s /bin/bash - openuds
$ python3 manage.py migrate
$ cd /usr/share/openuds
$ python3 manage.py migrate
$ exit
</syntaxhighlight>
* запустить gunicorn:
* запустить gunicorn:
# systemctl enable --now openuds-web.service
*:<syntaxhighlight lang="bash"># systemctl enable --now openuds-web.service</syntaxhighlight>
* запустить nginx:
* запустить nginx:
# ln -s ../sites-available.d/openuds.conf /etc/nginx/sites-enabled.d/openuds.conf
*:<syntaxhighlight lang="bash">
# systemctl enable --now nginx.service
# ln -s ../sites-available.d/openuds.conf /etc/nginx/sites-enabled.d/openuds.conf
# systemctl enable --now nginx.service
</syntaxhighlight>
* запустить менеджер задач OpenUDS
* запустить менеджер задач OpenUDS
# systemctl enable --now openuds-taskmanager.service
*:<syntaxhighlight lang="bash"># systemctl enable --now openuds-taskmanager.service</syntaxhighlight>
* подключиться к серверу OpenUDS с помощью браузера http://<openuds_address>
* подключиться к серверу OpenUDS с помощью браузера https://<openuds_address>:
 
*:[[Файл:Openuds-login.png|Веб-интерфейс OpenUDS]]
{{Note| Имя/пароль по умолчанию: root/udsmam0
{{Note| Имя/пароль по умолчанию: root/udsmam0


Чтобы получить доступ к администрированию OpenUDS следует в меню пользователя выбрать пункт «Dashboard»:
Чтобы получить доступ к администрированию OpenUDS следует в меню пользователя выбрать пункт «Панель управления» («Dashboard»):


[[Файл:Openuds_usermenu.png|OpenUDS. Меню пользователя]]
[[Файл:Openuds_usermenu.png|OpenUDS. Меню пользователя]]
Строка 75: Строка 110:
  https://docs.djangoproject.com/en/2.2/ref/databases/
  https://docs.djangoproject.com/en/2.2/ref/databases/


=== OpenUDS Tunneler ===
=== OpenUDS Tunnel ===
 
{{Attention|Инструкция по установке и настройке OpenUDS Tunnel актуальна для {{pkg|openuds-tunnel}}, начиная {{since|3.5.0-alt3}}.}}
 
==== Установка OpenUDS Tunnel ====
==== Установка OpenUDS Tunnel ====
Установка OpenUDS Tunnel должна выполняться на отдельной от OpenUDS Server системе.
{{Note|Установка OpenUDS Tunnel должна выполняться на отдельной от OpenUDS Server системе.}}
# apt-get install openuds-tunnel
 
Будут установлены:
<syntaxhighlight lang="bash"># apt-get install openuds-tunnel</syntaxhighlight>
* openuds-tunnel — java приложение, основанное на проекте guacamole;
 
* guacamole-server
{{Note|При установке {{pkg|openuds-tunnel}} в {{path|/etc/openuds-tunnel/ssl}} генерируются сертификаты. Их можно заменить на свои, выпущенные внутри организации или Удостоверяющим Центром.}}
* tomcat
* libnss_uds
* pam_uds


==== Настройка OpenUDS Tunnel ====
==== Настройка OpenUDS Tunnel ====
* указать адрес OpenUDS сервера (брокера) в {{path|/etc/uds.conf}} и в {{path|/etc/pam.d/sshd_uds}};
На OpenUDS Tunnel:
* запустить сервисы:
# Указать адрес OpenUDS сервера (брокера) в файле {{path|/etc/openuds-tunnel/udstunnel.conf}}:
# systemctl enable --now sshd_uds guacd tomcat
#:<syntaxhighlight lang="text">
uds_server = http://192.168.0.53/uds/rest/tunnel/ticket
uds_token = 5ba9d52bb381196c2a22e495ff1c9ba4bdc03440b726aa8b
</syntaxhighlight>
# Запустить и добавить в автозагрузку сервис OpenUDS Tunnel:
#: <syntaxhighlight lang="bash"># systemctl enable --now openuds-tunnel.service
</syntaxhighlight>
 
На сервере OpenUDS:
# Зарегистрировать туннельный сервер, выполнив команду:
#:<syntaxhighlight lang="bash"># openuds_tunnel_register.py -H 192.168.0.88 -n Tunnel -t 5ba9d52bb381196c2a22e495ff1c9ba4bdc03440b726aa8b
Tunnel token register success. (With token: 5ba9d52bb381196c2a22e495ff1c9ba4bdc03440b726aa8b)
</syntaxhighlight>
#:где:
#:* <tt>-H 192.168.0.88</tt> — IP-адрес туннельного сервера;
#:* <tt>-n Tunnel</tt> — название туннеля;
#:* <tt>-t 5ba9d52….40b726aa8b</tt> — токен туннельного сервера (из файла udstunnel.conf).
#:См.также {{cmd|openuds_tunnel_register.py --help}}
# Создать туннельный транспорт, например, [[VDI/OpenUDS#X2Go_(туннельный)|X2Go]]. На вкладке «Туннель» указать IP-адрес и порт туннельного-сервера:  192.168.0.88:7777
 
{{Note|В {{pkg|openuds-server}}, до версии 3.5.0-alt6 для регистрации токена нужно добавить в БД информацию о OpenUDS Tunnel: INSERT INTO `uds_tunneltoken` VALUES (ID,'автор добавления','IP-адрес туннеля','IP-адрес туннеля','название туннеля','Токен из файла udstunnel.conf','дата добавления'); . Например:
<syntaxhighlight lang="bash"># mysql -u root -p</syntaxhighlight>
<syntaxhighlight lang="MySQL">
MariaDB> USE dbuds;
MariaDB> INSERT INTO `uds_tunneltoken` VALUES (ID,'admin','192.168.0.88','192.168.0.88','Tunnel','5ba9d52bb381196c2a22e495ff1c9ba4bdc03440b726aa8b','2022-11-15');
MariaDB> exit;
</syntaxhighlight>}}
 
==== Настройка HTML5 ====
На OpenUDS Tunnel:
# В файле {{path|/etc/guacamole/guacamole.properties}} привести значение параметра ''uds-base-url'' к виду:
#: http://<IP openuds сервера>/uds/guacamole/auth/<Токен из файла udstunnel.conf>/
#: Например:
#: uds-base-url=http://192.168.0.53/uds/guacamole/auth/5ba9d52bb381196c2a22e495ff1c9ba4bdc03440b726aa8b
# Настроить tomcat:
#* для подключения по http:
#*: т.к. tomcat по умолчанию работает на порту 8080, то перед запуском tomcat необходимо, либо остановить службу ahttpd:
#*: <syntaxhighlight lang="bash"># systemctl disable --now ahttpd</syntaxhighlight>
#*: либо изменить порт 8080 в файле {{path|/etc/tomcat/server.xml}} на другой допустимый номер порта, например, 8081:
#*:<syntaxhighlight lang="ini"><Connector port="8081" protocol="HTTP/1.1"
              connectionTimeout="20000"
              redirectPort="8443" /></syntaxhighlight>
#*для подключения по https: в файл {{path|/etc/tomcat/server.xml}} добавить новый ''Connector'', в котором указать порт (в примере 10443), сертификат (файл .crt, .pem и т.д.), закрытый ключ (.key, .pem и т.д.):
#*:<syntaxhighlight lang="ini">
<Connector port="10443" protocol="org.apache.coyote.http11.Http11AprProtocol" SSLEnabled="true"
              ciphers="A-CHACHA20-POLY1305,ECDHE-RSA-CHACHA20-POLY1305,ECDHE-ECDSA-AES128-GCM-SHA256,ECDHE-RSA-AES128-GCM-SHA256,ECDHE-ECDSA-AES256-GCM-SHA384,ECDHE-RSA-AES256-GCM-SHA384,DHE-RSA-AES128-GCM-SHA256,DHE-RSA-AES256-GCM-SHA384,ECDHE-ECDSA-AES128-SHA256,ECDHE-RSA-AES128-SHA256,ECDHE-ECDSA-AES128-SHA,ECDHE-RSA-AES256-SHA384,ECDHE-RSA-AES128-SHA,ECDHE-ECDSA-AES256-SHA384,ECDHE-ECDSA-AES256-SHA,ECDHE-RSA-AES256-SHA,DHE-RSA-AES128-SHA256,DHE-RSA-AES128-SHA,DHE-RSA-AES256-SHA256,DHE-RSA-AES256-SHA,ECDHE-ECDSA-DES-CBC3-SHA,ECDHE-RSA-DES-CBC3-SHA,EDH-RSA-DES-CBC3-SHA,AES128-GCM-SHA256,AES256-GCM-SHA384,AES128-SHA256,AES256-SHA256,AES128-SHA,AES256-SHA,DES-CBC3-SHA"
              maxThreads="500" scheme="https" secure="true"
              SSLCertificateFile="/etc/openuds-tunnel/ssl/certs/openuds-tunnel.pem"
              SSLCertificateKeyFile="/etc/openuds-tunnel/ssl/private/openuds-tunnel.key"
              maxKeepAliveRequests="1000"
              clientAuth="false" sslProtocol="TLSv1+TLSv1.1+TLSv1.2" />
</syntaxhighlight>
# Запустить сервисы guacd и tomcat:
#: <syntaxhighlight lang="bash"># systemctl enable --now guacd tomcat</syntaxhighlight>
 
На сервере OpenUDS при создании нового туннельного транспорта HTML5RDP на вкладке «Туннель» указать IP-адрес и порт туннельного-сервера:
*http://192.168.0.88:8080 — для подключения по http;
*https://192.168.0.88:10443 — для подключения по https.
 
=== Обновление ===
После обновления openuds-server до новой версии необходимо выполнить следующие действия:
 
1. Перенести изменения из нового конфигурационного файла {{path|/etc/openuds/settings.py.rpmnew}} (если они есть) в используемый {{path|/etc/openuds/settings.py}}.
Проверить, что изменилось можно так:
<syntaxhighlight lang="bash">
# diff -u --color /etc/openuds/settings.py /etc/openuds/settings.py.rpmnew
</syntaxhighlight>
2. Выполнить миграцию базы данных:
<syntaxhighlight lang="bash">
# su -s /bin/bash - openuds -c "cd /usr/share/openuds; python3 manage.py migrate"
</syntaxhighlight>
3. Перезагрузить систему, так как при обновлении не создаётся файл {{path|/run/openuds/socket}}.


== Настройка ==
== Настройка ==
=== Подключение системы виртуализации ===
=== Подключение системы виртуализации ===
В разделе «Services» подключаем один из «Service providers»:
В разделе «Поставщики услуг» («Services») подключить один из поставщиков («Service providers»):


* PVE Platform Provider
* Поставщик платформы Proxmox (Proxmox Platform Provider);
* OpenNebula Platform Provider
* Поставщик платформы OpenNebula (OpenNebula Platform Provider);
* OpenStack Platform Provider
* Поставщик платформы OpenStack (OpenStack Platform Provider);
* oVirt/RHEV Platform Provider
* Поставщик платформы oVirt/RHEV (oVirt/RHEV Platform Provider);
* Static IP Machine Provider (отдельный сервер без виртуализации)
* Отдельный сервер без виртуализации: Поставщик машин статических IP (Static IP Machines Provider).


[[Файл:Openuds_services.png|OpenUDS. Подключение системы виртуализации]]
[[Файл:Openuds_services.png|OpenUDS. Подключение системы виртуализации]]


==== OpenNebula ====
==== OpenNebula ====
Минимальные параметры для настройки «OpenNebula Platform Provider»: название, IP-адрес сервера OpenNebula (поле «Host»), порт подключения, имя пользователя (с правами администратора) и пароль.  
Минимальные параметры для настройки «Поставщик платформы OpenNebula»:
Используя кнопку «Тест», можно убедиться, что соединение установлено правильно.
*вкладка «Основной»: название, IP-адрес сервера OpenNebula (поле «Хост»), порт подключения, имя пользователя (с правами администратора) и пароль:
*:[[Файл:Openuds_services_opennebula01.png|border|OpenUDS. Подключение системы виртуализации OpenNebula]]
*вкладка «Расширенный»: максимальное количество одновременно создаваемых ВМ, максимальное количество одновременно удаляемых ВМ, таймаут подключения к OpenNebula в секундах:
*:[[Файл:Openuds-services-opennebula001.png|border|OpenUDS. Подключение системы виртуализации OpenNebula]]


[[Файл:Openuds_services_opennebula01.png|OpenUDS. Подключение системы виртуализации OpenNebula]]
Используя кнопку «Проверить», можно убедиться, что соединение установлено правильно.


После интеграции платформы OpenNebula в OpenUDS необходимо создать базовую службу типа «OpenNebula Live Images». Для этого дважды щелкните мышью по строке созданного поставщика услуг или в контекстном меню поставщика выберите «Detail»:
После интеграции платформы OpenNebula в OpenUDS необходимо создать базовую службу типа «OpenNebula Live Images». Для этого можно дважды щелкнуть мышью по строке созданного поставщика услуг или в контекстном меню поставщика выбрать пункт «Подробность»:


[[Файл:Openuds_services_opennebula02.png|OpenUDS. Контекстное меню Service providers]]
[[Файл:Openuds_services_opennebula02.png|OpenUDS. Контекстное меню Service providers]]


На вкладке «Services» нажмите «New»→«OpenNebula Live Images». Заполните минимальные параметры конфигурации (вкладки «Main» и «Machine»): название службы, хранилище, базовый шаблон (шаблон ВМ, используемый системой OpenUDS для развертывания виртуальных рабочих столов), базовое название для клонов с этой машины (например, Desk-kwork-), количество цифр счетчика, прикрепленного к базовому имени рабочих столов (например, если Name Length = 3, названия сгенерированных рабочих столов будет: Desk-kwork-000, Desk-kwork-001 ... Desk-kwork-999).
{{Note|Выбрав пункт «Обслуживание» («Maintenance»), можно приостановить все операции, выполняемые сервером OpenUDS для данного поставщика услуг. Поставщик услуг рекомендуется переводить в режим обслуживания в случаях, когда связь с этим поставщиком была потеряна или запланирован перерыв в обслуживании. }}
 
В открывшемся окне на вкладке «Поставщики услуг» («Services») выбрать «Новый»→«Действующие образы OpenNebula»:
 
[[Файл:Openuds-services-opennebula03.png|OpenUDS. Создание новой службы]]
 
Заполнить параметры конфигурации. Вкладка «Основной» («Main»):
*«Имя» («Name») — название службы;
*«Хранилище» («Datastore») — хранилище.
 
Вкладка «Машина» («Machine»):
*«Базовый шаблон» («Base Template») — шаблон ВМ, используемый системой OpenUDS для развертывания виртуальных рабочих столов (см. [[VDI/OpenUDS#Подготовка_шаблона_виртуальной_машины]]);
*«Имена машин» («Machine Names») — базовое название для клонов с этой машины (например, Desk-kwork-);
*«Длина имени» («Name Length») — количество цифр счетчика, прикрепленного к базовому имени рабочих столов (например, если Длина имени = 3, названия сгенерированных рабочих столов будут: Desk-kwork-000, Desk-kwork-001 ... Desk-kwork-999).
 
[[Файл:Openuds_services_opennebula04.png|border|OpenUDS. Создание службы типа «OpenNebula Live Images». Вкладка «Основной»]]
[[Файл:Openuds_services_opennebula05.png|border|OpenUDS. Создание службы типа «OpenNebula Live Images». Вкладка «Машина»]]
 
 
После того, как среда OpenUDS будет настроена и будет создан первый «пул служб», в среде OpenNebula можно будет наблюдать, как разворачиваются рабочие столы. Сначала будет создан образ ВМ («UDSP-pool_name-DSK») — клон образа, шаблон («UDSP-pool_name-publishing-number») — клон ВМ, выбранной при регистрации службы. После завершения процесса создания клона будут созданы рабочие столы («Machine_Name-Name_Length»).
 
==== PVE ====
Минимальные параметры для настройки «Поставщик платформы Proxmox»:
*вкладка «Основной»:
** «Имя» («Name») — название поставщика;
** «Хост» («Host») — IP-адрес/имя сервера или кластера;
** «Порт» («Port») — порт подключения;
** «Имя пользователя» («Username») — имя пользователя с достаточными привилегиями в PVE (в формате пользователь@аутентификатор);
** «Пароль» («Password») — пароль пользователя.
*:[[Файл:Openuds_services_pve01.png|border|OpenUDS. Подключение системы виртуализации Proxmox]]
*вкладка «Расширенный»:
** «Одновременное создание» («Creation concurrency») — максимальное количество одновременно создаваемых ВМ;
** «Одновременное удаление» («Removal concurrency») — максимальное количество одновременно удаляемых ВМ;
** «Таймаут» («Timeout») — таймаут подключения к Proxmox в секундах;
** «Начальный VmId» («Starting VmId») — идентификатор ВМ, с которым OpenUDS начнет генерировать ВМ на Proxmox (>=10000);
** «Диапазон MAC-адресов» («Macs range») — диапазон MAC-адресов, которые будут использоваться рабочими столами.
*:[[Файл:Openuds_services_pve001.png|border|OpenUDS. Подключение системы виртуализации Proxmox]]
 
Используя кнопку «Проверить», можно убедиться, что соединение установлено правильно.
 
После интеграции платформы PVE в OpenUDS необходимо создать базовую службу типа «Связанный клон Proxmox» («Proxmox Linked Clone»). Для этого можно дважды щелкнуть мышью по строке созданного поставщика услуг или в контекстном меню поставщика выбрать пункт «Подробность»:
 
[[Файл:Openuds_services_pve02.png|OpenUDS. Контекстное меню Service providers]]
 
{{Note|Выбрав пункт «Обслуживание» («Maintenance»), можно приостановить все операции, выполняемые сервером OpenUDS для данного поставщика услуг. Поставщик услуг рекомендуется переводить в режим обслуживания в случаях, когда связь с этим поставщиком была потеряна или запланирован перерыв в обслуживании.}}
 
В открывшемся окне на вкладке «Поставщики услуг» («Services») выбрать «Новый»→«Связанный клон Proxmox»:
 
[[Файл:Openuds_services_pve03.png|border|OpenUDS. Создание новой услуги]]
 
Заполнить параметры конфигурации. Вкладка «Основной» («Main»):
*«Имя» («Name»)  — название службы;
*«Пул» («Pool») — пул, в котором будут находиться ВМ, созданные OpenUDS;
*«Высокая доступность» («HA») — включать ли созданные ВМ в группу HA PVE;
*«Сначала попробовать SOFT Shutdown» («Try SOFT Shutdown first») — если активно, OpenUDS попытается, перед уничтожением автоматически сгенерированного виртуального рабочего стола, выполнить контролируемое отключение машины.
 
Вкладка «Машина» («Machine»):
*«Базовая машина» («Base Machine») — шаблон ВМ, используемый системой OpenUDS для развертывания виртуальных рабочих столов (см. [[VDI/OpenUDS#Подготовка_шаблона_виртуальной_машины]]);
*«Хранилище» («Storage») — хранилище, где будут храниться сгенерированные виртуальные рабочие столы (поддерживаются хранилища, позволяющие создавать «Снимки»);
*«Имена машин» («Machine Names») — базовое название для клонов с этой машины (например, Desk-SL-);
*«Длина имени» («Name Length») — количество цифр счетчика, прикрепленного к базовому имени рабочих столов (например, если Name Length = 3, названия сгенерированных рабочих столов будут: Desk-SL-000, Desk-SL-001 ... Desk-SL-999).
 
[[Файл:Openuds_services_pve04.png|border|OpenUDS. Создание службы типа «Proxmox Linked Clone». Вкладка «Main»]]
[[Файл:Openuds_services_pve05.png|border|OpenUDS. Создание службы типа «Proxmox Linked Clone». Вкладка «Machine»]]
 
После того, как среда OpenUDS будет настроена и будет создан первый «пул служб», в среде PVE можно будет наблюдать, как разворачиваются рабочие столы. Сначала будет создан шаблон («UDS-Publication-pool_name-publishing-number») — клон ВМ, выбранной при регистрации службы. После завершения процесса создания клона будут созданы рабочие столы («Machine_Name-Name_Length»):
 
[[Файл:Openuds-services-pve06.png|PVE. Созданные шаблоны и рабочие столы]]
 
==== Удалённый доступ к отдельному серверу (Static IP Machine Provider) ====
 
OpenUDS позволяет создать подключение к отдельным устройствам (физическим или виртуальным). Доступ к отдельной машине осуществляется путем назначения IP-адресов пользователям.
 
Для регистрации поставщика данного типа следует в разделе «Поставщики услуг» («Services») нажать кнопку «Новый» и выбрать пункт «Поставщик машин статических IP» («Static IP Machine Provider»):
 
[[Файл:Openuds-services-ip00.png|border|OpenUDS. «Поставщик машин статических IP»]]
 
Для настройки «Поставщика машин статических IP» достаточно задать название поставщика.
 
[[Файл:Openuds_services_ip01.png|border|OpenUDS. Поставщик машин статических IP]]
 
Для создания базовых услуг «Поставщика машин статических IP» следует дважды щелкнуть мышью по строке созданного поставщика или в контекстном меню поставщика выбрать пункт «Подробность» («Detail»):
 
[[Файл:Openuds_services_ip02.png|OpenUDS. Контекстное меню Service providers]]
 
OpenUDS позволяет создавать два типа услуг «Поставщика машин статических IP»:


[[Файл:Openuds_services_opennebula04.png|OpenUDS. Создание службы типа «OpenNebula Live Images». Вкладка «Main»]]  
; «Статический множественный IP-адрес» («Static Multiple IP»)
[[Файл:Openuds_services_opennebula05.png|OpenUDS. Создание службы типа «OpenNebula Live Images». Вкладка «Machine»]]
: Используется для подключения одного пользователя к одному компьютеру. Поддерживается неограниченное количество IP-адресов (можно включить в список все устройства, которые должны быть доступны удалённо). По умолчанию система будет предоставлять доступ к устройствам в порядке FIFO, т.е. первый пользователь получивший доступ к этому пулу, получает доступ к машине с первым IP-адресом из списка. Также можно настроить выборочное распределение, чтобы определённому пользователю назначался определенный компьютер (IP-адрес).
 
{{Note| Для настройки привязки конкретного пользователя к конкретному IP-адресу необходимо в разделе «Пулы услуг» (см. [[VDI/OpenUDS#Настройка_«Пула_услуг»_(«Service_Pools»)]]) для созданной услуги на вкладке «Назначенные сервисы» («Assigned services») нажать кнопку «Назначить услугу» («Assigne service») и задать привязку пользователя устройству:
 
[[Файл:Openuds-pool-ip02.png|OpenUDS. Привязка пользователю устройству]]}}
 
; «Статический одиночный IP-адрес» («Static Single IP»)
: Используется для подключения нескольких пользователей к одному компьютеру. При обращении каждого нового пользователя будет запускаться новый сеанс.
Для создания новой услуги типа «Поставщик машин статических IP» на вкладке «Services» нажмите «Новый»→«Статический множественный IP-адрес» или «Новый»→«Статический одиночный IP-адрес»:
 
[[Файл:Openuds_services_ip03.png|border|OpenUDS. Создание новой услуги Static IP]]
 
Параметры конфигурации для услуги «Статический множественный IP-адрес»:
* Вкладка «Основной»:
**«Имя» («Name») — название службы;
**«Список серверов» («List of servers») — один или несколько IP-адресов машин, к которой будет осуществляться доступ (машины должны быть включены и настроены см. [[VDI/OpenUDS#Подготовка_шаблона_виртуальной_машины]]);
**«Ключ услуги» («Service Token») — токен, который будет использоваться клиентами для связи с сервисом. Если в этом поле не указан токен (пусто), система не будет контролировать сеансы пользователей на компьютерах. Таким образом, когда компьютер назначается пользователю, это назначение будет сохраняться до тех пор, пока администратор не удалит его вручную. При наличии токена сеансы пользователей будут контролироваться (при выходе из сеанса, компьютеры снова становятся доступными для доступа других пользователей). Если токен указан, необходимо, чтобы на компьютерах (IP-адрес, которых указан в поле «Список серверов») был установлен Unmanaged UDS Actor (см. [[OpenUDS_Windows#Unmanaged_OpenUDS_Actor]]).
*:[[Файл:Openuds_services_ip04.png|border|OpenUDS. Создание службы типа «Static Multiple IP»]]
* Вкладка «Расширенный»:
**«Проверить порт» («Check port») — порт, по которому система может проверить, доступен ли компьютер. Если компьютер не доступен, система автоматически предоставит следующее устройство в списке. 0 — не проверять доступность компьютера;
**«Пропустить время» («Skip time») — период (в минутах), в течение которого не будет проверяться доступность недоступной машины;
**«Максимальное количество сеансов на машину» — максимальная продолжительность сеанса (в часах), прежде чем OpenUDS решит, что эта машина заблокирована и освободит её (0 означает «никогда»).
*:[[Файл:Openuds-services-ip05.png|border|OpenUDS. Создание службы типа «Статический множественный IP-адрес»]]
 
{{Note|Назначение IP-адресов будет осуществляться в порядке доступа, то есть первому пользователю, который обращается к службе, будет назначен первый IP-адрес в списке, второму второй и т.д. IP-адрес будет привязан пользователю, даже после выхода пользователя из системы (пока администратор не удалит привязку вручную).
 
Просмотреть/изменить привязанные сеансы можно в разделе «Пулы услуг» (см. [[VDI/OpenUDS#Настройка_«Пула_услуг»_(«Service_Pools»)]]) на вкладке «Назначенные сервисы»:
 
[[Файл:Openuds_services_ip06.png|OpenUDS. Подключение к «Static Multiple IP»]]}}
 
Параметры конфигурации для услуги «Статический одиночный IP-адрес»:
*«Имя» («Name») — название службы;
*«IP адрес машины» («Machine IP») — IP-адрес машины, к которой будет осуществляться доступ (машина должна быть включена и настроена см. [[VDI/OpenUDS#Подготовка_шаблона_виртуальной_машины]]).
 
[[Файл:Openuds_services_ip05.png|border|OpenUDS. Создание службы типа «Статический одиночный IP-адрес»]]


=== Настройка аутентификации пользователей ===
=== Настройка аутентификации пользователей ===
В разделе «Autentificators» выбираем тип аутентификации пользователей. Можно выбрать как внешние источники (Active Directory, OpenLDAP и т. д.), так и внутренние (внутренняя база данных, IP-аутентификация):
* Internal Database
* Regex LDAP Authenticator
* IP Autentificator


[[Файл:Openuds_authenticators.png|OpenUDS. Выбор типа аутентификации пользователей]]
==== Аутентификаторы ====
«Аутентификатор» проверяет подлинность пользователей и предоставляет пользователям и группам пользователей разрешения на подключение к различным виртуальным рабочим столам.


==== Внутренняя база данных ====
Аутентификатор не является обязательным компонентом для создания «пула услуг», но если не создан хотя бы один аутентификатор, не будет пользователей, которые смогут подключаться к службам на платформе Openuds.


При этом типе аутентификации данные пользователей и групп хранятся в базе данных, к которой подключен сервер OpenUDS.
{{Note|Если в системе зарегистрировано более одного аутентификатора, и они не отключены, на экран входа будет добавлено поле «Аутентификатор» с раскрывающимся списком. В этом списке можно выбрать аутентификатор, который система будет использовать для проверки пользователя:


Минимальные параметры конфигурации (вкладка «Main»): имя аутентификатора, приоритет и метка.
[[Файл:Openuds_login_03.png|border|OpenUDS. Выбор типа аутентификации пользователей]]


После того, как аутентификатор типа «Internal Database» создан, нужно будет зарегистрировать пользователей и группы пользователей. Для этого следует выбрать аутентификатор «Internal Database», во вкладке «Groups» создать группу пользователей, затем во вкладке «Users» создать пользователей.
При создании любого аутентификатора заполняется поле «Метка» («Label»), которое включает прямую проверку в аутентификаторе. Это позволяет пользователю пройти проверку подлинности с помощью указанного аутентификатора, даже если в среде OpenUDS настроено несколько аутентификаторов. Для этого нужно получить доступ к экрану входа OpenUDS в формате: OpenUDS-server/uds/page/login/label (например, https://192.168.0.53/uds/page/login/AD).
}}


[[Файл:Openuds_authenticators_internal01.png|OpenUDS. «Internal Database» - пользователи]]
Для настройки аутентификации в разделе «Аутентификаторы» («Autentificators») необходимо выбрать тип аутентификации пользователей. Можно выбрать как внешние источники (Active Directory, OpenLDAP и т. д.), так и внутренние (внутренняя база данных, IP-аутентификация):
 
[[Файл:Openuds_authenticators.png|border|OpenUDS. Выбор типа аутентификации пользователей]]
 
===== Внутренняя база данных =====
 
При использовании аутентификации «Внутренняя БД» («Internal Database») данные пользователей и групп хранятся в базе данных, к которой подключен сервер OpenUDS.
 
Для создания аутентификации типа «Внутренняя БД» в разделе «Аутентификаторы» следует нажать кнопку: «Новый» → «Внутренняя БД».
 
Минимальные параметры конфигурации (вкладка «Основной»): имя аутентификатора, приоритет и метка:
 
[[Файл:Openuds-authenticators02.png|border|OpenUDS. Внутренняя база данных]]
 
После того, как аутентификатор типа «Внутренняя БД» создан, нужно будет зарегистрировать пользователей и группы пользователей. Для этого следует выбрать созданный аутентификатор, во вкладке «Группы» («Groups») создать группы пользователей, затем во вкладке «Пользователи» («Users») создать пользователей.
 
[[Файл:Openuds_authenticators_internal01.png|border|OpenUDS. «Internal Database» пользователи]]


==== Regex LDAP Authenticator ====
==== Regex LDAP Authenticator ====
Этот аутентификатор позволяет пользователям и группам пользователей, принадлежащих практически любому аутентификатору на основе LDAP, получать доступ к виртуальным рабочим столам и приложениям.  
Этот аутентификатор позволяет пользователям и группам пользователей, принадлежащих практически любому аутентификатору на основе LDAP, получать доступ к виртуальным рабочим столам и приложениям.  


Параметры конфигурации:
{{Attention|На сервере LDAP должна быть настроена отдельная учётная запись с правами чтения LDAP. От данной учетной записи будет выполняться подключение к серверу каталогов.}}
* вкладка «Main»: название аутентификатора, приоритет, метка, IP-адрес и порт сервера LDAP, тайм-аут;
 
* вкладка «Credentials»: имя пользователя с правами чтения на сервере (формат uid=...,ou=....,dc=...,dc=...), пароль;
====== FreeIPA ======
* вкладка «Ldap info»: база — каталог поиска, класс пользователя.
 
1. В разделе «Аутентификаторы» нажать кнопку: «Новый» → «Аутентификатор Regex LDAP» («Regex LDAP Authenticator»).
 
[[Изображение:openuds-ldap-create.png|border|Аутентификатор Regex LDAP]]
 
2. Заполнить поля первых трёх вкладок (в примере указан домен {{term|freeipa.test}}):
 
На вкладке «Основной» указать имя аутентификатора, приоритет, метку, IP-адрес FreeIPA-сервера, порт (обычно 389 без ssl, 636 с ssl):
 
[[Изображение:openuds-ldap-tab1.png|border|OpenUDS. Настройка аутентификации в FreeIPA]]
 
Вкладка «Учётные данные»: имя пользователя (в формате uid=user_freeipa,cn=users,cn=accounts,dc=example,dc=test) и пароль:
 
[[Изображение:openuds-ldap-tab2.png|border|OpenUDS. Настройка аутентификации в FreeIPA]]
 
Вкладка «LDAP информация»: общая база пользователей, класс пользователей LDAP, идентификатор атрибута пользователя, атрибут имени пользователя, атрибут имени группы:
 
[[Изображение:openuds-ldap-tab3.png|border|OpenUDS. Настройка аутентификации в FreeIPAr]]
 
3. Помимо указания источника пользователей необходимо добавить существующую группу LDAP, в которую они входят. Для этого выбрать созданный аутентификатор, на вкладке «Группы» выбрать «Новый» → «Группа».  
 
[[Изображение:openuds-ldap-group-add.png|border|Новая группа]]
 
4. Заполнить dn существующей группы (для FreeIPA по умолчанию это группа ''cn=ipausers,cn=groups,cn=accounts,dc=freeipa,dc=test''), можно также указать разрешённые пулы:
 
[[Изображение:openuds-ldap-new-group-edit.png|border|Информация о группе FreeIPA]]
 
{{Note|Если на сервере FreeIPA настроена [[FreeIPA/OTP|двухфакторная аутентификация (пароль + OTP)]], в форме входа необходимо указывать пароль и код токена (в формате: <пароль><код&nbsp;токена>).}}
 
====== Active Directory ======
 
{{Note|Для Active Directory у коммерческой версии OpenUDS есть отдельный коннектор.}}
 
Настройка аутентификации в Active Directory (например, на [[ActiveDirectory/DC|samba-dc]]) аналогична FreeIPA кроме некоторых различий (на примере домена {{term|test.alt}}):
 
1. На вкладке «Основной» указать имя аутентификатора, приоритет, метку, IP-адрес сервера AD, порт (обычно 389 без ssl, 636 с ssl):
 
[[Изображение:openuds-ldap-ad-auth0.png|border|OpenUDS. Настройка аутентификации в AD]]


==== IP-аутентификаци ====
2. На вкладке «Учётные данные» указать имя пользователя (можно указать в виде имя@домен) и пароль:
 
[[Изображение:openuds-ldap-ad-auth.png|border|OpenUDS. Интеграция с AD — учетные данные пользователя]]
 
3. На вкладке «LDAP информация» указать общую базу пользователей, класс пользователей LDAP, идентификатор атрибута пользователя (если используется ''userPrincipalName'' имя пользователя для входа указывается в формате user@test.alt,  если ''sAMAccountName'' — имя пользователя без указания домена), атрибут имени пользователя, атрибут имени группы:
 
[[Изображение:openuds-ldap-ad-settings.png|border|OpenUDS. Интеграция с AD — LDAP информация]]
 
Используя кнопку «Проверить» («Test»), можно проверить соединение с Active Directory.
 
{{Note| Ошибка '''Ldap user class seems to be incorrect (no user found by that class)''' не влияет на возможность аутентифицироваться доменному пользователю.}}
 
4. Добавить группу LDAP, в которую входят пользователи. Для этого выбрать созданный аутентификатор, на вкладке «Группы» выбрать «Новый» → «Группа», в открывшемся окне заполнить dn существующей группы (например, ''CN=UDS,CN=Users,DC=test,DC=alt''), можно также указать разрешённые пулы:
 
[[Изображение:Openuds-ldap-new-group-ad.png|border|OpenUDS. Интеграция с Active Directory — добавление группы LDAP]]
 
{{Note| Атрибут '''memberOf''' является многозначным атрибутом, который содержит группы, из которых пользователь является прямым членом, за исключением основной группы, которая представлена primaryGroupId. Поэтому в поле «Группы» не нужно указывать основную группу, например,
<pre>CN=Domain Users,CN=Users,DC=test,DC=alt</pre>
или
<pre>CN=Пользователи домена,CN=Users,DC=test,DC=alt</pre>
}}
 
{{Note|На вкладке «Пользователи» аутентификатора пользователи будут добавляться автоматически после первого входа в систему OpenUDS (пользователи должны входить в группы, указанные в аутентификаторе на вкладке «Группа»):
 
[[Изображение:Openuds-ldap-users-ad.png|OpenUDS. Интеграция с Active Directory — пользователи LDAP]]
 
Можно зарегистрировать пользователя вручную, чтобы назначить ему специальные права перед первым подключением. Для этого необходимо нажать кнопку «Новый» и указать пользователя, его статус (включен или отключен) и уровень доступа (поле «Роль»). Не рекомендуется заполнять поле «Группы», так как система должна автоматически добавить пользователя в группу участников:
 
[[Изображение:Openuds-ldap-users-ad-01.png|border|OpenUDS. Интеграция с AD — регистрация пользователя вручную]]
}}
 
===== IP-аутентификация =====
Этот тип аутентификации обеспечивает доступ клиентов к рабочим столам и виртуальным приложениям по их IP-адресу.
Этот тип аутентификации обеспечивает доступ клиентов к рабочим столам и виртуальным приложениям по их IP-адресу.


Минимальные параметры конфигурации (вкладка «Main»): имя аутентификатора, приоритет и метка.
Для создания аутентификации типа «IP аутентификатор» в разделе «Аутентификаторы» следует нажать кнопку: «Новый» → «IP аутентификатор».
 
Минимальные параметры конфигурации (вкладка «Основной»): имя аутентификатора, приоритет и метка:
 
[[Файл:Openuds_authenticators_ip01.png|border|OpenUDS. IP Autentificator]]
 
Настройки на вкладке «Расширенный»:
*«Видно только из этих сетей» — позволяет отфильтровать сети, из которых будет виден аутентификатор;
*«Разрешить прокси» — позволяет корректно определять IP-адреса клиентов подключения, если есть промежуточный компонент для доступа к серверу OpenUDS, например, балансировщик нагрузки (OpenUDS автоматически определяет IP-адрес клиента подключения. В средах, где настроены балансировщики нагрузки, это обнаружение не удается, поскольку IP-адрес соответствует обнаруженным балансировщикам. Включение этой опции обеспечивает правильное определение IP-адреса клиента).
 
[[Файл:Openuds_authenticators_ip02.png|border|OpenUDS. IP аутентификатор — вкладка «Расширенный» ]]
 
После того, как аутентификатор типа «IP аутентификатор» создан, следует создать группы пользователей. Группа может представлять собой диапазон IP-адресов (192.168.0.1-192.168.0.55), подсеть (192.168.0.0/24) или отдельные IP-адреса (192.168.0.33,192.168.0.50):
 
[[Файл:Openuds_authenticators_ip.png|border|OpenUDS. IP Autentificator - создание группы пользователей]]
 
===== Радиус аутентификатор  =====
 
«Радиус аутентификатор» («Radius Authenticator») — это внешний аутентификатор, который позволяет предоставлять доступ к виртуальным рабочим столам и приложениям пользователям и группам пользователей, принадлежащим аутентификатору на основе RADIUS.
 
Для создания аутентификации типа «Радиус аутентификатор» в разделе «Аутентификаторы» следует нажать кнопку: «Новый» → «Радиус аутентификатор».
 
На вкладке «Основной» необходимо указать имя аутентификатора, приоритет, метку, IP-адрес или имя RADIUS-сервера, порт (по умолчанию 1812), пароль для авторизации на сервере RADIUS (определяется на сервере RADIUS):
 
[[Файл:Openuds-authenticators_radius01.png|border|OpenUDS. Радиус аутентификатор — вкладка «Основной»]]
 
Настройки на вкладке «Расширенный»:
«Идентификатор NAS» — идентифицирует OpenUDS на сервере RADIUS;
«Префикс приложения для атрибутов класса» — позволяет фильтровать, какие группы будут получены из атрибута «класс» сервера RADIUS.
«Глобальная группа» — позволяет принудительно включить всех пользователей в группу. Это позволяет серверу RADIUS (который является «простым» аутентификатором, не поддерживающим группы), назначать ВСЕХ пользователей в группу (даже если она также содержит группы).
 
[[Файл:Openuds-authenticators_radius02.png|border|OpenUDS. Радиус аутентификатор — вкладка «Расширенный»]]
 
С помощью кнопки «Проверить» можно проверить успешность подключения к RADIUS-серверу.
 
После того, как аутентификатор типа «Радиус аутентификатор» создан, нужно будет зарегистрировать группу пользователей. Для этого следует выбрать созданный аутентификатор, во вкладке «Группы» («Groups») создать группу пользователей (необходимо указать группу, указанную на этапе создания аутентификатора в поле «Глобальная группа»):
 
[[Файл:Openuds-authenticators_radius03.png|border|OpenUDS. «Радиус аутентификатор» — группа пользователей]]
 
{{Note|Если на сервере RADIUS настроена двухфакторная аутентификация, в форме входа необходимо указывать пароль и код токена (в формате: <пароль><код токена>).}}
 
==== Многофакторная аутентификация ====
 
Многофакторная аутентификация (МФА) добавляет ещё один уровень защиты в процесс входа.
 
[[Файл:Openuds-mfa-01.png|border|OpenUDS. Выбор типа многофакторной аутентификации пользователей]]
 
OpenUDS поддерживает несколько систем многофакторной аутентификации:
* Многофакторная электронная почта
* Радиус OTP Challenge
* SMS через HTTP
* МФА на основе TOTP
 
OpenUDS также поддерживает другие МФА, интегрированные в сам аутентификатор.
 
===== Многофакторная электронная почта =====
При использовании этого метода, пользователю после ввода логина/пароля будет отправлено электронное письмо с кодом. Данный код необходимо ввести для получения доступа к платформе OpenUDS:
 
[[Файл:Openuds-mfa-mail-04.png|border|OpenUDS. Код полученный по электронной почте]]
 
Минимальные параметры для настройки «Многофакторная электронная почта»:
*вкладка «Основной»:
*:[[Файл:Openuds-mfa-mail-01.png|border|OpenUDS. Многофакторная электронная почта — вкладка «Основной»]]
** «Имя» («Name») — название элемента;
** «Кэширование устройства» («Device Caching») — время (в часах), в течение которого МФА повторно не запрашивается;
** «Срок действия кода МФА» («MFA code validity») — время (в минутах), в течение которого можно использовать полученный код МФА;
*вкладка «SMTP-сервер»:
*:[[Файл:Openuds-mfa-mail-02.png|border|OpenUDS. Многофакторная электронная почта — вкладка «SMTP-сервер»]]
** «SMTP-хост» («SMTP Host») — имя хоста или IP-адрес SMTP-сервера (если используется нестандартный порт, его следует указать после двоеточия);
** «Безопасность» («Security») — протокол безопасности;
** «Имя пользователя» («Username») — пользователь с доступом к SMTP-серверу;
** «Пароль» («Password») — пароль пользователя;
*вкладка «Конфигурация»:
*:[[Файл:Openuds-mfa-mail-03.png|border|OpenUDS. Многофакторная электронная почта — вкладка «Конфигурация»]]
** «Предмет» («Subject») — тема письма;
** «Из электронной почты» («From Email») — адрес электронной почты, который будет использоваться в качестве отправителя;
** «Политика для пользователей без поддержки МФА» («Policy for users without MFA Support») — политика, которая будет использоваться для пользователей с ненастроенной МФА. Возможные значения: «Allow user login» — разрешить вход, «Deny user login» — запретить вход, «Allow user login if it IP is in networks list» — разрешить вход, если IP пользователя в списке сетей, «Deny user login if it IP is in networks list» — запретить вход, если IP пользователя в списке сетей;
** «Текст сообщения» («Mail text») — текст сообщения. Если пусто, будет использоваться сообщение по умолчанию. Возможно использовать следующие переменные:
***{code} — код
***{ip} — IP-адрес
***{username} — имя пользователя
***{justUsername} — имя пользователя без @
 
===== SMS через HTTP =====
 
При использовании этого метода, пользователю после ввода логина/пароля будет отправлено сообщение с кодом. Данный код необходимо ввести для получения доступа к платформе OpenUDS.
 
Минимальные параметры для настройки «SMS через HTTP»:
*вкладка «Основной»:
*:[[Файл:Openuds-mfa-sms-01.png|border|OpenUDS. SMS через HTTP — вкладка «Основной»]]
** «Имя» («Name») — название элемента;
** «Кэширование устройства» («Device Caching») — время (в часах), в течение которого МФА повторно не запрашивается;
** «Срок действия кода МФА» («MFA code validity») — время (в минутах), в течение которого можно использовать полученный код МФА;
*вкладка «HTTP-сервер»:
*:[[Файл:Openuds-mfa-sms-02.png|border|OpenUDS. SMS через HTTP — вкладка «HTTP-сервер»]]
** «Шаблон URL для отправки SMS» («URL pattern for SMS sending») — шаблон URL для отправки СМС (может содержать следующие переменные {code} — код для отправки, {phone/+phone} — номер телефона, {username} — имя пользователя, {justUsername} — имя пользователя без @);
** «Способ отправки СМС» («SMS sending method») — метод, который будет использоваться для отправки СМС;
** «Параметры для отправки СМС POST/PUT» («Parameters for SMS POST/PUT sending») — пользователь с доступом к SMTP-серверу;
** «Кодировка СМС» («SMS encoding») — кодировка, которая будет использоваться в СМС;
*вкладка «HTTP-аутентификация»:
*:[[Файл:Openuds-mfa-sms-03.png|border|OpenUDS. SMS через HTTP — вкладка «HTTP-аутентификация»]]
** «Метод аутентификации по СМС» («SMS authentication method») — метод аутентификации по SMS (None, HTTP Basic Auth, HTTP Digest Auth);
** «Пользователь или токен СМС-аутентификации» («SMS authentication user or token») — пользователь или токен для  СМС-аутентификации;
** «СМС-пароль аутентификации» («SMS authentication password») — пароль для СМС-аутентификации;
*вкладка «HTTP-ответ»:
*:[[Файл:Openuds-mfa-sms-04.png|border|OpenUDS. SMS через HTTP — вкладка «HTTP-ответ»]]
** «СМС ответ ОК регулярное выражение» («SMS response OK regex») — регулярное выражение для СМС-ответа ОК. Если пусто, ответ считается ОК, если код состояния равен 200;
*вкладка «Конфигурация»:
*:[[Файл:Openuds-mfa-sms-05.png|border|OpenUDS. SMS через HTTP — вкладка «Конфигурация»]]
** «Действие при ошибке ответа СМС» («SMS response error action») — политика, которая будет использоваться при ошибке. Возможные значения: «Allow user login» — разрешить вход, «Deny user login» — запретить вход, «Allow user login if it IP is in networks list» — разрешить вход, если IP пользователя в списке сетей, «Deny user login if it IP is in networks list» — запретить вход, если IP пользователя в списке сетей;
** «Пользователь без политики МФА» («User without MFA Support») — политика, которая будет использоваться для пользователей с ненастроенной МФА. Возможные значения: «Allow user login» — разрешить вход, «Deny user login» — запретить вход, «Allow user login if its IP is in networks list» — разрешить вход, если IP пользователя в списке сетей, «Deny user login if its IP is in networks list» — запретить вход, если IP пользователя в списке сетей.
 
===== МФА на основе TOTP =====
При использовании этого метода, пользователь после ввода логина/пароля будет перенаправлен на второй этап аутентификации, где он должен будет ввести код TOTP, генерируемый в приложении (например, Google Authenticator, FreeOTP и т.д.).
 
При входе в систему пользователю без активного второго фактора будет предоставлена возможность самостоятельно запустить процесс регистрации второго фактора (создания профиля TOTP в приложении). Для данного пользователя будет сгенерирован секретный ключ в формате QR-кода:
 
[[Файл:Openuds-mfa-totp-03.png|border|OpenUDS. QR-код]]
 
При входе в систему у пользователя с активным вторым фактором будет запрошен одноразовый код:
 
[[Файл:Openuds-mfa-totp-04.png|border|OpenUDS. Запрос одноразового (TOTP) кода]]
 
Параметры для настройки «МФА на основе TOTP»:
*вкладка «Основной»:
*:[[Файл:Openuds-mfa-totp-01.png|border|OpenUDS. МФА на основе TOTP — вкладка «Основной»]]
** «Имя» («Name») — название элемента;
** «Эмитент» («Issuer») — эмитент OTP (после создания его нельзя изменить);
** «Кэширование устройства» («Device Caching») — время (в часах), в течение которого МФА повторно не запрашивается;
** «Срок действия кода МФА» («MFA code validity») — время (в минутах), в течение которого можно использовать полученный код МФА;
*вкладка «Конфигурация»:
*:[[Файл:Openuds-mfa-totp-02.png|border|OpenUDS. МФА на основе TOTP — вкладка «Конфигурация»]]
** «Действительное окно» («Valid Window») — количество кодов, которые будут действительны до и после текущего;
** «TOTP-сети» («TOTP Networks») — у пользователя, из этих сетей, не будет запрашиваться одноразовый пароль.
 
=== Настройка «Менеджеры ОС» ===
{{Note|Для каждой службы, развернутой в OpenUDS, потребуется «Менеджер ОС», за исключением случаев, когда используется служба [[VDI/OpenUDS#Удалённый_доступ_к_отдельному_серверу_(Static_IP_Machine_Provider)|«Поставщик машин статических IP»]].}}
 
[[Файл:Openuds_os_manager01.png|border|OpenUDS. Настройка «OS Manager»]]
 
«Менеджер ОС» («OS Manager») запускает ранее настроенные службы:
* «Linux OS Active Directory Manager» используется для виртуальных рабочих столов на базе Linux, которые являются членами домена AD;
* «Linux OS FreeIPA Manager» используется для виртуальных рабочих столов на базе Linux, которые являются членами домена FreeIPA;
* «Linux ОС менеджер» («Linux OS Manager») используется для виртуальных рабочих столов на базе Linux, которые не являются частью домена. Он выполняет задачи переименования и управления сеансами виртуальных рабочих столов;
* «Windows Basic ОС менеджер» («Windows Basic OS Manager») используется для виртуальных рабочих столов на базе Windows, которые не являются частью домена AD;
* «Windows Domain ОС менеджер» («Windows Domain OS Manager») используется для виртуальных рабочих столов на базе Windows, которые являются членами домена AD.
 
{{Note|Менеджеры «Linux OS FreeIPA Manager» и «Linux OS Active Directory Manager» доступны в {{pkg|openuds-server}}, начиная {{since|3.6.0-alt2}}.}}
 
==== Linux ОС менеджер/Windows Basic ОС менеджер ====
 
В данном разделе описаны минимальные настройки для «Linux ОС менеджер» и «Windows Basic ОС менеджер».
 
Вкладка «Основной»:
*«Имя» («Name») — название;
*«Действие при выходе из системы» («Logout Action») — действие, которое OpenUDS будет выполнять на виртуальном рабочем столе при закрытии сеанса пользователя. «Держать сервис привязанным» («Keep service assigned») — постоянный пул, при выходе пользователя (выключении ВМ), ВМ запускается заново, при повторном входе пользователю будет назначен тот же рабочий стол. «Удалить сервис» («Remove service») — непостоянный пул, при выходе пользователя из системы, ВМ удаляется и создается заново. «Держать сервис привязанным даже в новой публикации» («Keep service assigned even on new publication») — сохранение назначенной службы даже при создании новой публикации пула услуг;
* «Максимальное время простоя» («Max. Idle time») — время простоя виртуального рабочего стола (в секундах). По истечении этого времени OpenUDS Actor автоматически закроет сеанс. Отрицательные значения и значения менее 300 секунд отключают эту опцию.
 
[[Файл:Openuds_os_manager.png|border|OpenUDS. Настройка «OS Manager»]]
 
Вкладка «Расширенный»:
*«Выход по календарю» («Calendar logout» ) — если этот параметр установлен, OpenUDS попытается завершить сессию пользователя, когда для текущего соединения истечет время доступа (если параметр не установлен, пользователю будет разрешено продолжить работу).
 
==== Linux OS Active Directory Manager ====
Минимальные настройки для «Linux OS Active Directory Manager»:
 
Вкладка «Основной»:
*«Имя» («Name») — название;
*«Домен» («Domain») — домен, к которому будут присоединены виртуальные рабочие столы. Необходимо использовать формат FQDN (например, test.alt);
*«Аккаунт» («Account») — учетная запись пользователя с правами на добавление машин в домен;
*«Пароль» («Password») —  пароль пользователя указанного в поле «Аккаунт»;
*«OU» — организационная единица, в которую будут добавлены виртуальные хосты (если не указано, хосты будут зарегистрированы в подразделении по умолчанию — Computers). Формат поддерживаемых OU: OU = name_OU_last_level, ... OU = name_OU_first_level, DC = name_domain, DC = extension_domain. Во избежание ошибок при введении формата OU, рекомендуется сверяться с полем «distinguishedName» в свойствах атрибута OU;
*«Действие при выходе из системы» («Logout Action») — действие, которое OpenUDS будет выполнять на виртуальном рабочем столе при закрытии сеанса пользователя. «Держать сервис привязанным» («Keep service assigned») — постоянный пул, при выходе пользователя (выключении ВМ), ВМ запускается заново, при повторном входе пользователю будет назначен тот же рабочий стол. «Удалить сервис» («Remove service») — непостоянный пул, при выходе пользователя из системы, ВМ удаляется и создается заново. «Держать сервис привязанным даже в новой публикации» («Keep service assigned even on new publication») — сохранение назначенной службы даже при создании новой публикации пула услуг;
*«Максимальное время простоя» («Max. Idle time») — время простоя виртуального рабочего стола (в секундах). По истечении этого времени OpenUDS Actor автоматически закроет сеанс. Отрицательные значения и значения менее 300 секунд отключают эту опцию.
 
[[Файл:Openuds_os_manager_ad01.png|border|OpenUDS. Настройка «Linux OS Active Directory Manager»]]
 
{{Note|Для возможности ввода компьютера в домен, на нём должен быть доступен сервер DNS, имеющий записи про контроллер домена Active Directory. }}
 
Вкладка «Расширенный»:
*«Client software» — позволяет указать, если это необходимо, способ подключения (SSSD или Winbind);
*«Membership software» — позволяет указать, если это необходимо, утилиту, используемую для подключения к домену (Samba или adcli);
*«Убрать машину» («Machine clean») — если этот параметр установлен, OpenUDS удалит запись о вирт. рабочем столе в указанном подразделении после удаления рабочего стола (необходимо, чтобы пользователь, указанный в поле «Аккаунт», имел права на выполнение данного действия в OU);
*«Использовать SSL» («Use SSL») — если этот параметр установлен, будет использоваться SSL-соединение;
*«Automatic ID mapping» — автоматический маппинг ID;
*«Выход по календарю» («Calendar logout») — если этот параметр установлен, OpenUDS попытается завершить сессию пользователя, когда для текущего соединения истечет время доступа (если параметр не установлен, пользователю будет разрешено продолжить работу).
 
[[Файл:Openuds_os_manager_ad02.png|border|OpenUDS. Настройка «Linux OS Active Directory Manager»]]
 
==== Linux OS FreeIPA Manager ====
Минимальные настройки для «Linux OS FreeIPA Manager»:
 
Вкладка «Основной»:
*«Имя» («Name») — название;
*«Домен» («Domain») — домен FreeIPA, к которому будут присоединены виртуальные рабочие столы. Необходимо использовать формат FQDN (например, example.test);
*«Аккаунт» («Account») — учетная запись пользователя с правами на добавление машин в домен;
*«Пароль» («Password») —  пароль пользователя указанного в поле «Аккаунт»;
*«Действие при выходе из системы» («Logout Action») — действие, которое OpenUDS будет выполнять на виртуальном рабочем столе при закрытии сеанса пользователя. «Держать сервис привязанным» («Keep service assigned») — постоянный пул, при выходе пользователя (выключении ВМ), ВМ запускается заново, при повторном входе пользователю будет назначен тот же рабочий стол. «Удалить сервис» («Remove service») — непостоянный пул, при выходе пользователя из системы, ВМ удаляется и создается заново. «Держать сервис привязанным даже в новой публикации» («Keep service assigned even on new publication») — сохранение назначенной службы даже при создании новой публикации пула услуг;
*«Максимальное время простоя» («Max. Idle time») — время простоя виртуального рабочего стола (в секундах). По истечении этого времени OpenUDS Actor автоматически закроет сеанс. Отрицательные значения и значения менее 300 секунд отключают эту опцию.
 
[[Файл:Openuds_os_manager_freeipa01.png|border|OpenUDS. Настройка «Linux OS FreeIPA Manager»]]


После того, как аутентификатор типа «IP Autentificator» создан, следует создать группы пользователей. Группа может представлять собой диапазон IP-адресов (192.168.0.1-192.168.0.55), подсеть (192.168.0.0/24) или отдельные IP-адреса (192.168.0.33,192.168.0.50)
{{Note|Для возможности ввода компьютера в домен, на нём должен быть доступен сервер DNS, имеющий записи про сервер FreeIPA. }}


[[Файл:Openuds_authenticators_ip.png|OpenUDS. IP Autentificator - создание группы пользователей]]
Вкладка «Расширенный»:
*«Client software» — позволяет указать, если это необходимо, способ подключения;
*«Membership software» — позволяет указать, если это необходимо, утилиту, используемую для подключения к домену;
*«Убрать машину» («Machine clean») — если этот параметр установлен, OpenUDS удалит запись о вирт. рабочем столе в указанном подразделении после удаления рабочего стола (необходимо, чтобы пользователь, указанный в поле «Аккаунт», имел права на выполнение данного действия в OU);
*«Использовать SSL» («Use SSL») — если этот параметр установлен, будет использоваться SSL-соединение;
*«Automatic ID mapping» — автоматический маппинг ID;
*«Выход по календарю» («Calendar logout») — если этот параметр установлен, OpenUDS попытается завершить сессию пользователя, когда для текущего соединения истечет время доступа (если параметр не установлен, пользователю будет разрешено продолжить работу).


=== Настройка групп пользователей ===
[[Файл:Openuds_os_manager_freeipa02.png|border|OpenUDS. Настройка «Linux OS FreeIPA Manager»]]
На вкладке "Groups" необходимо создать группы пользователей с указанием какую базу пользователей использовать.


=== Настройка «OS Manager» ===
==== Windows Domain ОС менеджер ====
Минимальные настройки для «Windows Domain ОС менеджер»:


[[Файл:Openuds_os_manager01.png|OpenUDS. Настройка «OS Manager»]]
Вкладка «Основной»:
*«Имя» («Name») — название;
*«Домен» («Domain») — домен, к которому будут присоединены виртуальные рабочие столы. Необходимо использовать формат FQDN (например, test.alt);
*«Аккаунт» («Account») — учетная запись пользователя с правами на добавление машин в домен;
*«Пароль» («Password») —  пароль пользователя указанного в поле «Аккаунт»;
*«OU» — организационная единица, в которую будут добавлены виртуальные хосты (если не указано, хосты будут зарегистрированы в подразделении по умолчанию — Computers). Формат поддерживаемых OU: OU = name_OU_last_level, ... OU = name_OU_first_level, DC = name_domain, DC = extension_domain. Во избежание ошибок при введении формата OU, рекомендуется сверяться с полем «distinguishedName» в свойствах атрибута OU;
*«Действие при выходе из системы» («Logout Action») — действие, которое OpenUDS будет выполнять на виртуальном рабочем столе при закрытии сеанса пользователя. «Держать сервис привязанным» («Keep service assigned») — постоянный пул, при выходе пользователя (выключении ВМ), ВМ запускается заново, при повторном входе пользователю будет назначен тот же рабочий стол. «Удалить сервис» («Remove service») — непостоянный пул, при выходе пользователя из системы, ВМ удаляется и создается заново. «Держать сервис привязанным даже в новой публикации» («Keep service assigned even on new publication») — сохранение назначенной службы даже при создании новой публикации пула услуг;
*«Максимальное время простоя» («Max. Idle time») — время простоя виртуального рабочего стола (в секундах). По истечении этого времени OpenUDS Actor автоматически закроет сеанс. Отрицательные значения и значения менее 300 секунд отключают эту опцию.


«Linux OS Manager» используется для виртуальных рабочих столов на базе Linux. Он выполняет задачи переименования и управления сеансами виртуальных рабочих столов.
[[Файл:Openuds_os_manager_win01.png|border|OpenUDS. Настройка «Windows Domain OS Manager»]]


«Windows Basic OS Manager» используется для виртуальных рабочих столов на базе Windows, которые не являются частью домена AD.
{{Note|Для возможности ввода компьютера в домен, на нём должен быть доступен сервер DNS, имеющий записи про контроллер домена Active Directory. }}


Минимальные настройки для «Linux OS Manager» и «Windows Basic OS Manager»:  
Вкладка «Расширенный»:
*«Name» — название;
*«Группа машин» («Machine Group») — указывает, к какой группе машин AD будут добавлены виртуальные рабочие столы, созданные UDS;
*«Logout Action» — действие, которое OpenUDS будет выполнять на виртуальном рабочем столе при закрытии сеанса пользователя («Keep service assigned» = постоянная ВМ, при выходе пользователя, система не предпринимает никаких действий, при повторном входе пользователю будет назначен тот же рабочий стол. «Remove service» = непостоянная ВМ, при выходе пользователя из системы, система уничтожит рабочий стол. «Keep service assigned even on new publication» — сохранение назначенной службы даже при создании новой публикации «Service Pool»);
*«Убрать машину» («Machine clean») — если этот параметр установлен, OpenUDS удалит запись о вирт. рабочем столе в указанном подразделении после удаления рабочего стола (необходимо, чтобы пользователь, указанный в поле «Аккаунт», имел права на выполнение данного действия в OU);
*«Max. Idle time» («Время простоя») время (в секундах) простоя виртуального рабочего стола. По истечении этого времени OpenUDS Actor автоматически закроет сеанс. Отрицательные значения и значения менее 300 секунд отключают эту опцию.
*«Предпочитаемый сервер» («Server Hint») — если серверов AD несколько, можно указать, какой из них использовать предпочтительнее;
*«Использовать SSL» («Use SSL») — если этот параметр установлен, будет использоваться SSL-соединение;
*«Выход по календарю» («Calendar logout») — если этот параметр установлен, OpenUDS попытается завершить сессию пользователя, когда для текущего соединения истечет время доступа (если параметр не установлен, пользователю будет разрешено продолжить работу).


[[Файл:Openuds_os_manager.png|OpenUDS. Настройка «OS Manager»]]
[[Файл:Openuds_os_manager_win02.png|border|OpenUDS. Настройка «Windows Domain OS Manager»]]


=== Настройка «Transports» ===
=== Настройка «Transports» ===
Для подключения к виртуальным рабочим столам необходимо создать «Transports». Это приложения, которые будут выполняться на клиенте и будут отвечать за предоставление доступа к реализованной службе.
Для подключения к виртуальным рабочим столам необходимо создать транспорт. Транспорт — это приложение, которое выполняется на клиенте и отвечает за предоставление доступа к реализованной службе.


[[Файл:Openuds_transports.png|OpenUDS. Настройка «Transports»]]
[[Файл:Openuds_transports.png|border|OpenUDS. Настройка «Transports»]]


Можно создать один транспорт для различных «пулов» или установить по одному для каждого «пула».
Можно создать один транспорт для различных «пулов» или установить по одному транспорту для каждого «пула».


При создании «Transports» необходимо выбрать его тип:
При создании транспорта необходимо выбрать его тип:
«Direct» — используется, если пользователь имеет доступ к виртуальным рабочим столам из внутренней сети (например, LAN, VPN и т. д.);
* «Прямой» («Direct») — используется, если пользователь имеет доступ к виртуальным рабочим столам из внутренней сети (например, LAN, VPN и т. д.);
«Tunneled» — используется, если у пользователя нет прямого подключения к рабочему столу.  
* «Туннельный» («Tunneled») — используется, если у пользователя нет прямого подключения к рабочему столу.  


==== RDP (direct) ====
==== RDP (прямой) ====


«RDP» позволяет пользователям получать доступ к виртуальным рабочим столам Windows/Linux. И на клиентах подключения, и на виртуальных рабочих столах должен быть установлен и включен протокол RDP (для виртуальных рабочих столов Linux необходимо использовать XRDP).
«RDP» позволяет пользователям получать доступ к виртуальным рабочим столам Windows/Linux. И на клиентах подключения, и на виртуальных рабочих столах должен быть установлен и включен протокол RDP (для виртуальных рабочих столов Linux необходимо использовать XRDP).


==== SPICE (direct) ====
Минимальные параметры для настройки транспорта RDP:
*Вкладка «Основной»:
**«Имя» («Name») — название транспорта;
**«Приоритет» («Priority») — приоритет, чем меньше значение приоритета, тем выше данный транспорт будет указан в списке доступных transports для сервиса. Транспорт с самым низким приоритетом, будет транспортом по умолчанию;
**«Сетевой доступ» («Networks Access») — разрешает или запрещает доступ пользователей к службе, в зависимости от сети из которой осуществляется доступ;
**«Сети» («Networks») — сетевые диапазоны, подсети или IP-адреса (настраиваются в разделе «Сети»). Пустое поле означает «все сети». Используется вместе с параметром «Сетевой доступ»;
**«Разрешенные устройства» («Allowed Devices») — разрешает доступ к службе только с выбранных устройств. Пустое поле означает «все устройства»;
**«Сервис-пулы» («Service Pools») — позволяет назначить транспорт одному или нескольким ранее созданным пулам услуг. Можно оставить это поле пустым и выбрать способы подключения при создании пула услуг.
*:[[Файл:Openuds-rdp-main.png|border|OpenUDS. RDP - вкладка «Main»]]
 
*Вкладка «Учётные данные» («Credentials»):
**«Пропустить данные аккаунта» («Empty creds») — если установлено значение «Да», учётные данные для доступа к виртуальному рабочему столу будут запрашиваться при подключении к серверу (не следует использовать при подключении к Windows, т.к. данные не запрашиваются). Если установлено значение «Нет», будут использоваться данные OpenUDS (см. ниже);
**«Имя пользователя» («Username») — имя пользователя, которое будет использоваться для доступа к рабочему столу (пользователь должен существовать на ВМ). Если данное поле пустое, будет использован логин авторизовавшегося в веб-интерфейсе OpenUDS пользователя;
**«Пароль» («Password») — пароль пользователя, указанного в поле «Username»;
**«Без домена» («Without Domain») — указывает, перенаправляется ли доменное имя вместе с пользователем. Значение «Да» равносильно пустому полю «Domain»;
**«Домен» («Domain») — домен. Если поле не пустое, то учётные данные будут использоваться в виде DOMAIN\user.
*:[[Файл:Openuds-rdp-сredentials.png|border|Вкладка «Credentials»]]
 
* На вкладке вкладке «Параметры» («Parameters») можно разрешить/запретить перенаправления дисков, принтеров и других устройств:
**«Разрешить смарткарты» («Allow Smartcards») — разрешить перенаправление смарт-карт;
**«Разрешить принтеры» («Allow Printers») — включить перенаправление принтеров;
**«Политика локальных дисков» («Local drives policy») — включить перенаправление дисков:
***«Allow none» — не перенаправлять диски;
***«Allow PnP drives» — во время активного сеанса перенаправлять только подключенные диски;
***«Allow any drive» — перенаправлять все диски;
**« Принудительное подключение дисков» («Force drives») — принудительное перенаправление определённых дисков;
**«Разрешить серийные порты» («Allow Serials») — включить перенаправление последовательного порта;
**«Включить буфер обмена» («Enable clipboard») — разрешить общий буфер обмена;
**«Включить звук» («Enable sound») — перенаправлять звук с рабочего стола на клиент подключения;
**«Включить веб-камеру» («Enable webcam») — перенаправлять веб-камеру;
**«USB-перенаправление» («USB redirection») — включить перенаправление USB;
**«Поддержка Credssp» («Credssp Support») — использовать «redential Security Support Provider»;
**«Порт RDP» («Port RDP») — порт RDP (по умолчанию 3389).
*:[[Файл:Openuds-rdp-parameters.png|border|OpenUDS. RDP - Вкладка «Parameters»]]
 
*На вкладке «Экран/Дисплей» («Display») настраиваются параметры окна рабочего стола:
**«Размер экрана» («Screen Size») — размер окна рабочего стола;
**«Глубина цвета» («Color depth») — глубина цвета;
**«Обои/темы» («Wallpaper/theme») — отображать фона рабочего стола;
**«Несколько мониторов» («Multiple monitors») — использовать несколько мониторов (только для клиентов Windows);
**«Разрешить композицию рабочего стола» («Allow Desk. Comp.») — включить Desktop Composition;
**«Сглаживание шрифтов» («Font Smoothing») — активирует сглаживание шрифтов;
**«Окно подключения» («Connection Bar») — показывать панель подключения (только для клиентов Windows).
*:[[Файл:Openuds-rdp-display.png|border|Вкладка «Display»]]
 
*Вкладка «Linux Client»:
**«Мультимедийная синхронизация» («Multimedia sync») — включает параметр мультимедиа на клиенте FreeRDP;
**«Использовать Alsa» («Use Alsa») — использовать звук через Alsa;
**«Строка принтера» («Printer string») —  принтер, используемый клиентом xfreerdp (если включено перенаправление принтера). Пример: «HP_LaserJet_M1536dnf_MFP» (названия подключенных принтеров можно вывести командой lpstat -a);
**«Строка Smartcard» («Smartcard string») — токен, используемый клиентом xfreerdp (если включено перенаправление смарт-карт). Пример: «Aktiv Rutoken ECP 00 00».
**«Пользовательские параметры» («Custom parameters») — здесь можно указать любой параметр, поддерживаемый клиентом FreeRDP.
*:[[Файл:Openuds-rdp-linuxclient.png|border|Вкладка «Linux Client»]]
 
*Вкладка «Расширенный» («Advanced»):
**«Метка» («Label») — метка транспорта метапула (используется для того чтобы назначить несколько транспортов метапулу).
 
==== RDP (туннельный) ====


«SPICE» позволяет пользователям получать доступ к виртуальным рабочим столам Windows/Linux. На клиентах подключения должен быть установлен клиент «SPICE» (Virt-Manager). Транспортный протокол «SPICE» может использоваться только с oVirt/RHEV и OpenNebula.
Все настройки аналогичны настройке [[VDI/OpenUDS#RDP_(прямой)|RDP]], за исключением настроек на вкладке «Туннель».
*Вкладка «Туннель» («Tunnel»):
**«Туннельный сервер» («Tunnel Server») — IP-адрес (или имя) OpenUDS Tunnel. Если доступ к рабочему столу осуществляется через глобальную сеть, необходимо ввести общедоступный IP-адрес сервера OpenUDS Tunnel. Формат: IP_Tunneler:Port;
**«Время ожидания туннеля» («Tunnel wait time») — максимальное время ожидания туннеля;
**«Принудительная проверка SSL-сертификата» («Force SSL certificate verification») — принудительная проверка сертификата туннельного сервера.
*:[[Файл:Openuds-x2go-tunnel.png|border|OpenUDS. RDP (туннельный) — вкладка «Tunnel»]]


==== X2Go (direct) ====
==== X2Go (прямой) ====


«X2Go» позволяет пользователям получать доступ к виртуальным рабочим столам Linux. И на клиентах подключения (клиент), и на виртуальных рабочих столах (сервере) должен быть установлен и включен «X2Go».
«X2Go» позволяет пользователям получать доступ к виртуальным рабочим столам Linux. И на клиентах подключения (клиент), и на виртуальных рабочих столах (сервере) должен быть установлен и включен «X2Go».


Минимальные параметры для настройки транспорта X2Go:
*Вкладка «Основной»:
**«Имя» («Name») — название транспорта;
**«Приоритет» («Priority») — приоритет. Чем меньше значение приоритета, тем выше данный транспорт будет указан в списке доступных transports для сервиса. Транспорт с самым низким приоритетом, будет транспортом по умолчанию;
**«Сетевой доступ» («Networks Access») — разрешает или запрещает доступ пользователей к службе, в зависимости от сети из которой осуществляется доступ;
**«Сети» («Networks») — сетевые диапазоны, подсети или IP-адреса (настраиваются в разделе «Networks»). Пустое поле означает «все сети». Используется вместе с параметром «Networks Access»;
**«Разрешенные устройства» («Allowed Devices») — разрешает доступ к службе только с выбранных устройств. Пустое поле означает «все устройства»;
**«Сервис-пулы» («Service Pools») — позволяет назначить транспорт одному или нескольким ранее созданным пулам услуг. Можно оставить это поле пустым и выбрать способы подключения при создании пула услуг.
*:[[Файл:Openuds-x2go-main.png|border|Вкладка «Main»]]
*Вкладка «Учётные данные» («Credentials»):
**«Имя пользователя» («Username») — имя пользователя, которое будет использоваться для доступа к рабочему столу (пользователь должен существовать на ВМ). Если данное поле пустое, будет использован логин авторизовавшегося в веб-интерфейсе OpenUDS пользователя.
*:[[Файл:Openuds-x2go-сredentials.png|border|Вкладка «Credentials»]]
*Вкладка «Параметры» («Parameters»):
**«Размер экрана» («Screen Size») — размер окна рабочего стола;
**«Экран» («Desktop») — менеджер рабочего стола (Xfce, Mate и д.р.) или виртуализация приложений Linux (UDS vAPP);
**«vAPP» — полный путь до приложения (если «Desktop» = UDS vAPP) (см. [[OpenUDS_виртуализация_Linux_приложений#Настройки_на_сервере_OpenUDS|Виртуализация приложений Linux]]);
**«Включить звук» («Enable sound») — включить звук;
**«Перенаправить домашнюю папку» («Redirect home folder») — перенаправить домашнюю папку клиента подключения на виртуальный рабочий стол (на Linux также перенаправлять /media);
**«Скорость» («Speed») — скорость подключения.
*:[[Файл:Openuds-x2go-parameters.png|border|Вкладка «Parameters»]]
*Вкладка «Расширенный» («Advanced»):
**«Звук» («Sound») — тип звукового сервера;
**«Клавиатура» («Keyboard») — раскладка клавиатуры;
**«Метка» («Label») — метка транспорта метапула (используется для того чтобы назначить несколько транспортов метапулу).
*:[[Файл:Openuds-x2go-advanced.png|border|Вкладка «Advanced»]]
==== X2Go (туннельный) ====
Все настройки аналогичны настройке [[VDI/OpenUDS#X2Go_(прямой)|X2Go]], за исключением настроек на вкладке «Туннель».
*Вкладка «Туннель» («Tunnel»):
**«Туннельный сервер» («Tunnel Server») — IP-адрес (или имя) OpenUDS Tunnel. Если доступ к рабочему столу осуществляется через глобальную сеть, необходимо ввести общедоступный IP-адрес сервера OpenUDS Tunnel. Формат: IP_Tunneler:Port;
**«Время ожидания туннеля» («Tunnel wait time») — максимальное время ожидания туннеля;
**«Принудительная проверка SSL-сертификата» («Force SSL certificate verification») — принудительная проверка сертификата туннельного сервера.
*:[[Файл:Openuds-x2go-tunnel.png|border|OpenUDS. X2Go (туннельный) — вкладка «Tunnel»]]
==== SPICE (прямой) ====
{{Attention|Транспортный протокол «SPICE» может использоваться только с oVirt/RHEV и OpenNebula. С {{pkg|openuds-server}}, начиная {{since|3.6.0-alt3}} транспортный протокол «SPICE» может также использоваться с PVE.}}
«SPICE» позволяет пользователям получать доступ к виртуальным рабочим столам Windows/Linux. На клиентах подключения должен быть установлен клиент «SPICE» (Virt-Manager).
{{Attention|Для работы прямого подключения по протоколу SPICE на сервере OpenUDS и клиентах OpenUDS, откуда осуществляется подключение, имена узлов платформы виртуализации должны корректно разрешаться в IP-адреса этих узлов.}}
Минимальные параметры для настройки транспорта SPICE:
*Вкладка «Основной»:
**«Имя» («Name») — название транспорта;
**«Приоритет» («Priority») — приоритет, чем меньше значение приоритета, тем выше данный транспорт будет указан в списке доступных transports для сервиса. Транспорт с самым низким приоритетом, будет транспортом по умолчанию;
**«Сертификат» («Certificate») — сертификат сгенерированный в ovirt-engine/RHV-manager или в OpenNebula. Требуется для подключения к виртуальным рабочим столам;
**«Сетевой доступ» («Networks Access») — разрешает или запрещает доступ пользователей к службе, в зависимости от сети из которой осуществляется доступ;
**«Сети» («Networks») — сетевые диапазоны, подсети или IP-адреса (настраиваются в разделе «Сети»). Пустое поле означает «все сети». Используется вместе с параметром «Сетевой доступ»;
**«Разрешенные устройства» («Allowed Devices») — разрешает доступ к службе только с выбранных устройств. Пустое поле означает «все устройства»;
**«Сервис-пулы» («Service Pools») — позволяет назначить транспорт одному или нескольким ранее созданным пулам услуг. Можно оставить это поле пустым и выбрать способы подключения при создании пула услуг.
*:[[Файл:Openuds-spice-main.png|border|OpenUDS. SPICE — вкладка «Main»]]
*Вкладка «Расширенный» («Advanced»):
**«Полноэкранный режим» («Fullscreen Mode») — включает полноэкранный режим виртуального рабочего стола;
**«Перенаправление смарткарты» («Smartcard Redirect») — включает перенаправление смарт-карт;
**«Включить USB» («Enable USB») — разрешает перенаправление устройств, подключенных к порту USB;
**«Новый USB автообмен» («New USB Auto Sharing») — позволяет перенаправлять PnP-устройства, подключенные к USB-порту;
**«SSL-соединение» («SSL Connection») — использовать SSL-соединение;
**«Переопределить прокси» («Override Proxy») — использовать указанный прокси вместо того, который предоставляется гипервизором (формат http://хост:порт);
**«Метка» («Label») — метка транспорта метапула (используется для того чтобы назначить несколько транспортов метапулу).
*:[[Файл:Openuds-spice-advanced.png|border|OpenUDS. SPICE — Вкладка «Advanced»]]
==== HTML5 RDP (туннельный) ====
«HTML5 RDP» позволяет пользователям получать доступ к виртуальным рабочим столам Windows/Linux через протокол RDP с использованием браузера, поддерживающего HTML5 (для рабочих столов Linux на машинах должен быть установлен пакет XRDP, для рабочих столов Windows необходимо настроить доступ HTML5 RDP).
Минимальные параметры для настройки транспорта HTML5 RDP:
*Вкладка «Основной»:
**«Имя» («Name») — название транспорта;
**«Приоритет» («Priority») — приоритет, чем меньше значение приоритета, тем выше данный транспорт будет указан в списке доступных transports для сервиса. Транспорт с самым низким приоритетом, будет транспортом по умолчанию;
**«Сетевой доступ» («Networks Access») — разрешает или запрещает доступ пользователей к службе, в зависимости от сети из которой осуществляется доступ;
**«Сети» («Networks») — сетевые диапазоны, подсети или IP-адреса (настраиваются в разделе «Сети»). Пустое поле означает «все сети». Используется вместе с параметром «Сетевой доступ»;
**«Разрешенные устройства» («Allowed Devices») — разрешает доступ к службе только с выбранных устройств. Пустое поле означает «все устройства»;
**«Сервис-пулы» («Service Pools») — позволяет назначить транспорт одному или нескольким ранее созданным пулам услуг. Можно оставить это поле пустым и выбрать способы подключения при создании пула услуг.
*:[[Файл:Openuds-html5rdp-main.png|border|OpenUDS. HTML5 RDP — вкладка «Main»]]
*Вкладка «Туннель» («Tunnel»):
**«Туннельный сервер» («Tunnel Server») — IP-адрес или имя OpenUDS Tunnel. Формат: http(s)://IP_Tunneler:[Port] (8080 — порт по умолчанию для http, 443 — для https):
*:[[Файл:Openuds-html5rdp-tunnel.png|border|OpenUDS. HTML5 RDP — вкладка «Tunnel»]]
*Вкладка «Учётные данные» («Credentials»):
**«Пропустить данные аккаунта» («Empty creds») — если установлено значение «Да», учётные данные для доступа к виртуальному рабочему столу будут запрашиваться при подключении к серверу (не следует использовать при подключении к Windows, т.к. данные не запрашиваются). Если установлено значение «Нет», будут использоваться данные OpenUDS (см. ниже);
**«Имя пользователя» («Username») — имя пользователя, которое будет использоваться для доступа к рабочему столу (пользователь должен существовать на ВМ). Если данное поле пустое, будет использован логин авторизовавшегося в веб-интерфейсе OpenUDS пользователя;
**«Пароль» («Password») — пароль пользователя, указанного в поле «Имя пользователя»;
**«Без домена» («Without Domain») — указывает, перенаправляется ли доменное имя вместе с пользователем. Значение «Да» равносильно пустому полю «Домен»;
**«Домен» («Domain») — домен. Если поле не пустое, то учётные данные будут использоваться в виде DOMAIN\user.
*:[[Файл:Openuds-html5rdp-сredentials.png|border|OpenUDS. HTML5 RDP — Вкладка «Credentials»]]
*Вкладка «Параметры» («Parameters»):
**«Показать обои» («Show wallpaper») — отображать обои рабочего стола;
**«Разрешить композицию рабочего стола» («Allow Desk.Comp.») —  включить «Desktop Composition»;
**«Сглаживание шрифтов» («Font Smoothing») — активирует сглаживание шрифтов;
**«Включить аудио» («Enable Audio») — перенаправлять звук с рабочего стола на клиент подключения;
**«Включить микрофон» («Enable Microphone») —  включить микрофон на виртуальном рабочем столе;
**«Включить печать» («Enable Printing») —  включить печать на виртуальном рабочем столе;
**«Обмен файлами» («File Sharing») — политика обмена файлами между виртуальным рабочим столом и клиентом подключения. Позволяет создать временный каталог (расположенный на сервере OpenUDS Tunnel), для возможности обмена файлами;
**«Буфер обмена» («Clipboard») —  настройка общего буфера обмена;
**«Раскладка» («Layout») — раскладка клавиатуры, которая будет включена на рабочем столе.
*:[[Файл:Openuds-html5rdp-parameters2.png|border|OpenUDS. HTML5 RDP — Вкладка «Parameters»]]
*Вкладка «Расширенный» («Advanced»):
**«Срок действия билета» («Ticket Validity») — допустимое время (в секундах) для клиента HTML5 для перезагрузки данных из OpenUDS Broker (рекомендуется использовать значение по умолчанию — 60);
**«Открывать HTML в новом окне» («Force new HTML Window») — открывать ли подключение в новом окне;
**«Безопасность» («Security») — уровень безопасности соединения;
**«Порт RDP» («RDP Port») — порт RDP (по умолчанию — 3389);
**«Метка» («Label») — метка транспорта метапула (используется для того чтобы назначить несколько транспортов метапулу).
*:[[Файл:Openuds-html5rdp-advanced.png|border|OpenUDS. HTML5 RDP — Вкладка «Advanced»]]
==== HTML5 SSH (туннельный) ====
{{Note|Транспорт «HTML5 SSH» доступен в {{pkg|openuds-server}}, начиная {{since|3.6.0-alt3}}.}}
«HTML5 SSH» позволяет пользователям получать доступ к виртуальным рабочим столам Linux по протоколу SSH с использованием браузера, поддерживающего HTML5 (на машинах должен быть запущен сервер SSH). Используя данный транспорт можно подключаться к серверам Linux, на которых не установлен оконный менеджер или среда рабочего стола.
Минимальные параметры для настройки транспорта HTML5 SSH:
*Вкладка «Основной»:
**«Имя» («Name») — название транспорта;
**«Приоритет» («Priority») — приоритет, чем меньше значение приоритета, тем выше данный транспорт будет указан в списке доступных transports для сервиса. Транспорт с самым низким приоритетом, будет транспортом по умолчанию;
**«Сетевой доступ» («Networks Access») — разрешает или запрещает доступ пользователей к службе, в зависимости от сети из которой осуществляется доступ;
**«Сети» («Networks») — сетевые диапазоны, подсети или IP-адреса (настраиваются в разделе «Сети»). Пустое поле означает «все сети». Используется вместе с параметром «Сетевой доступ»;
**«Разрешенные устройства» («Allowed Devices») — разрешает доступ к службе только с выбранных устройств. Пустое поле означает «все устройства»;
**«Сервис-пулы» («Service Pools») — позволяет назначить транспорт одному или нескольким ранее созданным пулам услуг. Можно оставить это поле пустым и выбрать способы подключения при создании пула услуг.
*:[[Файл:Openuds-html5ssh-main.png|border|OpenUDS. HTML5 SSH — вкладка «Main»]]
*Вкладка «Туннель» («Tunnel»):
**«Туннельный сервер» («Tunnel Server») — IP-адрес или имя OpenUDS Tunnel. Формат: http(s)://IP_Tunneler:[Port] (8080 — порт по умолчанию для http, 443 — для https):
*:[[Файл:Openuds-html5ssh-tunnel.png|border|OpenUDS. HTML5 SSH — вкладка «Tunnel»]]
*Вкладка «Учётные данные» («Credentials»):
**«Имя пользователя» («Username») — имя пользователя, которое будет использоваться для доступа к рабочему столу (пользователь должен существовать на ВМ). Если данное поле пустое, логин будет запрашиваться при подключении;
*:[[Файл:Openuds-html5ssh-сredentials.png|border|OpenUDS. HTML5 SSH — Вкладка «Credentials»]]
*Вкладка «Параметры» («Parameters»):
**«SSH-команда» («SSH Command») — команда, которая будет выполнена на удалённом сервере. Если команда не указана, будет запущена интерактивная оболочка:
**:[[Файл:Openuds-html5ssh-01.png|border|OpenUDS. Подключение по HTML5 SSH]]
**«Обмен файлами» («File Sharing») — политика обмена файлами между удалённым сервером и клиентом подключения;
**«Корень общего доступа к файлам» («File Sharing Root») — корневой каталог для доступа к файлам. Если не указан, будет использоваться корневой каталог (/);
**«Порт SSH-сервера» («SSH Server port») — порт SSH-сервера (по умолчанию — 22);
**«Ключ хоста SSH» («SSH Host Key») — ключ хоста SSH. Если не указан, проверка подлинности хоста выполняться не будет;
**«Поддержка сервера в рабочем состоянии» («Server Keep Alive») — время в секундах между сообщениями проверки активности, отправляемых на сервер. Если не указано, сообщения проверки активности не отправляются.
*:[[Файл:Openuds-html5ssh-parameters2.png|OpenUDS. HTML5 SSH — Вкладка «Parameters»]]
*Вкладка «Расширенный» («Advanced»):
**«Срок действия билета» («Ticket Validity») — допустимое время (в секундах) для клиента HTML5 для перезагрузки данных из OpenUDS Broker (рекомендуется использовать значение по умолчанию — 60);
**«Открывать HTML в новом окне» («Force new HTML Window») — открывать ли подключение в новом окне;
**«Метка» («Label») — метка транспорта метапула (используется для того чтобы назначить несколько транспортов метапулу).
*:[[Файл:Openuds-html5ssh-advanced.png|border|OpenUDS. HTML5 SSH — Вкладка «Advanced»]]
{{Note|После входа на удалённый сервер можно скачивать/загружать файлы (в зависимости от настроек политики обмена файлами).
Для загрузки файлов можно открыть окно настроек (Ctrl + Shift + Alt), выбрать устройство в поле «Устройства», нажать кнопку «Загрузка файлов» и выбрать файл (ход передачи файла будет показан в левом нижнем углу окна):
[[Файл:Openuds-html5ssh-02.png|800px|HTML5 SSH. Передача файлов]]
Для скачивания файла нужно дважды щёлкнуть мышью на нужном файле в списке файлов.
Также можно просто перетащить файл на сервер и обратно.}}
=== Сети ===
В OpenUDS можно зарегистрировать различные сети для управления доступом клиентов к виртуальным рабочим столам или приложениям (при доступе к OpenUDS определяется IP-адрес клиента подключения). Эти сети совместно с «Транспортом» будут определять, какой тип доступа будет доступен пользователям для подключения к виртуальным рабочим столам.
Чтобы добавить сеть, следует в разделе «Подключение» («Connectivity») выбрать пункт «Сети» («Networks») и нажать кнопку «Новый»:
[[Файл:Openuds_network01.png|OpenUDS. Создание новой сети]]
В открывшемся окне следует указать название сети и сетевой диапазон. В качестве сетевого диапазона можно указать:
* одиночный IP-адрес: xxx.xxx.xxx.xxx (например, 192.168.0.33);
* подсеть: xxx.xxx.xxx.xxx/x (например, 192.168.0.0/24);
* диапазон IP-адресов: xxx.xxx.xxx.xxx-xxx.xxx.xxx.xxx (например, 192.168.0.1-192.168.0.50).
После создания сетей появится возможность указать их при создании/редактировании транспорта. Можно настроить, будет ли данный транспорт отображаться у клиента, в зависимости от сети, в которой находится клиент:
[[Файл:Openuds_transports_n01.png|OpenUDS. Выбор сети при редактировании транспорта]]
В данном примере транспорт «X2Go-xfce» будет доступен только клиентам из сети 192.168.0.0/24.
Если сети для транспорта не определены, доступ к службам рабочего стола и виртуальным приложениям будет возможен из любой сети.


=== Настройка «Service Pools» ===
=== Настройка «Пула услуг» («Service Pools») ===


После того, как был создан и настроен хотя бы один Service provider (с базой службы), аутентификатор (с пользователем и группой), «Manager OS» и «транспорт», нужно создать Service Pool для публикации виртуальных рабочих столов.
После того, как был создан и настроен хотя бы один [[VDI/OpenUDS#Подключение_системы_виртуализации |поставщик услуг]], [[VDI/OpenUDS#Настройка_аутентификации_пользователей|аутентификатор]] (с пользователем и группой), [[VDI/OpenUDS#Настройка_«Менеджеры_ОС»|менеджер ОС]] и [[VDI/OpenUDS#Настройка_«Transports»|транспорт]], нужно создать «Пул услуг» («Сервис-пул») для публикации виртуальных рабочих столов.


[[Файл:Openuds_pool01.png|800px|OpenUDS. Новый Service Pool]]
[[Файл:Openuds-pool00.png|border|OpenUDS. Новый «Пул услуг»]]


Вкладка «Main»:
Вкладка «Основной» («Main»):
*«Name» — название службы;
*«Имя» («Name») — название службы (это имя будет показано пользователю для доступа к рабочему столу или виртуальному приложению). В этом поле можно использовать переменные для отображения информации об услугах:
*«Base  service» — служба, созданная ранее в «Поставщике услуг»;
**{use} — указывает процент использования пула (рассчитывается на основе поля «Максимальное количество предоставляемых сервисов» и назначенных услуг);
*«OS Manager».
**{total} — общее количество машин (данные извлечены из поля «Максимальное количество предоставляемых сервисов»);
Вкладка «Display»:
**{usec} — количество машин, используемых пользователями в пуле;
*«Visible» — если этот параметр отключен, пул не будет отображаться у пользователей;
**{left} — количество машин, доступных в пуле для подключения пользователей;
*«Associated Image» — Изображение, связанное с услугой. Изображение должно быть предварительно добавлено в репозиторий изображений (раздел «Tools»→«Gallery»);
*«Базовый сервис» («Base service») — служба, созданная ранее в «Поставщике услуг» (состоит из поставщика услуг и базовой услуги);
*«Pool group» — позволяет группировать различные службы. Группа должна быть предварительно создана в разделе «Pools»→«Groups».
*«ОС менеджер» («OS Manager») — ранее созданный «ОС менеджер», конфигурация которого будет применяться к каждому из созданных виртуальных рабочих столов или приложений. Если выбрана услуга типа «Статический IP», это поле не используется.
Вкладка «Availability»:
*«Публиковать при создании («Publish on creation») — если этот параметр включен, при сохранении пула услуг система автоматически запустит первую публикацию. Если установлено значение «Нет», будет необходимо запустить публикацию сервиса вручную (из вкладки «Публикации»).
*«Initial available services» — минимальное количество виртуальных рабочих столов, созданных, настроенных и назначенных/доступных для службы;
*«Services to keep in cache» — количество доступных виртуальных рабочих мест. Они всегда будут настроены и готовы к назначению пользователю (они будут автоматически создаваться до тех пор, пока не будет достигнуто максимальное количество машин, указанное в поле «Maximum number of services to provide»);
*«Maximum number of services to provide» — максимальное количество виртуальных рабочих столов, созданных системой в «пуле служб» (рабочие столы, созданные в кэше L2, не учитываются).


Нажать кнопку «Save» и система начнет создавать виртуальные рабочие столы на основе настроенного кеша (вкладка «Availability»).
[[Файл:Openuds_pool01.png|border|OpenUDS. Новый Service Pool - вкладка «Основной»]]


После создания пула, в настройках:
Вкладка «Экран/Дисплей» («Display»):
* на вкладке «Groups» назначить группы доступа (выбрать аутентификатор и группу, которая будет иметь доступ к этому пулу служб):
*«Видимый» («Visible») — если этот параметр отключен, пул не будет отображаться у пользователей;
*«Привязанный образ» («Associated Image») — изображение, связанное с услугой. Изображение должно быть предварительно добавлено в репозиторий изображений (раздел «Инструменты»→«Галерея»);
*«Пул-группа» («Pool group») — позволяет группировать различные службы. Группа должна быть предварительно создана в разделе «Пулы»→«Группы»;
*«Доступ к календарю запрещён» («Calendar Access denied text») — позволяет указать сообщение, которое будет показано пользователю, если доступ к сервису ограничен правилами календаря.
 
[[Файл:Openuds_pool02.png|border|OpenUDS. Новый Service Pool - вкладка «Экран/Дисплей»]]
 
 
Вкладка «Расширенный» («Advanced»):
*«Разрешить удаление пользователями» («Allow removal by users») — если этот параметр включен, пользователи могут удалять назначенные им службы. Если сервис представляет собой виртуальный рабочий стол, автоматически сгенерированный OpenUDS, он будет удален, и при следующем подключении ему будет назначен новый. Если это другой тип сервиса (vAPP/статический IP), будет удалено только назначение, а новое будет назначено на следующее подключение;
*«Разрешить сброс пользователям» («Allow reset by users») — если этот параметр включен, пользователь сможет перезапускать или сбрасывать назначенные ему службы (относится только к виртуальным рабочим столам, автоматически созданным OpenUDS);
*«Игнорирует неиспользуемые» («Ignores unused») — если этот параметр включен, непостоянные пользовательские службы, которые не используются, не будут удаляться;
*«Показать транспорты» («Show transports») — если этот параметр включен, будут отображаться все транспорты, назначенные услуге. Если параметр не активирован, будет отображаться только транспорт по умолчанию с наивысшим приоритетом (наименьшее число в поле «Приоритет»);
*«Учётные записи» («Accounting») — назначение услуги ранее созданным «Аккаунтам» («Пулы»→«Аккаунты»).
 
[[Файл:Openuds_pool03.png|border|OpenUDS. Новый Service Pool - вкладка «Расширенный»]]
 
Вкладка «Доступность» («Availability»):
*«Первоначально доступные сервисы»(«Initial available services») — минимальное количество виртуальных рабочих столов, созданных, настроенных и назначенных/доступных для службы;
*«Сервисы для удержания в кэше» («Services to keep in cache») — количество доступных виртуальных рабочих мест. Они всегда будут настроены и готовы к назначению пользователю (они будут автоматически создаваться до тех пор, пока не будет достигнуто максимальное количество машин, указанное в поле «Максимальное количество предоставляемых сервисов»);
*«Сервисы, хранящиеся в L2 кэше» («Services to keep in L2 cache») — количество виртуальных рабочих столов в спящем или выключенном состоянии. Виртуальные рабочие столы, сгенерированные на уровне кэша L2, будут помещены в кэш, как только система потребует их (они никогда не будут напрямую назначены пользователям);
*«Максимальное количество предоставляемых сервисов» («Maximum number of services to provide») — максимальное количество виртуальных рабочих столов, созданных системой в «пуле служб» (рабочие столы, созданные в кэше L2, не учитываются).
 
 
[[Файл:Openuds_pool04.png|border|OpenUDS. Новый Service Pool - вкладка «Доступность»]]
 
Нажать кнопку «Сохранить» («Save») и система начнет создавать виртуальные рабочие столы на основе настроенного кэша (вкладка «Доступность»).
 
После создания пула, в настройках (дважды щелкнуть мышью по строке созданного пула или в контекстном меню пула выбрать пункт «Подробность») необходимо:
* на вкладке «Группы» («Groups») назначить группы доступа (выбрать аутентификатор и группу, которая будет иметь доступ к этому пулу служб):
*: [[Файл:Openuds_pool-group.png|OpenUDS. Назначение группы пулу служб]]
*: [[Файл:Openuds_pool-group.png|OpenUDS. Назначение группы пулу служб]]
* на вкладке «Transports» выбрать способы подключения пользователей к рабочему столу:
* на вкладке «Транспорты» («Transports») выбрать способы подключения пользователей к рабочему столу:
*: [[Файл:Openuds_pool-transports.png|OpenUDS. «Service Pools» - выбор способов подключения]]
*: [[Файл:Openuds_pool-transports.png|OpenUDS. «Service Pools» - выбор способов подключения]]
=== «Мета-пулы» ===
Виртуальные рабочие столы можно сгруппировать в пулы рабочих столов («Мета-пулы»), что упрощает управление и организацию.
Создание «Мета-пула» позволит получить доступ к виртуальным рабочим столам или приложениям из разных «Service Pools». Эти пулы будут работать вместе, предоставляя различные услуги абсолютно прозрачным для пользователей способом.
«Пулы услуг», образующие «Мета-пул», будут работать в соответствии с политикой (см. ниже), которая позволит предоставлять услуги в соответствии с потребностями пула.
Чтобы создать «Мета-пул», следует в разделе «Пулы» выбрать пункт «Мета-пулы» и нажать кнопку «Новый»:
[[Файл:Openuds_metapool_01.png|border|OpenUDS. Создание мета-пула — вкладка «Main»]]
Для настройки «Мета-пула» необходимо указать:
* вкладка «Основной»:
**«Имя» («Name») — название «Мета-пула» (это будет видеть пользователь для доступа к службе);
**«Короткое имя» («Short name») — если указано, то это будет видеть пользователь для доступа к службе (при наведении на него указателя появится содержимое поля «Имя»);
**«Политика» («Policy») — политика, которая будет применяться при создании сервисов в «Пулах услуг», являющихся частью «Мета-пула»:
***«Eventy distributed» — услуги будут создаваться и использоваться равномерно во всех «пулах услуг», составляющих «Мета-пул».
***«Priority» — услуги будут создаваться и использоваться из «пула услуг» с наибольшим приоритетом (приоритет определяется полем «priority», чем ниже значение этого поля, тем выше приоритет у элемента). Когда будет достигнуто максимальное количество сервисов данного «пула услуг», будут использоваться сервисы следующего.
***«Greater % available» — службы будут создаваться и использоваться из «пула услуг», который имеет самый высокий процент свободных услуг.
* вкладка «Экран/Дисплей»:
**«Привязанный образ» («Associated Image») — изображение, связанное с «Мета-пулом». Изображение должно быть предварительно добавлено в репозиторий изображений (раздел «Инструменты»→«Галерея»);
**«Пул-группа» («Pool group») — позволяет группировать различные «Мета-пулы». Группа должна быть предварительно создана в разделе «Пулы»→«Группы»;
**«Видимый» («Visible») — если этот параметр отключен, «Мета-пул» не будет отображаться у пользователей;
**«Доступ к календарю запрещён» («Calendar Access denied text») — текст, который будет отображаться, когда доступ к «Мета-пулу» запрещен приложением календаря доступа;
**«Выбор транспорта» («Transport Selection») — указывает как на «Мета-пул» будет назначен транспорт:
***«Automatic selection» — будет доступен транспорт с самым низким приоритетом, назначенным пулу услуг (выбор транспорта не допускается);
***«Use only common transports» — в мета-пуле будет доступен транспорт, который является общим для всего пула услуг;
***«Group Transports by label» — в мета-пуле будет доступен транспорт, которому назначены метки (это поле находится в настройках транспорта на вкладке «Дополнительно»).
[[Файл:Openuds_metapool_02.png|border|OpenUDS. Создание мета-пула — вкладка «Display»]]
Сохранив конфигурацию «Мета-пула», можно начать регистрацию «Пулов услуг». Для этого следует дважды щелкнуть мышью по строке созданного «Мета-пула» или в контекстном меню «Мета-пула» выбрать пункт «Подробность»:
[[Файл:Openuds_metapool_03.png|border|OpenUDS. Настройка мета-пула]]
Чтобы добавить «Пул услуг» в «Мета-пул», следует нажать кнопку «Новый»:
[[Файл:Openuds_metapool_04.png|border|OpenUDS. Добавление «Пула услуг» в мета-пул]]
Для добавления «Пула услуг» необходимо указать:
*«Приоритет» («Priority») —приоритет, который будет иметь «Пул услуг» в «Мета-пуле» (чем ниже значение, тем больше приоритет);
*«Пул услуг» («Service pool») — «Пул услуг», который будет добавлен в «Мета-пул» («Пул услуг» должен быть предварительно создан);
*«Включено» («Enabled») — включает или отключает видимость «Пула услуг» в «Мета-пуле».
Можно добавить столько «Пулов услуг», сколько нужно, комбинируя службы, размещенные на разных платформах виртуализации (PVE, KVM, OpenNebula и т.д.), серверах приложений и статических устройствах.
[[Файл:Openuds_metapool_05.png|border|OpenUDS. «Пулы услуг» в мета-пуле]]
Как и при создании «Пула услуг», здесь есть следующие вкладки с информацией и конфигурацией:
*«Назначенные сервисы» («Assigned services») — показывает службы, назначенные пользователям (можно вручную удалить назначение и переназначить другому пользователю);
*«Группы» («Groups») — указывает, какие группы пользователей будут иметь доступ к услуге;
*«Доступ к календарям» («Access calendars») — позволяет применить ранее созданный календарь доступа;
*«Журналы» («Logs») — журналы «Мета-пула».
=== Управление доступом по календарю ===
В OpenUDS можно настроить разрешение или ограничение доступа пользователей к удаленным рабочим столам и виртуальным приложениям по датам и временным интервалам.
С помощью календаря также можно автоматизировать определенные задачи в «Пуле услуг» («Service Pools»), такие как создание новых публикаций, настройка значений системного кэша, добавление/удаление групп и транспорта, изменение максимального количества услуг.
Чтобы создать календарь следует в разделе «Пулы» выбрать «Календари» («Calendars»), нажать кнопку «Новый», в открывшемся окне ввести описательное название в поле «Имя» и нажать кнопку «Сохранить»:
[[Файл:Openuds_calendar_01.png|border|OpenUDS. Новый календарь]]
В «Календаре» можно зарегистрировать правила, чтобы запланировать доступность услуги в определенное время. Для создания правила следует выбрать календарь (дважды щелкнуть мышью по строке созданного календаря или в контекстном меню календаря выбрать пункт «Подробность») и нажать кнопку «Новый»:
[[Файл:Openuds_calendar_02.png|border|OpenUDS. Создать новое правило]]
Минимальные параметры для настройки правила:
*«Имя» («Name») — имя правила;
*«Событие» («Event») — настройка времени выполнения. Необходимо указать время начала и продолжительность события (в минутах/часах/днях/неделях);
*«Периодичность» («Repetition») — настройка периодичности выполнения. Необходимо указать дату начала, частоту повторения правила (ежедневно/еженедельно/ежемесячно/ежегодно/по будням) и указать интервал повторения (в днях);
*«Панель» («Summary») — показывает сводные данные (резюме) всех ранее указанных настроек.
[[Файл:Openuds_calendar_03.png|border|OpenUDS. Новое правило]]
После нажатия кнопки «Хорошо» будет создано правило, которое можно будет назначить «Пулу услуг» (виртуальному рабочему столу и/или приложению).
[[Файл:Openuds_calendar_04.png|border|OpenUDS. Правило, назначенное «пулу услуг»]]
==== Разрешение/запрет доступа ====
После настройки правил в календарях их можно использовать для управления доступом пользователей к службам рабочего стола или приложениям. Для этого следует выбрать нужный «Пул услуг», перейти на вкладку «Доступ к календарю» («Access Calendars») и нажать кнопку «Новый»:
[[Файл:Openuds_calendar_05.png|border|OpenUDS. Вкладка «Доступ к календарям»]]
В открывшемся окне необходимо указать приоритет доступа, выбрать календарь и указать действие, которое будет применяться при доступе к сервису:
[[Файл:Openuds_calendar_06.png|border|OpenUDS. Новое ограничение доступа по календарю]]
{{Note|Правило по умолчанию («FallBack») должно разрешать или запрещать доступ к сервису, когда календарь не применяется.
[[Файл:Openuds_calendar_07.png|border|OpenUDS. Ограничение доступа к сервису по календарю]] }}
Доступ к сервису «SL» запрещен:
[[Файл:Openuds_calendar_11.png|border|OpenUDS. Доступ к пулу «SL» запрещен]]
==== Запланированные действия ====
После настройки правил в календарях их можно использовать для планирования определенные задач в «Пуле услуг». Для этого следует выбрать нужный «Пул услуг», перейти на вкладку «Запланированные действия» («Scheduled actions») и нажать кнопку «Новый»:
[[Файл:Openuds_calendar_08.png|border|OpenUDS. Вкладка «Запланированные действия»]]
В открывшемся окне необходимо указать календарь, время, в течение которого будет выполняться действие, выбрать действие, которое необходимо выполнить (список возможных действий зависит от поставщика услуг данного пула):
*«Установить начальные сервисы» («Set initial services») — сбрасывает минимальное количество созданных и настроенных виртуальных рабочих столов;
*«Установить размер кэша» («Set cache size») — сбрасывает виртуальные рабочие столы, доступные в системном кэше. Эти рабочие столы будут настроены и готовы к назначению пользователю;
*«Установить максимальное количество сервисов» («Set maximum number of services») — изменяет максимальное количество виртуальных рабочих столов в «Service Pool»;
*«Установить размер L2 кэша» («Set cache L2 size») — сбрасывает виртуальные рабочие столы, доступные в кэше L2;
*«Публикация» («Publish») — создание новой публикации в «Пуле услуг»;
*«Добавить транспорт» («Add a transport») — добавляет существующий транспорт в «Пул услуг»;
*«Удалить транспорт» («Remove a transport») — удаляет транспорт из «Пула услуг»;
*«Удалить все транспорты» («Remove all transports») — удаляет весь транспорт из «Пула услуг»;
*«Добавить группу» («Add a group») — добавляет существующую группу в «Пул услуг»;
*«Удалить группу» («Remove a group») — удаляет группу из «Пула услуг»;
*«Удалить все группы» («Remove all groups») — удаляет все группы из «Пула услуг»;
*«Устанавливает игнорирование неиспользуемых» («Sets the ignore unused») — устанавливает параметр «Игнорировать неиспользуемые»;
*«Удалить ВСЕ назначенные пользовательские сервисы» («Remove ALL assigned user service») — удаляет все службы, назначенные пользователям;
*«Удалить СТАРЫЕ назначенные пользовательские сервисы» («Remove OLD assigned user service») — удаляет службы, назначенные пользователям, которые не использовались заданное время.
[[Файл:Openuds_calendar_09.png|border|OpenUDS. Новое запланированное действие]]
После сохранения появится запланированная задача, выполняющая конкретное действие в данном «Пуле услуг»:
[[Файл:Openuds_calendar_10.png|border|OpenUDS. Запланированные действия]]
=== Настройка разрешений ===
В OpenUDS можно назначать пользователям и группам пользователей права доступа к различным элементам администрирования. Разрешения будут назначены непосредственно для каждого элемента, а также будут применяться к его подэлементам.
{{Note| Чтобы пользователь мог получить доступ к администрированию, пользователю должна быть назначена роль «Штатный сотрудник» («Staff member»):
[[Файл:Openuds_permission_01.png|OpenUDS. Роль пользователя]]}}
Для предоставления разрешения к элементу администрирования следует выбрать элемент и нажать кнопку «Разрешения» («Permissions»), например, в «Пуле услуг»:
[[Файл:Openuds_permission_02.png|OpenUDS. Предоставление разрешения к сервису]]
В окне разрешений следует нажать ссылку «Новое разрешение…» («New permission…») для групп или пользователей, затем выбрать аутентификатор и группу/пользователя, к которым будет применяться разрешение. Также нужно указать, будет ли пользователь/группа иметь доступ «Только для чтения» к элементу («Read only») или «Полный доступ» («Full Access»):
[[Файл:Openuds_permission_03.png|OpenUDS. Новое разрешение]]
После сохранения настроек, пользователи, которым назначена роль «Штатный сотрудник», смогут получить доступ к этому элементу администрирования с назначенными разрешениями.
[[Файл:Openuds_permission_04.png|OpenUDS. Разрешения для сервиса]]
Разрешения типа «Полный доступ» («Управлять») могут применяться только к элементам второго уровня («Календари», «Пулы услуг» и т.д.).
=== Конфигурация OpenUDS ===
[[Файл:OpenUDS_Configuration_01.png|300px|thumb|Конфигурация OpenUDS]]
В разделе «Конфигурация» можно настроить ряд параметров, которые будут определять работу системы. Эти параметры отвечают за определение таких аспектов, как безопасность, режим работы, подключение и т.д. как самой системы OpenUDS, так и её связи с виртуальными платформами, зарегистрированными в OpenUDS.
{{Attention|Ниже описаны некоторые системные переменные, которые считаются наиболее полезными для управления виртуальными рабочими столами.
Не рекомендуется изменять значения других переменных, так как некоторые из них указывают системе, как она должна работать (количество одновременных задач, время выполнения задач, плановые проверки и т.д.).  Изменение этих параметров может привести к неправильной работе или к полной остановке системы.}}
{{Note|Для применения изменений, после редактирования значений любой из переменных конфигурации OpenUDS, необходимо перезапустить сервер OpenUDS.}}
Вкладка «UDS»:
* «AutorunService» — выполнять прямой доступ к службе пользователя, если пользователю назначена только одна служба. Если этот параметр активирован, пользователи, которым назначен один сервис, будут подключаться к нему напрямую, минуя экран выбора сервиса и используя предварительно настроенный «Транспорт». По умолчанию: нет;
[[Файл:Openuds_login_03.png|300px|thumb|OpenUDS. Поле «Аутентификатор» на странице входа]]
* «DisallowGlobalLogin» — если включено, на странице входа не будет отображаться список аутентификаторов (поле «Аутентификатор»). В этом случае будет использоваться аутентификатор по умолчанию. Для предоставления пользователю доступа к системе с помощью других аутентификаторов необходимо будет использовать «Метку», определенную в аутентификаторе, в URL-адресе доступа. По умолчанию: нет;
* «KeepInfoTime» — время (в секундах), в течение которого завершенные события «пула услуг» остаются видимыми. По умолчанию: 14401 секунд (4 часа);
* «RedirectToHttps» — автоматически перенаправлять доступ к OpenUDS с http на https. По умолчанию: нет;
* «SessionExpireTime» — максимальное время, в течение которого сеанс пользователя будет открыт после создания новой публикации. По истечении этого времени система закроет сеанс пользователя и продолжит удаление службы. Если у службы есть «Менеджер ОС» с параметром «Держать сервис привязанным даже в новой публикации», этот параметр не будет применяться. По умолчанию: 24 часа;
* «StatsDuration» — время, в течение которого система хранит статистику. По умолчанию: 365 дней.
Вкладка «Безопасность» («Security»):
* «AllowRootWebAccess» — разрешить суперпользователю входить в панель управления OpenUDS (пользователю, созданному при разворачивании OpenUDS-сервера). По умолчанию: да;
* «Behind a proxy» — указывает системе, что серверы OpenUDS находятся «за» прокси-сервером (например, среда OpenUDS с HA Proxy). По умолчанию: нет;
* «Block ip on login failure» — заблокировать пользователя при неправильном вводе пароля (также блокируется IP-адрес). Количество попыток указывается в переменной «maxLoginTries». По умолчанию: нет;
* «Enforce Zero-Trust Mode» — включение режима нулевого доверия (запретить системе хранить пароли). По умолчанию: нет;
* «LoginBlockTime» — время (в секундах), в течение которого пользователь будет заблокирован после неправильного ввода пароля. Количество попыток указывается в переменной «maxLoginTries». По умолчанию: 300 секунд (5 минут).
* «MaxLoginTries» — количество попыток, за которые пользователь должен будет ввести свой пароль, прежде чем система заблокирует его;
* «Session timeout for Admin» — время бездействия (в секундах) для администраторов платформы. По умолчанию: 14400 секунд (4 часа);
* «Session timeout for User» — время бездействия (в секундах) для пользователей. По умолчанию: 14400 секунд (4 часа);
* «Trusted Hosts» — узлы, которые OpenUDS считает безопасными. Эти узлы могут делать «sensitive» запросы к OpenUDS, такие как туннели. Допустимые значения: подсеть, диапазон IP-адресов, конкретные IP-адреса. По умолчанию: "*" (все разрешено).
Вкладка «Администрирование» («Admin»):
* «Trusted Hosts for Admin» — узлы, с которых можно управлять OpenUDS (как с помощью веб-доступа, так и администрирование с помощью API). Допустимые значения: подсеть, диапазон IP-адресов, конкретные IP-адреса. По умолчанию: "*" (все разрешено).
На вкладке «Custom» задаются параметры, связанные с графической настройкой OpenUDS:
* «CSS» — CSS код для изменения стиля страниц OpenUDS;
* «Logo name» — текст, который отображается рядом с логотипом;
* «Min. Services to show filter» — минимальное количество служб, которые должны существовать у пользователя (в режиме пользователя), чтобы отображался фильтр;
* «Show Filter on Top» — расположение панели поиска на странице пользовательских служб;
* «Site copyright info» — текст копирайт;
* «Site copyright link» — веб-адрес, на который будет вести ссылка с копирайта;
* «Site information» — HTML-код для частичной настройки страницы входа в OpenUDS. Введенный код появится под полем входа пользователя;
* «Site name» — текст, который будет отображаться в верхней части поля входа пользователя на странице входа OpenUDS.


== Подготовка шаблона виртуальной машины ==
== Подготовка шаблона виртуальной машины ==
{{Note|См. также статью [[OpenUDS_Windows#Подготовка_шаблона_ВМ_с_ОС_Windows_10|Подготовка шаблона ВМ с ОС Windows]].}}
Требования к шаблону виртуальной машины:
Требования к шаблону виртуальной машины:
* установить openuds-actor:
# Установить openuds-actor:
# apt-get install openuds-actor
#:<syntaxhighlight lang="bash"># apt-get install openuds-actor</syntaxhighlight>
* в настройках openuds-actor ({{path|/etc/udsactor/udsactor.cfg}}) указать IP-адрес сервера UDS и Master Key, соответствующий серверу OpenUDS:
# Включить автозапуск сервиса udsactor.service:
[uds]
#:<syntaxhighlight lang="bash"># systemctl enable udsactor.service</syntaxhighlight>
host = 192.168.0.191
# Зарегистрировать UDS Actor на сервере UDS:
logLevel = 30000
#*запустить UDS Actor из меню («Настройки»→«UDS Actor Configuration») или командой:
ssl = False
#:<syntaxhighlight lang="bash">$ /usr/sbin/UDSActorConfig-pkexec</syntaxhighlight>
masterKey = b578d41ac4c6513bbda188cdd57f3e20
#:Потребуется ввести пароль пользователя, входящего в группу wheel.
#* на вкладке «UDS Server» необходимо указать имя или IP-адрес сервера UDS, имя и пароль пользователя, имеющего права администратора в среде UDS и нажать кнопку «Register with UDS» («Зарегистрироваться в UDS»).
#*: [[Файл:Openuds_actor_01.png|UDS Actor Configuration]]
#* На вкладке «Advanced» можно указать дополнительные параметры, в том числе уровень журналирования:
#**«Preconnect» — сценарий, который будет запущен непосредственно перед тем, как пользователь подключится к виртуальному рабочему столу. Скрипту могут быть переданы следующие параметры: имя пользователя, протокол, IP-адрес, имя хоста;
#**«Runonce» — сценарий, который будет запущен только один раз перед настройкой UDS Actor. После выполнения скрипт удаляется из конфигурации. Параметры можно передать непосредственно скрипту. Необходимо, чтобы выполняемый скрипт завершился перезапуском виртуального рабочего стола;
#**«Postconfig» — сценарий, который будет запущен после того, как UDS Actor завершит настройку. Параметры можно передать непосредственно скрипту. Скрипт запускается только один раз, но в отличие от режима «Runonce» перезапускать виртуальный рабочий стол не нужно;
#**«Log Level» — уровень журналирования (файл журнала: {{path|/var/log/udsactor.log}}).
#*:Для применения настроек указанных на этой вкладке необходимо выполнить перерегистрацию UDS Actor.
# Установить и настроить один из вариантов удаленного доступа:
#* [[Xrdp|xrdp]]
#* [[X2Go|x2go]]
 
== Подключение пользователя к виртуальному рабочему месту ==
 
{{Note|Если для доступа к виртуальному рабочему используется транспорт HTML5&nbsp;RDP, нет необходимости устанавливать клиент OpenUDS на клиентский компьютер. Единственным требованием для этого подключения является наличие веб-браузера.}}


{{Note| Получить UDS Master Key можно в панели администрирование UDS (раздел «Tools»→«Configuration», вкладка «Security», поле «Master Key»):
На клиенте должен быть установлен пакет {{pkg|openuds-client}}:
<syntaxhighlight lang="bash"># apt-get install openuds-client</syntaxhighlight>


[[Файл:Openuds_configuration.png|OpenUDS. Master Key]]
Чтобы иметь возможность подключаться к виртуальному рабочему столу, должны быть установлены клиенты каждого используемого протокола удаленного доступа (xfreerdp, x2goclient).


Для подключения к виртуальному рабочему столу по протоколу [[SPICE]] необходимо установить '''remote-viewer''' из пакета {{pkg|virt-viewer}}.
На клиенте с ОС Windows необходимо установить '''virt-viewer''' (https://releases.pagure.org/virt-viewer/).
{{Note| Для возможности подключения по протоколу [[SPICE]] к OpenNebula, клиенты должны успешно разрешать имена hostname серверов с виртуальными машинами (через DNS или hosts).}}
Подключение к виртуальному рабочему месту:
* подключиться к серверу OpenUDS с помощью браузера http://<openuds_address>, выбрать средство проверки подлинности, если доступно несколько, ввести имя пользователя/пароль (их должен указать администратор);
* на панели управления будут отображены все ВМ (или шаблоны), к которым у пользователя есть доступ:
*:[[Файл:Openuds_client.png|OpenUDS. Подключение пользователя к виртуальному рабочему месту]]
* при выборе ВМ, автоматически загрузится openuds-client, который запустит приложение для просмотра удаленного рабочего стола
После выбора пула, автоматически стартует OpenUDS Client, который обрабатывает URL, получает необходимые настройки протокола удаленного доступа для предоставленной (свободной) ВМ, формирует файл описания сессии и передает его приложению-клиенту удалённого доступа, которое и устанавливает соединение с указанной ВМ.
{{Note|Если для подключения к службе настроено более одного типа транспорта, то в правом верхнем углу службы будет отображена кнопка. Если выбрать непосредственно ВМ, будет вызван транспорт по умолчанию (транспорт с меньшим значением в поле приоритет). Для того чтобы использовать другой транспорт, нужно выбрать его в раскрывающемся списке. }}
Пример подключения с использованием транспорта HTML5 RDP:
[[Файл:Openuds-html5rdp-connection8080.png|OpenUDS. Пример подключения с использованием HTML5 RDP]]
По завершении сеанса пользователь ВМ выходит из нее, что приводит к остановке OpenUDS Actor. Брокер openUDS считает, что ВМ стала недоступной и, если пул постоянный, то он запускает ВМ, а если пул временный, то происходит удаление файлов ВМ в хранилище и создается новая ВМ из мастер-образа.
{{Note|При подключении пользователя к виртуальному рабочему месту OpenUDS фиксирует доступ и отображает информацию о привязанном сервисе на вкладке «Назначенные сервисы» соответствующего «Пула услуг»:
[[Файл:Openuds_services_assigned.png|800px|OpenUDS. Назначенные сервисы]]
}}
}}
* установить и настроить один из вариантов удаленного доступа:
** [[Xrdp|xrdp]]
** [[X2Go|x2go]]
** ???


== Подключение пользователя к виртуальному рабочему месту==
== Отказоустойчивое решение ==
* на клиенте необходимо установить openuds-client
 
# apt-get install openuds-client
См. статью [[OpenUDS_HA|HA-кластер с OpenUDS]].
* подключиться к серверу OpenUDS с помощью браузера http://<openuds_address>, имя/пароль должен указать администратор, возможен как из внутренней базы OpenUDS, так и из внешней, например ldap
 
* в web-интерфейсе пользователя видны виртуальные машины(или шаблоны) только опубликованные администратором
== Отладочная информация ==
* выбрав нужную ВМ, автоматически загрузится opennebula-client и запустит приложение для просмотра удаленного рабочего стола
=== OpenUDS Server ===
 
Журналы OpenUDS Server находятся в {{path|/var/log/openuds/}}:
* {{path|auth.log}} — информация о пользователях, которые обращались к OpenUDS (аутентификатор, имя пользователя, IP-адрес, ОС, результат аутентификации, браузер):
*: [[Файл:Openuds_auth_log.png|1000px|OpenUDS. auth.log]]
* {{path|sql.log}} — запросы к базе данных;
* {{path|trace.log}} — информация о доступе пользователей к пулу услуг (название службы, пользователь OpenUDS, используемый транспорт, IP-адрес сгенерированной машины)
*: [[Файл:Openuds_trace_log.png|1000px|OpenUDS. trace.log]]
* {{path|uds.log}} — основной журнал OpenUDS-server;
* {{path|use.log}} — данные о доступе пользователей к пулам услуг: время, день входа и выхода, имя или IP-адрес клиента, пользователь и аутентификатор и т.д.;
* {{path|workers.log}} — внутренние задачи, выполняемые OpenUDS Server: задачи самоочистки, проверка кэша и т.д.
 
Включить режим отладки можно, установив в файле {{path|/etc/openuds/settings.py}} для параметра DEBUG значение True.
 
{{Attention|Важно отключить режим отладки (установить значение False для параметра DEBUG) после завершения настройки, поскольку этот режим генерирует много журналов, блокирует память и может вызвать проблемы производительности на сервере.}}
 
В дополнение к журналам OpenUDS также важно учитывать журналы веб-сервера NGINX, расположенные в {{path|/var/log/nginx/}}.
 
=== OpenUDS Tunnel ===
 
По умолчанию OpenUDS Tunnel пишет логи в стандартный журнал (см. [[Journald]]).
 
В файлах {{path|/var/log/tomcat/catalina.дата.log}} можно просмотреть события связанные с соединениями HTML5.
 
=== OpenUDS Client ===
* OpenUDS Client Windows — журнал находится во временной папке пользователя (%temp%):
* OpenUDS Client Linux — журнал находится в домашнем каталоге пользователя (например, {{path|/home/user/udsclient.log}}).
 
=== OpenUDS Actor ===
Компонент OpenUDS Actor создаёт два журнала, один из которых связан со службой, отвечающей за настройку виртуального рабочего стола (изменение имени, включение домена, изменение состояния машины и т.д.), а другой — с контролем сеанса пользователя, обращающегося к рабочему столу.
 
* OpenUDS Actor Windows:
** журнал, отвечающий за задачи подготовки к обслуживанию, формируется во временном каталоге Windows: {{path|C:\Windows\Temp\udsactor.log}}.
** журнал, отвечающий за контрольные задачи сеанса пользователя, создается во временной папке профиля пользователя (%temp%): {{path|C:\Users\username\AppData\Local\Temp\udsactor.log}}.
* OpenUDS Actor Linux:
** журнал, отвечающий за задачи подготовки сервиса, формируется в каталоге {{path|/var/log/udsactor.log}}.
** журнал, отвечающий за задачи управления сеансом пользователя, создается в домашней папке пользователя (например, {{path|/home/user/udsactor.log}}).
 
=== Панель управления OpenUDS ===
В панели управления OpenUDS можно получить информацию о различных настраиваемых разделах и услугах, например:
* «Поставщики услуг» — раздел «Журналы» в поставщиках услуг, настроенных в OpenUDS, содержит информацию о возможных ошибках;
* «Аутентификаторы» — раздел «Журналы» в аутентификаторах, настроенных в OpenUDS, содержит ​​информацию о пользователях, которые обращались к OpenUDS:
*: [[Файл:Openuds_log-auth.png|OpenUDS. Журнал аутентификатора AD]]
* «Пулы услуг» — раздел «Журналы» в пулах услуг, созданных в OpenUDS, содержит ​​информацию об изменениях, внесенных в указанный пул, и пользователе, внесшего указанное изменение:
*: [[Файл:Openuds_log-pool.png|OpenUDS. Журнал пула услуг]]
 
В созданном пуле услуг можно получить доступ к журналам каждой развернутой машины:


{{todo|Отказоустойчивое решение}}
[[Файл:Openuds_log-pool2.png|OpenUDS. Доступ к журналу виртуальной машины]]


{{Category navigation|title=VDI|category=VDI|sortkey={{SUBPAGENAME}}}}
{{Category navigation|title=Виртуализация|category=Виртуализация|sortkey={{SUBPAGENAME}}}}
{{Category navigation|title=Виртуализация|category=Виртуализация|sortkey={{SUBPAGENAME}}}}
[[Категория:Виртуализация]]
[[Категория:Виртуализация]]
[[Категория:KVM]]
[[Категория:KVM]]
[[Категория:VDI]]
[[Категория:VDI]]

Текущая версия от 15:06, 26 декабря 2023

Введение

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

Архитектура OpenUDS

Основные компоненты решения VDI на базе OpenUDS:

  1. OpenUDS Server (openuds-server) — брокер подключений пользователей, а так же интерфейс администратора для настройки.
  2. SQL Server. Для работы django приложения, которым является openuds-server необходим SQL сервер, например, mysql или mariadb. Может быть установлен на отдельном сервере.
  3. Платформа для запуска клиентских окружений и приложений. OpenUDS совместима со множеством систем виртуализации: PVE, OpenNebula, oVirt, OpenStack. Так же возможно использование с отдельным сервером без виртуализации (аналог терминального решения).
  4. OpenUDS Client (openuds-client) — клиентское приложения для подключения к брокеру соединений и дальнейшего получения доступа к виртуальному рабочему окружению
  5. OpenUDS Tunnel (openuds-tunnel) — решение для туннелирования обращений от клиента к виртуальному рабочему окружению. Предназначено для предоставления доступа из недоверенных сегментов сети, например, из Интернет. Устанавливается на отдельный сервер.
  6. OpenUDS Actor (openuds-actor) — ПО для гостевых виртуальных машин, реализует связку виртуальной машины и брокера соединений.
Системные требования
Компонент ОЗУ ЦП Диск
OpenUDS Server 2 ГБ 2 vCPUs 8 ГБ
SQL Server 1 ГБ 2 vCPUs 10 ГБ
OpenUDS Tunnel 2 ГБ 2 vCPUs 13 ГБ
Примечание: Если сервер с базой данных установлен на той же машине, где и OpenUDS Server, требуемое количество памяти нужно просуммировать.


Установка

Установка mysql/mariadb

Установить MySQL (MariaDB), запустить и добавить в автозагрузку сервер mariadb, задать пароль root для mysql и настройки безопасности:

# apt-get install mariadb-server
# systemctl enable --now mariadb.service
# mysql_secure_installation
$ mysql -u root

Создать базу данных dbuds, пользователя базы данных dbuds с паролем password и предоставить ему привилегии в базе данных dbuds:

 
MariaDB> CREATE DATABASE dbuds CHARACTER SET utf8 COLLATE utf8_general_ci;
MariaDB> CREATE USER 'dbuds'@'%' IDENTIFIED BY 'password';
MariaDB> GRANT ALL PRIVILEGES ON dbuds.* TO 'dbuds'@'%';
MariaDB> FLUSH PRIVILEGES;
MariaDB> exit;

OpenUDS Server

Установка OpenUDS Server

# apt-get install openuds-server-nginx

Будут установлены:

  • openuds-server — django приложение;
  • gunicorn — сервер приложений. Обеспечивает запуск django как стандартного WSGI приложения;
  • nginx — http-сервер, используется в качестве reverse-proxy для доступа к django приложению, запущенному с помощью gunicorn.

Настройка OpenUDS Server

  • отредактировать /etc/openuds/settings.py, указав корректные данные для подключения к SQL серверу:
    DATABASES = {
        'default': {
            'ENGINE': 'django.db.backends.mysql', 
            'OPTIONS': {
                'isolation_level': 'read committed',
            },
            'NAME': 'dbuds',  # Or path to database file if using sqlite3.
            'USER': 'dbuds',  # Not used with sqlite3.
            'PASSWORD': 'password',  # Not used with sqlite3.
            'HOST': 'localhost',  # Set to empty string for localhost. Not used with sqlite3.
            'PORT': '3306',  # Set to empty string for default. Not used with sqlite3.
        }
    }
    
  • «заполнить» базу данных первоначальными данными:
    # su -s /bin/bash - openuds
    $ cd /usr/share/openuds
    $ python3 manage.py migrate
    $ exit
    
  • запустить gunicorn:
    # systemctl enable --now openuds-web.service
    
  • запустить nginx:
    # ln -s ../sites-available.d/openuds.conf /etc/nginx/sites-enabled.d/openuds.conf
    # systemctl enable --now nginx.service
    
  • запустить менеджер задач OpenUDS
    # systemctl enable --now openuds-taskmanager.service
    
  • подключиться к серверу OpenUDS с помощью браузера https://<openuds_address>:
    Веб-интерфейс OpenUDS
Примечание: Имя/пароль по умолчанию: root/udsmam0

Чтобы получить доступ к администрированию OpenUDS следует в меню пользователя выбрать пункт «Панель управления» («Dashboard»):

OpenUDS. Меню пользователя


Дополнительная информация о настройках django приложений:

https://docs.djangoproject.com/en/2.2/howto/deployment/wsgi/
https://docs.djangoproject.com/en/2.2/ref/databases/

OpenUDS Tunnel

Внимание! Инструкция по установке и настройке OpenUDS Tunnel актуальна для openuds-tunnel, начиная  с версии 3.5.0-alt3 .


Установка OpenUDS Tunnel

Примечание: Установка OpenUDS Tunnel должна выполняться на отдельной от OpenUDS Server системе.


# apt-get install openuds-tunnel
Примечание: При установке openuds-tunnel в /etc/openuds-tunnel/ssl генерируются сертификаты. Их можно заменить на свои, выпущенные внутри организации или Удостоверяющим Центром.


Настройка OpenUDS Tunnel

На OpenUDS Tunnel:

  1. Указать адрес OpenUDS сервера (брокера) в файле /etc/openuds-tunnel/udstunnel.conf:
    uds_server = http://192.168.0.53/uds/rest/tunnel/ticket
    uds_token = 5ba9d52bb381196c2a22e495ff1c9ba4bdc03440b726aa8b
    
  2. Запустить и добавить в автозагрузку сервис OpenUDS Tunnel:
    # systemctl enable --now openuds-tunnel.service
    

На сервере OpenUDS:

  1. Зарегистрировать туннельный сервер, выполнив команду:
    # openuds_tunnel_register.py -H 192.168.0.88 -n Tunnel -t 5ba9d52bb381196c2a22e495ff1c9ba4bdc03440b726aa8b
    Tunnel token register success. (With token: 5ba9d52bb381196c2a22e495ff1c9ba4bdc03440b726aa8b)
    
    где:
    • -H 192.168.0.88 — IP-адрес туннельного сервера;
    • -n Tunnel — название туннеля;
    • -t 5ba9d52….40b726aa8b — токен туннельного сервера (из файла udstunnel.conf).
    См.также openuds_tunnel_register.py --help
  2. Создать туннельный транспорт, например, X2Go. На вкладке «Туннель» указать IP-адрес и порт туннельного-сервера: 192.168.0.88:7777
Примечание: В openuds-server, до версии 3.5.0-alt6 для регистрации токена нужно добавить в БД информацию о OpenUDS Tunnel: INSERT INTO `uds_tunneltoken` VALUES (ID,'автор добавления','IP-адрес туннеля','IP-адрес туннеля','название туннеля','Токен из файла udstunnel.conf','дата добавления'); . Например:
# mysql -u root -p
MariaDB> USE dbuds;
MariaDB> INSERT INTO `uds_tunneltoken` VALUES (ID,'admin','192.168.0.88','192.168.0.88','Tunnel','5ba9d52bb381196c2a22e495ff1c9ba4bdc03440b726aa8b','2022-11-15');
MariaDB> exit;


Настройка HTML5

На OpenUDS Tunnel:

  1. В файле /etc/guacamole/guacamole.properties привести значение параметра uds-base-url к виду:
    http://<IP openuds сервера>/uds/guacamole/auth/<Токен из файла udstunnel.conf>/
    Например:
    uds-base-url=http://192.168.0.53/uds/guacamole/auth/5ba9d52bb381196c2a22e495ff1c9ba4bdc03440b726aa8b
  2. Настроить tomcat:
    • для подключения по http:
      т.к. tomcat по умолчанию работает на порту 8080, то перед запуском tomcat необходимо, либо остановить службу ahttpd:
      # systemctl disable --now ahttpd
      
      либо изменить порт 8080 в файле /etc/tomcat/server.xml на другой допустимый номер порта, например, 8081:
      <Connector port="8081" protocol="HTTP/1.1"
                     connectionTimeout="20000"
                     redirectPort="8443" />
      
    • для подключения по https: в файл /etc/tomcat/server.xml добавить новый Connector, в котором указать порт (в примере 10443), сертификат (файл .crt, .pem и т.д.), закрытый ключ (.key, .pem и т.д.):
      <Connector port="10443" protocol="org.apache.coyote.http11.Http11AprProtocol" SSLEnabled="true" 
                    ciphers="A-CHACHA20-POLY1305,ECDHE-RSA-CHACHA20-POLY1305,ECDHE-ECDSA-AES128-GCM-SHA256,ECDHE-RSA-AES128-GCM-SHA256,ECDHE-ECDSA-AES256-GCM-SHA384,ECDHE-RSA-AES256-GCM-SHA384,DHE-RSA-AES128-GCM-SHA256,DHE-RSA-AES256-GCM-SHA384,ECDHE-ECDSA-AES128-SHA256,ECDHE-RSA-AES128-SHA256,ECDHE-ECDSA-AES128-SHA,ECDHE-RSA-AES256-SHA384,ECDHE-RSA-AES128-SHA,ECDHE-ECDSA-AES256-SHA384,ECDHE-ECDSA-AES256-SHA,ECDHE-RSA-AES256-SHA,DHE-RSA-AES128-SHA256,DHE-RSA-AES128-SHA,DHE-RSA-AES256-SHA256,DHE-RSA-AES256-SHA,ECDHE-ECDSA-DES-CBC3-SHA,ECDHE-RSA-DES-CBC3-SHA,EDH-RSA-DES-CBC3-SHA,AES128-GCM-SHA256,AES256-GCM-SHA384,AES128-SHA256,AES256-SHA256,AES128-SHA,AES256-SHA,DES-CBC3-SHA" 
                    maxThreads="500" scheme="https" secure="true" 
                    SSLCertificateFile="/etc/openuds-tunnel/ssl/certs/openuds-tunnel.pem" 
                    SSLCertificateKeyFile="/etc/openuds-tunnel/ssl/private/openuds-tunnel.key" 
                    maxKeepAliveRequests="1000" 
                    clientAuth="false" sslProtocol="TLSv1+TLSv1.1+TLSv1.2" />
      
  3. Запустить сервисы guacd и tomcat:
    # systemctl enable --now guacd tomcat
    

На сервере OpenUDS при создании нового туннельного транспорта HTML5RDP на вкладке «Туннель» указать IP-адрес и порт туннельного-сервера:

Обновление

После обновления openuds-server до новой версии необходимо выполнить следующие действия:

1. Перенести изменения из нового конфигурационного файла /etc/openuds/settings.py.rpmnew (если они есть) в используемый /etc/openuds/settings.py. Проверить, что изменилось можно так:

# diff -u --color /etc/openuds/settings.py /etc/openuds/settings.py.rpmnew

2. Выполнить миграцию базы данных:

# su -s /bin/bash - openuds -c "cd /usr/share/openuds; python3 manage.py migrate"

3. Перезагрузить систему, так как при обновлении не создаётся файл /run/openuds/socket.

Настройка

Подключение системы виртуализации

В разделе «Поставщики услуг» («Services») подключить один из поставщиков («Service providers»):

  • Поставщик платформы Proxmox (Proxmox Platform Provider);
  • Поставщик платформы OpenNebula (OpenNebula Platform Provider);
  • Поставщик платформы OpenStack (OpenStack Platform Provider);
  • Поставщик платформы oVirt/RHEV (oVirt/RHEV Platform Provider);
  • Отдельный сервер без виртуализации: Поставщик машин статических IP (Static IP Machines Provider).

OpenUDS. Подключение системы виртуализации

OpenNebula

Минимальные параметры для настройки «Поставщик платформы OpenNebula»:

  • вкладка «Основной»: название, IP-адрес сервера OpenNebula (поле «Хост»), порт подключения, имя пользователя (с правами администратора) и пароль:
    OpenUDS. Подключение системы виртуализации OpenNebula
  • вкладка «Расширенный»: максимальное количество одновременно создаваемых ВМ, максимальное количество одновременно удаляемых ВМ, таймаут подключения к OpenNebula в секундах:
    OpenUDS. Подключение системы виртуализации OpenNebula

Используя кнопку «Проверить», можно убедиться, что соединение установлено правильно.

После интеграции платформы OpenNebula в OpenUDS необходимо создать базовую службу типа «OpenNebula Live Images». Для этого можно дважды щелкнуть мышью по строке созданного поставщика услуг или в контекстном меню поставщика выбрать пункт «Подробность»:

OpenUDS. Контекстное меню Service providers

Примечание: Выбрав пункт «Обслуживание» («Maintenance»), можно приостановить все операции, выполняемые сервером OpenUDS для данного поставщика услуг. Поставщик услуг рекомендуется переводить в режим обслуживания в случаях, когда связь с этим поставщиком была потеряна или запланирован перерыв в обслуживании.


В открывшемся окне на вкладке «Поставщики услуг» («Services») выбрать «Новый»→«Действующие образы OpenNebula»:

OpenUDS. Создание новой службы

Заполнить параметры конфигурации. Вкладка «Основной» («Main»):

  • «Имя» («Name») — название службы;
  • «Хранилище» («Datastore») — хранилище.

Вкладка «Машина» («Machine»):

  • «Базовый шаблон» («Base Template») — шаблон ВМ, используемый системой OpenUDS для развертывания виртуальных рабочих столов (см. VDI/OpenUDS#Подготовка_шаблона_виртуальной_машины);
  • «Имена машин» («Machine Names») — базовое название для клонов с этой машины (например, Desk-kwork-);
  • «Длина имени» («Name Length») — количество цифр счетчика, прикрепленного к базовому имени рабочих столов (например, если Длина имени = 3, названия сгенерированных рабочих столов будут: Desk-kwork-000, Desk-kwork-001 ... Desk-kwork-999).

OpenUDS. Создание службы типа «OpenNebula Live Images». Вкладка «Основной» OpenUDS. Создание службы типа «OpenNebula Live Images». Вкладка «Машина»


После того, как среда OpenUDS будет настроена и будет создан первый «пул служб», в среде OpenNebula можно будет наблюдать, как разворачиваются рабочие столы. Сначала будет создан образ ВМ («UDSP-pool_name-DSK») — клон образа, шаблон («UDSP-pool_name-publishing-number») — клон ВМ, выбранной при регистрации службы. После завершения процесса создания клона будут созданы рабочие столы («Machine_Name-Name_Length»).

PVE

Минимальные параметры для настройки «Поставщик платформы Proxmox»:

  • вкладка «Основной»:
    • «Имя» («Name») — название поставщика;
    • «Хост» («Host») — IP-адрес/имя сервера или кластера;
    • «Порт» («Port») — порт подключения;
    • «Имя пользователя» («Username») — имя пользователя с достаточными привилегиями в PVE (в формате пользователь@аутентификатор);
    • «Пароль» («Password») — пароль пользователя.
    OpenUDS. Подключение системы виртуализации Proxmox
  • вкладка «Расширенный»:
    • «Одновременное создание» («Creation concurrency») — максимальное количество одновременно создаваемых ВМ;
    • «Одновременное удаление» («Removal concurrency») — максимальное количество одновременно удаляемых ВМ;
    • «Таймаут» («Timeout») — таймаут подключения к Proxmox в секундах;
    • «Начальный VmId» («Starting VmId») — идентификатор ВМ, с которым OpenUDS начнет генерировать ВМ на Proxmox (>=10000);
    • «Диапазон MAC-адресов» («Macs range») — диапазон MAC-адресов, которые будут использоваться рабочими столами.
    OpenUDS. Подключение системы виртуализации Proxmox

Используя кнопку «Проверить», можно убедиться, что соединение установлено правильно.

После интеграции платформы PVE в OpenUDS необходимо создать базовую службу типа «Связанный клон Proxmox» («Proxmox Linked Clone»). Для этого можно дважды щелкнуть мышью по строке созданного поставщика услуг или в контекстном меню поставщика выбрать пункт «Подробность»:

OpenUDS. Контекстное меню Service providers

Примечание: Выбрав пункт «Обслуживание» («Maintenance»), можно приостановить все операции, выполняемые сервером OpenUDS для данного поставщика услуг. Поставщик услуг рекомендуется переводить в режим обслуживания в случаях, когда связь с этим поставщиком была потеряна или запланирован перерыв в обслуживании.


В открывшемся окне на вкладке «Поставщики услуг» («Services») выбрать «Новый»→«Связанный клон Proxmox»:

OpenUDS. Создание новой услуги

Заполнить параметры конфигурации. Вкладка «Основной» («Main»):

  • «Имя» («Name»)  — название службы;
  • «Пул» («Pool») — пул, в котором будут находиться ВМ, созданные OpenUDS;
  • «Высокая доступность» («HA») — включать ли созданные ВМ в группу HA PVE;
  • «Сначала попробовать SOFT Shutdown» («Try SOFT Shutdown first») — если активно, OpenUDS попытается, перед уничтожением автоматически сгенерированного виртуального рабочего стола, выполнить контролируемое отключение машины.

Вкладка «Машина» («Machine»):

  • «Базовая машина» («Base Machine») — шаблон ВМ, используемый системой OpenUDS для развертывания виртуальных рабочих столов (см. VDI/OpenUDS#Подготовка_шаблона_виртуальной_машины);
  • «Хранилище» («Storage») — хранилище, где будут храниться сгенерированные виртуальные рабочие столы (поддерживаются хранилища, позволяющие создавать «Снимки»);
  • «Имена машин» («Machine Names») — базовое название для клонов с этой машины (например, Desk-SL-);
  • «Длина имени» («Name Length») — количество цифр счетчика, прикрепленного к базовому имени рабочих столов (например, если Name Length = 3, названия сгенерированных рабочих столов будут: Desk-SL-000, Desk-SL-001 ... Desk-SL-999).

OpenUDS. Создание службы типа «Proxmox Linked Clone». Вкладка «Main» OpenUDS. Создание службы типа «Proxmox Linked Clone». Вкладка «Machine»

После того, как среда OpenUDS будет настроена и будет создан первый «пул служб», в среде PVE можно будет наблюдать, как разворачиваются рабочие столы. Сначала будет создан шаблон («UDS-Publication-pool_name-publishing-number») — клон ВМ, выбранной при регистрации службы. После завершения процесса создания клона будут созданы рабочие столы («Machine_Name-Name_Length»):

PVE. Созданные шаблоны и рабочие столы

Удалённый доступ к отдельному серверу (Static IP Machine Provider)

OpenUDS позволяет создать подключение к отдельным устройствам (физическим или виртуальным). Доступ к отдельной машине осуществляется путем назначения IP-адресов пользователям.

Для регистрации поставщика данного типа следует в разделе «Поставщики услуг» («Services») нажать кнопку «Новый» и выбрать пункт «Поставщик машин статических IP» («Static IP Machine Provider»):

OpenUDS. «Поставщик машин статических IP»

Для настройки «Поставщика машин статических IP» достаточно задать название поставщика.

OpenUDS. Поставщик машин статических IP

Для создания базовых услуг «Поставщика машин статических IP» следует дважды щелкнуть мышью по строке созданного поставщика или в контекстном меню поставщика выбрать пункт «Подробность» («Detail»):

OpenUDS. Контекстное меню Service providers

OpenUDS позволяет создавать два типа услуг «Поставщика машин статических IP»:

«Статический множественный IP-адрес» («Static Multiple IP»)
Используется для подключения одного пользователя к одному компьютеру. Поддерживается неограниченное количество IP-адресов (можно включить в список все устройства, которые должны быть доступны удалённо). По умолчанию система будет предоставлять доступ к устройствам в порядке FIFO, т.е. первый пользователь получивший доступ к этому пулу, получает доступ к машине с первым IP-адресом из списка. Также можно настроить выборочное распределение, чтобы определённому пользователю назначался определенный компьютер (IP-адрес).
Примечание: Для настройки привязки конкретного пользователя к конкретному IP-адресу необходимо в разделе «Пулы услуг» (см. VDI/OpenUDS#Настройка_«Пула_услуг»_(«Service_Pools»)) для созданной услуги на вкладке «Назначенные сервисы» («Assigned services») нажать кнопку «Назначить услугу» («Assigne service») и задать привязку пользователя устройству: OpenUDS. Привязка пользователю устройству


«Статический одиночный IP-адрес» («Static Single IP»)
Используется для подключения нескольких пользователей к одному компьютеру. При обращении каждого нового пользователя будет запускаться новый сеанс.

Для создания новой услуги типа «Поставщик машин статических IP» на вкладке «Services» нажмите «Новый»→«Статический множественный IP-адрес» или «Новый»→«Статический одиночный IP-адрес»:

OpenUDS. Создание новой услуги Static IP

Параметры конфигурации для услуги «Статический множественный IP-адрес»:

  • Вкладка «Основной»:
    • «Имя» («Name») — название службы;
    • «Список серверов» («List of servers») — один или несколько IP-адресов машин, к которой будет осуществляться доступ (машины должны быть включены и настроены см. VDI/OpenUDS#Подготовка_шаблона_виртуальной_машины);
    • «Ключ услуги» («Service Token») — токен, который будет использоваться клиентами для связи с сервисом. Если в этом поле не указан токен (пусто), система не будет контролировать сеансы пользователей на компьютерах. Таким образом, когда компьютер назначается пользователю, это назначение будет сохраняться до тех пор, пока администратор не удалит его вручную. При наличии токена сеансы пользователей будут контролироваться (при выходе из сеанса, компьютеры снова становятся доступными для доступа других пользователей). Если токен указан, необходимо, чтобы на компьютерах (IP-адрес, которых указан в поле «Список серверов») был установлен Unmanaged UDS Actor (см. OpenUDS_Windows#Unmanaged_OpenUDS_Actor).
    OpenUDS. Создание службы типа «Static Multiple IP»
  • Вкладка «Расширенный»:
    • «Проверить порт» («Check port») — порт, по которому система может проверить, доступен ли компьютер. Если компьютер не доступен, система автоматически предоставит следующее устройство в списке. 0 — не проверять доступность компьютера;
    • «Пропустить время» («Skip time») — период (в минутах), в течение которого не будет проверяться доступность недоступной машины;
    • «Максимальное количество сеансов на машину» — максимальная продолжительность сеанса (в часах), прежде чем OpenUDS решит, что эта машина заблокирована и освободит её (0 означает «никогда»).
    OpenUDS. Создание службы типа «Статический множественный IP-адрес»
Примечание: Назначение IP-адресов будет осуществляться в порядке доступа, то есть первому пользователю, который обращается к службе, будет назначен первый IP-адрес в списке, второму второй и т.д. IP-адрес будет привязан пользователю, даже после выхода пользователя из системы (пока администратор не удалит привязку вручную).

Просмотреть/изменить привязанные сеансы можно в разделе «Пулы услуг» (см. VDI/OpenUDS#Настройка_«Пула_услуг»_(«Service_Pools»)) на вкладке «Назначенные сервисы»:

OpenUDS. Подключение к «Static Multiple IP»


Параметры конфигурации для услуги «Статический одиночный IP-адрес»:

OpenUDS. Создание службы типа «Статический одиночный IP-адрес»

Настройка аутентификации пользователей

Аутентификаторы

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

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

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

OpenUDS. Выбор типа аутентификации пользователей

При создании любого аутентификатора заполняется поле «Метка» («Label»), которое включает прямую проверку в аутентификаторе. Это позволяет пользователю пройти проверку подлинности с помощью указанного аутентификатора, даже если в среде OpenUDS настроено несколько аутентификаторов. Для этого нужно получить доступ к экрану входа OpenUDS в формате: OpenUDS-server/uds/page/login/label (например, https://192.168.0.53/uds/page/login/AD).


Для настройки аутентификации в разделе «Аутентификаторы» («Autentificators») необходимо выбрать тип аутентификации пользователей. Можно выбрать как внешние источники (Active Directory, OpenLDAP и т. д.), так и внутренние (внутренняя база данных, IP-аутентификация):

OpenUDS. Выбор типа аутентификации пользователей

Внутренняя база данных

При использовании аутентификации «Внутренняя БД» («Internal Database») данные пользователей и групп хранятся в базе данных, к которой подключен сервер OpenUDS.

Для создания аутентификации типа «Внутренняя БД» в разделе «Аутентификаторы» следует нажать кнопку: «Новый» → «Внутренняя БД».

Минимальные параметры конфигурации (вкладка «Основной»): имя аутентификатора, приоритет и метка:

OpenUDS. Внутренняя база данных

После того, как аутентификатор типа «Внутренняя БД» создан, нужно будет зарегистрировать пользователей и группы пользователей. Для этого следует выбрать созданный аутентификатор, во вкладке «Группы» («Groups») создать группы пользователей, затем во вкладке «Пользователи» («Users») создать пользователей.

OpenUDS. «Internal Database» — пользователи

Regex LDAP Authenticator

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

Внимание! На сервере LDAP должна быть настроена отдельная учётная запись с правами чтения LDAP. От данной учетной записи будет выполняться подключение к серверу каталогов.


FreeIPA

1. В разделе «Аутентификаторы» нажать кнопку: «Новый» → «Аутентификатор Regex LDAP» («Regex LDAP Authenticator»).

Аутентификатор Regex LDAP

2. Заполнить поля первых трёх вкладок (в примере указан домен freeipa.test):

На вкладке «Основной» указать имя аутентификатора, приоритет, метку, IP-адрес FreeIPA-сервера, порт (обычно 389 без ssl, 636 с ssl):

OpenUDS. Настройка аутентификации в FreeIPA

Вкладка «Учётные данные»: имя пользователя (в формате uid=user_freeipa,cn=users,cn=accounts,dc=example,dc=test) и пароль:

OpenUDS. Настройка аутентификации в FreeIPA

Вкладка «LDAP информация»: общая база пользователей, класс пользователей LDAP, идентификатор атрибута пользователя, атрибут имени пользователя, атрибут имени группы:

OpenUDS. Настройка аутентификации в FreeIPAr

3. Помимо указания источника пользователей необходимо добавить существующую группу LDAP, в которую они входят. Для этого выбрать созданный аутентификатор, на вкладке «Группы» выбрать «Новый» → «Группа».

Новая группа

4. Заполнить dn существующей группы (для FreeIPA по умолчанию это группа cn=ipausers,cn=groups,cn=accounts,dc=freeipa,dc=test), можно также указать разрешённые пулы:

Информация о группе FreeIPA

Примечание: Если на сервере FreeIPA настроена двухфакторная аутентификация (пароль + OTP), в форме входа необходимо указывать пароль и код токена (в формате: <пароль><код токена>).


Active Directory
Примечание: Для Active Directory у коммерческой версии OpenUDS есть отдельный коннектор.


Настройка аутентификации в Active Directory (например, на samba-dc) аналогична FreeIPA кроме некоторых различий (на примере домена test.alt):

1. На вкладке «Основной» указать имя аутентификатора, приоритет, метку, IP-адрес сервера AD, порт (обычно 389 без ssl, 636 с ssl):

OpenUDS. Настройка аутентификации в AD

2. На вкладке «Учётные данные» указать имя пользователя (можно указать в виде имя@домен) и пароль:

OpenUDS. Интеграция с AD — учетные данные пользователя

3. На вкладке «LDAP информация» указать общую базу пользователей, класс пользователей LDAP, идентификатор атрибута пользователя (если используется userPrincipalName имя пользователя для входа указывается в формате user@test.alt, если sAMAccountName — имя пользователя без указания домена), атрибут имени пользователя, атрибут имени группы:

OpenUDS. Интеграция с AD — LDAP информация

Используя кнопку «Проверить» («Test»), можно проверить соединение с Active Directory.

Примечание: Ошибка Ldap user class seems to be incorrect (no user found by that class) не влияет на возможность аутентифицироваться доменному пользователю.


4. Добавить группу LDAP, в которую входят пользователи. Для этого выбрать созданный аутентификатор, на вкладке «Группы» выбрать «Новый» → «Группа», в открывшемся окне заполнить dn существующей группы (например, CN=UDS,CN=Users,DC=test,DC=alt), можно также указать разрешённые пулы:

OpenUDS. Интеграция с Active Directory — добавление группы LDAP

Примечание: Атрибут memberOf является многозначным атрибутом, который содержит группы, из которых пользователь является прямым членом, за исключением основной группы, которая представлена primaryGroupId. Поэтому в поле «Группы» не нужно указывать основную группу, например,
CN=Domain Users,CN=Users,DC=test,DC=alt

или

CN=Пользователи домена,CN=Users,DC=test,DC=alt


Примечание: На вкладке «Пользователи» аутентификатора пользователи будут добавляться автоматически после первого входа в систему OpenUDS (пользователи должны входить в группы, указанные в аутентификаторе на вкладке «Группа»):

OpenUDS. Интеграция с Active Directory — пользователи LDAP

Можно зарегистрировать пользователя вручную, чтобы назначить ему специальные права перед первым подключением. Для этого необходимо нажать кнопку «Новый» и указать пользователя, его статус (включен или отключен) и уровень доступа (поле «Роль»). Не рекомендуется заполнять поле «Группы», так как система должна автоматически добавить пользователя в группу участников:

OpenUDS. Интеграция с AD — регистрация пользователя вручную


IP-аутентификация

Этот тип аутентификации обеспечивает доступ клиентов к рабочим столам и виртуальным приложениям по их IP-адресу.

Для создания аутентификации типа «IP аутентификатор» в разделе «Аутентификаторы» следует нажать кнопку: «Новый» → «IP аутентификатор».

Минимальные параметры конфигурации (вкладка «Основной»): имя аутентификатора, приоритет и метка:

OpenUDS. IP Autentificator

Настройки на вкладке «Расширенный»:

  • «Видно только из этих сетей» — позволяет отфильтровать сети, из которых будет виден аутентификатор;
  • «Разрешить прокси» — позволяет корректно определять IP-адреса клиентов подключения, если есть промежуточный компонент для доступа к серверу OpenUDS, например, балансировщик нагрузки (OpenUDS автоматически определяет IP-адрес клиента подключения. В средах, где настроены балансировщики нагрузки, это обнаружение не удается, поскольку IP-адрес соответствует обнаруженным балансировщикам. Включение этой опции обеспечивает правильное определение IP-адреса клиента).

OpenUDS. IP аутентификатор — вкладка «Расширенный»

После того, как аутентификатор типа «IP аутентификатор» создан, следует создать группы пользователей. Группа может представлять собой диапазон IP-адресов (192.168.0.1-192.168.0.55), подсеть (192.168.0.0/24) или отдельные IP-адреса (192.168.0.33,192.168.0.50):

OpenUDS. IP Autentificator - создание группы пользователей

Радиус аутентификатор

«Радиус аутентификатор» («Radius Authenticator») — это внешний аутентификатор, который позволяет предоставлять доступ к виртуальным рабочим столам и приложениям пользователям и группам пользователей, принадлежащим аутентификатору на основе RADIUS.

Для создания аутентификации типа «Радиус аутентификатор» в разделе «Аутентификаторы» следует нажать кнопку: «Новый» → «Радиус аутентификатор».

На вкладке «Основной» необходимо указать имя аутентификатора, приоритет, метку, IP-адрес или имя RADIUS-сервера, порт (по умолчанию 1812), пароль для авторизации на сервере RADIUS (определяется на сервере RADIUS):

OpenUDS. Радиус аутентификатор — вкладка «Основной»

Настройки на вкладке «Расширенный»: «Идентификатор NAS» — идентифицирует OpenUDS на сервере RADIUS; «Префикс приложения для атрибутов класса» — позволяет фильтровать, какие группы будут получены из атрибута «класс» сервера RADIUS. «Глобальная группа» — позволяет принудительно включить всех пользователей в группу. Это позволяет серверу RADIUS (который является «простым» аутентификатором, не поддерживающим группы), назначать ВСЕХ пользователей в группу (даже если она также содержит группы).

OpenUDS. Радиус аутентификатор — вкладка «Расширенный»

С помощью кнопки «Проверить» можно проверить успешность подключения к RADIUS-серверу.

После того, как аутентификатор типа «Радиус аутентификатор» создан, нужно будет зарегистрировать группу пользователей. Для этого следует выбрать созданный аутентификатор, во вкладке «Группы» («Groups») создать группу пользователей (необходимо указать группу, указанную на этапе создания аутентификатора в поле «Глобальная группа»):

OpenUDS. «Радиус аутентификатор» — группа пользователей

Примечание: Если на сервере RADIUS настроена двухфакторная аутентификация, в форме входа необходимо указывать пароль и код токена (в формате: <пароль><код токена>).


Многофакторная аутентификация

Многофакторная аутентификация (МФА) добавляет ещё один уровень защиты в процесс входа.

OpenUDS. Выбор типа многофакторной аутентификации пользователей

OpenUDS поддерживает несколько систем многофакторной аутентификации:

  • Многофакторная электронная почта
  • Радиус OTP Challenge
  • SMS через HTTP
  • МФА на основе TOTP

OpenUDS также поддерживает другие МФА, интегрированные в сам аутентификатор.

Многофакторная электронная почта

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

OpenUDS. Код полученный по электронной почте

Минимальные параметры для настройки «Многофакторная электронная почта»:

  • вкладка «Основной»:
    OpenUDS. Многофакторная электронная почта — вкладка «Основной»
    • «Имя» («Name») — название элемента;
    • «Кэширование устройства» («Device Caching») — время (в часах), в течение которого МФА повторно не запрашивается;
    • «Срок действия кода МФА» («MFA code validity») — время (в минутах), в течение которого можно использовать полученный код МФА;
  • вкладка «SMTP-сервер»:
    OpenUDS. Многофакторная электронная почта — вкладка «SMTP-сервер»
    • «SMTP-хост» («SMTP Host») — имя хоста или IP-адрес SMTP-сервера (если используется нестандартный порт, его следует указать после двоеточия);
    • «Безопасность» («Security») — протокол безопасности;
    • «Имя пользователя» («Username») — пользователь с доступом к SMTP-серверу;
    • «Пароль» («Password») — пароль пользователя;
  • вкладка «Конфигурация»:
    OpenUDS. Многофакторная электронная почта — вкладка «Конфигурация»
    • «Предмет» («Subject») — тема письма;
    • «Из электронной почты» («From Email») — адрес электронной почты, который будет использоваться в качестве отправителя;
    • «Политика для пользователей без поддержки МФА» («Policy for users without MFA Support») — политика, которая будет использоваться для пользователей с ненастроенной МФА. Возможные значения: «Allow user login» — разрешить вход, «Deny user login» — запретить вход, «Allow user login if it IP is in networks list» — разрешить вход, если IP пользователя в списке сетей, «Deny user login if it IP is in networks list» — запретить вход, если IP пользователя в списке сетей;
    • «Текст сообщения» («Mail text») — текст сообщения. Если пусто, будет использоваться сообщение по умолчанию. Возможно использовать следующие переменные:
      • {code} — код
      • {ip} — IP-адрес
      • {username} — имя пользователя
      • {justUsername} — имя пользователя без @
SMS через HTTP

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

Минимальные параметры для настройки «SMS через HTTP»:

  • вкладка «Основной»:
    OpenUDS. SMS через HTTP — вкладка «Основной»
    • «Имя» («Name») — название элемента;
    • «Кэширование устройства» («Device Caching») — время (в часах), в течение которого МФА повторно не запрашивается;
    • «Срок действия кода МФА» («MFA code validity») — время (в минутах), в течение которого можно использовать полученный код МФА;
  • вкладка «HTTP-сервер»:
    OpenUDS. SMS через HTTP — вкладка «HTTP-сервер»
    • «Шаблон URL для отправки SMS» («URL pattern for SMS sending») — шаблон URL для отправки СМС (может содержать следующие переменные {code} — код для отправки, {phone/+phone} — номер телефона, {username} — имя пользователя, {justUsername} — имя пользователя без @);
    • «Способ отправки СМС» («SMS sending method») — метод, который будет использоваться для отправки СМС;
    • «Параметры для отправки СМС POST/PUT» («Parameters for SMS POST/PUT sending») — пользователь с доступом к SMTP-серверу;
    • «Кодировка СМС» («SMS encoding») — кодировка, которая будет использоваться в СМС;
  • вкладка «HTTP-аутентификация»:
    OpenUDS. SMS через HTTP — вкладка «HTTP-аутентификация»
    • «Метод аутентификации по СМС» («SMS authentication method») — метод аутентификации по SMS (None, HTTP Basic Auth, HTTP Digest Auth);
    • «Пользователь или токен СМС-аутентификации» («SMS authentication user or token») — пользователь или токен для СМС-аутентификации;
    • «СМС-пароль аутентификации» («SMS authentication password») — пароль для СМС-аутентификации;
  • вкладка «HTTP-ответ»:
    OpenUDS. SMS через HTTP — вкладка «HTTP-ответ»
    • «СМС ответ ОК регулярное выражение» («SMS response OK regex») — регулярное выражение для СМС-ответа ОК. Если пусто, ответ считается ОК, если код состояния равен 200;
  • вкладка «Конфигурация»:
    OpenUDS. SMS через HTTP — вкладка «Конфигурация»
    • «Действие при ошибке ответа СМС» («SMS response error action») — политика, которая будет использоваться при ошибке. Возможные значения: «Allow user login» — разрешить вход, «Deny user login» — запретить вход, «Allow user login if it IP is in networks list» — разрешить вход, если IP пользователя в списке сетей, «Deny user login if it IP is in networks list» — запретить вход, если IP пользователя в списке сетей;
    • «Пользователь без политики МФА» («User without MFA Support») — политика, которая будет использоваться для пользователей с ненастроенной МФА. Возможные значения: «Allow user login» — разрешить вход, «Deny user login» — запретить вход, «Allow user login if its IP is in networks list» — разрешить вход, если IP пользователя в списке сетей, «Deny user login if its IP is in networks list» — запретить вход, если IP пользователя в списке сетей.
МФА на основе TOTP

При использовании этого метода, пользователь после ввода логина/пароля будет перенаправлен на второй этап аутентификации, где он должен будет ввести код TOTP, генерируемый в приложении (например, Google Authenticator, FreeOTP и т.д.).

При входе в систему пользователю без активного второго фактора будет предоставлена возможность самостоятельно запустить процесс регистрации второго фактора (создания профиля TOTP в приложении). Для данного пользователя будет сгенерирован секретный ключ в формате QR-кода:

OpenUDS. QR-код

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

OpenUDS. Запрос одноразового (TOTP) кода

Параметры для настройки «МФА на основе TOTP»:

  • вкладка «Основной»:
    OpenUDS. МФА на основе TOTP — вкладка «Основной»
    • «Имя» («Name») — название элемента;
    • «Эмитент» («Issuer») — эмитент OTP (после создания его нельзя изменить);
    • «Кэширование устройства» («Device Caching») — время (в часах), в течение которого МФА повторно не запрашивается;
    • «Срок действия кода МФА» («MFA code validity») — время (в минутах), в течение которого можно использовать полученный код МФА;
  • вкладка «Конфигурация»:
    OpenUDS. МФА на основе TOTP — вкладка «Конфигурация»
    • «Действительное окно» («Valid Window») — количество кодов, которые будут действительны до и после текущего;
    • «TOTP-сети» («TOTP Networks») — у пользователя, из этих сетей, не будет запрашиваться одноразовый пароль.

Настройка «Менеджеры ОС»

Примечание: Для каждой службы, развернутой в OpenUDS, потребуется «Менеджер ОС», за исключением случаев, когда используется служба «Поставщик машин статических IP».


OpenUDS. Настройка «OS Manager»

«Менеджер ОС» («OS Manager») запускает ранее настроенные службы:

  • «Linux OS Active Directory Manager» используется для виртуальных рабочих столов на базе Linux, которые являются членами домена AD;
  • «Linux OS FreeIPA Manager» используется для виртуальных рабочих столов на базе Linux, которые являются членами домена FreeIPA;
  • «Linux ОС менеджер» («Linux OS Manager») используется для виртуальных рабочих столов на базе Linux, которые не являются частью домена. Он выполняет задачи переименования и управления сеансами виртуальных рабочих столов;
  • «Windows Basic ОС менеджер» («Windows Basic OS Manager») используется для виртуальных рабочих столов на базе Windows, которые не являются частью домена AD;
  • «Windows Domain ОС менеджер» («Windows Domain OS Manager») используется для виртуальных рабочих столов на базе Windows, которые являются членами домена AD.
Примечание: Менеджеры «Linux OS FreeIPA Manager» и «Linux OS Active Directory Manager» доступны в openuds-server, начиная  с версии 3.6.0-alt2 .


Linux ОС менеджер/Windows Basic ОС менеджер

В данном разделе описаны минимальные настройки для «Linux ОС менеджер» и «Windows Basic ОС менеджер».

Вкладка «Основной»:

  • «Имя» («Name») — название;
  • «Действие при выходе из системы» («Logout Action») — действие, которое OpenUDS будет выполнять на виртуальном рабочем столе при закрытии сеанса пользователя. «Держать сервис привязанным» («Keep service assigned») — постоянный пул, при выходе пользователя (выключении ВМ), ВМ запускается заново, при повторном входе пользователю будет назначен тот же рабочий стол. «Удалить сервис» («Remove service») — непостоянный пул, при выходе пользователя из системы, ВМ удаляется и создается заново. «Держать сервис привязанным даже в новой публикации» («Keep service assigned even on new publication») — сохранение назначенной службы даже при создании новой публикации пула услуг;
  • «Максимальное время простоя» («Max. Idle time») — время простоя виртуального рабочего стола (в секундах). По истечении этого времени OpenUDS Actor автоматически закроет сеанс. Отрицательные значения и значения менее 300 секунд отключают эту опцию.

OpenUDS. Настройка «OS Manager»

Вкладка «Расширенный»:

  • «Выход по календарю» («Calendar logout» ) — если этот параметр установлен, OpenUDS попытается завершить сессию пользователя, когда для текущего соединения истечет время доступа (если параметр не установлен, пользователю будет разрешено продолжить работу).

Linux OS Active Directory Manager

Минимальные настройки для «Linux OS Active Directory Manager»:

Вкладка «Основной»:

  • «Имя» («Name») — название;
  • «Домен» («Domain») — домен, к которому будут присоединены виртуальные рабочие столы. Необходимо использовать формат FQDN (например, test.alt);
  • «Аккаунт» («Account») — учетная запись пользователя с правами на добавление машин в домен;
  • «Пароль» («Password») —  пароль пользователя указанного в поле «Аккаунт»;
  • «OU» — организационная единица, в которую будут добавлены виртуальные хосты (если не указано, хосты будут зарегистрированы в подразделении по умолчанию — Computers). Формат поддерживаемых OU: OU = name_OU_last_level, ... OU = name_OU_first_level, DC = name_domain, DC = extension_domain. Во избежание ошибок при введении формата OU, рекомендуется сверяться с полем «distinguishedName» в свойствах атрибута OU;
  • «Действие при выходе из системы» («Logout Action») — действие, которое OpenUDS будет выполнять на виртуальном рабочем столе при закрытии сеанса пользователя. «Держать сервис привязанным» («Keep service assigned») — постоянный пул, при выходе пользователя (выключении ВМ), ВМ запускается заново, при повторном входе пользователю будет назначен тот же рабочий стол. «Удалить сервис» («Remove service») — непостоянный пул, при выходе пользователя из системы, ВМ удаляется и создается заново. «Держать сервис привязанным даже в новой публикации» («Keep service assigned even on new publication») — сохранение назначенной службы даже при создании новой публикации пула услуг;
  • «Максимальное время простоя» («Max. Idle time») — время простоя виртуального рабочего стола (в секундах). По истечении этого времени OpenUDS Actor автоматически закроет сеанс. Отрицательные значения и значения менее 300 секунд отключают эту опцию.

OpenUDS. Настройка «Linux OS Active Directory Manager»

Примечание: Для возможности ввода компьютера в домен, на нём должен быть доступен сервер DNS, имеющий записи про контроллер домена Active Directory.


Вкладка «Расширенный»:

  • «Client software» — позволяет указать, если это необходимо, способ подключения (SSSD или Winbind);
  • «Membership software» — позволяет указать, если это необходимо, утилиту, используемую для подключения к домену (Samba или adcli);
  • «Убрать машину» («Machine clean») — если этот параметр установлен, OpenUDS удалит запись о вирт. рабочем столе в указанном подразделении после удаления рабочего стола (необходимо, чтобы пользователь, указанный в поле «Аккаунт», имел права на выполнение данного действия в OU);
  • «Использовать SSL» («Use SSL») — если этот параметр установлен, будет использоваться SSL-соединение;
  • «Automatic ID mapping» — автоматический маппинг ID;
  • «Выход по календарю» («Calendar logout») — если этот параметр установлен, OpenUDS попытается завершить сессию пользователя, когда для текущего соединения истечет время доступа (если параметр не установлен, пользователю будет разрешено продолжить работу).

OpenUDS. Настройка «Linux OS Active Directory Manager»

Linux OS FreeIPA Manager

Минимальные настройки для «Linux OS FreeIPA Manager»:

Вкладка «Основной»:

  • «Имя» («Name») — название;
  • «Домен» («Domain») — домен FreeIPA, к которому будут присоединены виртуальные рабочие столы. Необходимо использовать формат FQDN (например, example.test);
  • «Аккаунт» («Account») — учетная запись пользователя с правами на добавление машин в домен;
  • «Пароль» («Password») —  пароль пользователя указанного в поле «Аккаунт»;
  • «Действие при выходе из системы» («Logout Action») — действие, которое OpenUDS будет выполнять на виртуальном рабочем столе при закрытии сеанса пользователя. «Держать сервис привязанным» («Keep service assigned») — постоянный пул, при выходе пользователя (выключении ВМ), ВМ запускается заново, при повторном входе пользователю будет назначен тот же рабочий стол. «Удалить сервис» («Remove service») — непостоянный пул, при выходе пользователя из системы, ВМ удаляется и создается заново. «Держать сервис привязанным даже в новой публикации» («Keep service assigned even on new publication») — сохранение назначенной службы даже при создании новой публикации пула услуг;
  • «Максимальное время простоя» («Max. Idle time») — время простоя виртуального рабочего стола (в секундах). По истечении этого времени OpenUDS Actor автоматически закроет сеанс. Отрицательные значения и значения менее 300 секунд отключают эту опцию.

OpenUDS. Настройка «Linux OS FreeIPA Manager»

Примечание: Для возможности ввода компьютера в домен, на нём должен быть доступен сервер DNS, имеющий записи про сервер FreeIPA.


Вкладка «Расширенный»:

  • «Client software» — позволяет указать, если это необходимо, способ подключения;
  • «Membership software» — позволяет указать, если это необходимо, утилиту, используемую для подключения к домену;
  • «Убрать машину» («Machine clean») — если этот параметр установлен, OpenUDS удалит запись о вирт. рабочем столе в указанном подразделении после удаления рабочего стола (необходимо, чтобы пользователь, указанный в поле «Аккаунт», имел права на выполнение данного действия в OU);
  • «Использовать SSL» («Use SSL») — если этот параметр установлен, будет использоваться SSL-соединение;
  • «Automatic ID mapping» — автоматический маппинг ID;
  • «Выход по календарю» («Calendar logout») — если этот параметр установлен, OpenUDS попытается завершить сессию пользователя, когда для текущего соединения истечет время доступа (если параметр не установлен, пользователю будет разрешено продолжить работу).

OpenUDS. Настройка «Linux OS FreeIPA Manager»

Windows Domain ОС менеджер

Минимальные настройки для «Windows Domain ОС менеджер»:

Вкладка «Основной»:

  • «Имя» («Name») — название;
  • «Домен» («Domain») — домен, к которому будут присоединены виртуальные рабочие столы. Необходимо использовать формат FQDN (например, test.alt);
  • «Аккаунт» («Account») — учетная запись пользователя с правами на добавление машин в домен;
  • «Пароль» («Password») —  пароль пользователя указанного в поле «Аккаунт»;
  • «OU» — организационная единица, в которую будут добавлены виртуальные хосты (если не указано, хосты будут зарегистрированы в подразделении по умолчанию — Computers). Формат поддерживаемых OU: OU = name_OU_last_level, ... OU = name_OU_first_level, DC = name_domain, DC = extension_domain. Во избежание ошибок при введении формата OU, рекомендуется сверяться с полем «distinguishedName» в свойствах атрибута OU;
  • «Действие при выходе из системы» («Logout Action») — действие, которое OpenUDS будет выполнять на виртуальном рабочем столе при закрытии сеанса пользователя. «Держать сервис привязанным» («Keep service assigned») — постоянный пул, при выходе пользователя (выключении ВМ), ВМ запускается заново, при повторном входе пользователю будет назначен тот же рабочий стол. «Удалить сервис» («Remove service») — непостоянный пул, при выходе пользователя из системы, ВМ удаляется и создается заново. «Держать сервис привязанным даже в новой публикации» («Keep service assigned even on new publication») — сохранение назначенной службы даже при создании новой публикации пула услуг;
  • «Максимальное время простоя» («Max. Idle time») — время простоя виртуального рабочего стола (в секундах). По истечении этого времени OpenUDS Actor автоматически закроет сеанс. Отрицательные значения и значения менее 300 секунд отключают эту опцию.

OpenUDS. Настройка «Windows Domain OS Manager»

Примечание: Для возможности ввода компьютера в домен, на нём должен быть доступен сервер DNS, имеющий записи про контроллер домена Active Directory.


Вкладка «Расширенный»:

  • «Группа машин» («Machine Group») — указывает, к какой группе машин AD будут добавлены виртуальные рабочие столы, созданные UDS;
  • «Убрать машину» («Machine clean») — если этот параметр установлен, OpenUDS удалит запись о вирт. рабочем столе в указанном подразделении после удаления рабочего стола (необходимо, чтобы пользователь, указанный в поле «Аккаунт», имел права на выполнение данного действия в OU);
  • «Предпочитаемый сервер» («Server Hint») — если серверов AD несколько, можно указать, какой из них использовать предпочтительнее;
  • «Использовать SSL» («Use SSL») — если этот параметр установлен, будет использоваться SSL-соединение;
  • «Выход по календарю» («Calendar logout») — если этот параметр установлен, OpenUDS попытается завершить сессию пользователя, когда для текущего соединения истечет время доступа (если параметр не установлен, пользователю будет разрешено продолжить работу).

OpenUDS. Настройка «Windows Domain OS Manager»

Настройка «Transports»

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

OpenUDS. Настройка «Transports»

Можно создать один транспорт для различных «пулов» или установить по одному транспорту для каждого «пула».

При создании транспорта необходимо выбрать его тип:

  • «Прямой» («Direct») — используется, если пользователь имеет доступ к виртуальным рабочим столам из внутренней сети (например, LAN, VPN и т. д.);
  • «Туннельный» («Tunneled») — используется, если у пользователя нет прямого подключения к рабочему столу.

RDP (прямой)

«RDP» позволяет пользователям получать доступ к виртуальным рабочим столам Windows/Linux. И на клиентах подключения, и на виртуальных рабочих столах должен быть установлен и включен протокол RDP (для виртуальных рабочих столов Linux необходимо использовать XRDP).

Минимальные параметры для настройки транспорта RDP:

  • Вкладка «Основной»:
    • «Имя» («Name») — название транспорта;
    • «Приоритет» («Priority») — приоритет, чем меньше значение приоритета, тем выше данный транспорт будет указан в списке доступных transports для сервиса. Транспорт с самым низким приоритетом, будет транспортом по умолчанию;
    • «Сетевой доступ» («Networks Access») — разрешает или запрещает доступ пользователей к службе, в зависимости от сети из которой осуществляется доступ;
    • «Сети» («Networks») — сетевые диапазоны, подсети или IP-адреса (настраиваются в разделе «Сети»). Пустое поле означает «все сети». Используется вместе с параметром «Сетевой доступ»;
    • «Разрешенные устройства» («Allowed Devices») — разрешает доступ к службе только с выбранных устройств. Пустое поле означает «все устройства»;
    • «Сервис-пулы» («Service Pools») — позволяет назначить транспорт одному или нескольким ранее созданным пулам услуг. Можно оставить это поле пустым и выбрать способы подключения при создании пула услуг.
    OpenUDS. RDP - вкладка «Main»
  • Вкладка «Учётные данные» («Credentials»):
    • «Пропустить данные аккаунта» («Empty creds») — если установлено значение «Да», учётные данные для доступа к виртуальному рабочему столу будут запрашиваться при подключении к серверу (не следует использовать при подключении к Windows, т.к. данные не запрашиваются). Если установлено значение «Нет», будут использоваться данные OpenUDS (см. ниже);
    • «Имя пользователя» («Username») — имя пользователя, которое будет использоваться для доступа к рабочему столу (пользователь должен существовать на ВМ). Если данное поле пустое, будет использован логин авторизовавшегося в веб-интерфейсе OpenUDS пользователя;
    • «Пароль» («Password») — пароль пользователя, указанного в поле «Username»;
    • «Без домена» («Without Domain») — указывает, перенаправляется ли доменное имя вместе с пользователем. Значение «Да» равносильно пустому полю «Domain»;
    • «Домен» («Domain») — домен. Если поле не пустое, то учётные данные будут использоваться в виде DOMAIN\user.
    Вкладка «Credentials»
  • На вкладке вкладке «Параметры» («Parameters») можно разрешить/запретить перенаправления дисков, принтеров и других устройств:
    • «Разрешить смарткарты» («Allow Smartcards») — разрешить перенаправление смарт-карт;
    • «Разрешить принтеры» («Allow Printers») — включить перенаправление принтеров;
    • «Политика локальных дисков» («Local drives policy») — включить перенаправление дисков:
      • «Allow none» — не перенаправлять диски;
      • «Allow PnP drives» — во время активного сеанса перенаправлять только подключенные диски;
      • «Allow any drive» — перенаправлять все диски;
    • « Принудительное подключение дисков» («Force drives») — принудительное перенаправление определённых дисков;
    • «Разрешить серийные порты» («Allow Serials») — включить перенаправление последовательного порта;
    • «Включить буфер обмена» («Enable clipboard») — разрешить общий буфер обмена;
    • «Включить звук» («Enable sound») — перенаправлять звук с рабочего стола на клиент подключения;
    • «Включить веб-камеру» («Enable webcam») — перенаправлять веб-камеру;
    • «USB-перенаправление» («USB redirection») — включить перенаправление USB;
    • «Поддержка Credssp» («Credssp Support») — использовать «redential Security Support Provider»;
    • «Порт RDP» («Port RDP») — порт RDP (по умолчанию 3389).
    OpenUDS. RDP - Вкладка «Parameters»
  • На вкладке «Экран/Дисплей» («Display») настраиваются параметры окна рабочего стола:
    • «Размер экрана» («Screen Size») — размер окна рабочего стола;
    • «Глубина цвета» («Color depth») — глубина цвета;
    • «Обои/темы» («Wallpaper/theme») — отображать фона рабочего стола;
    • «Несколько мониторов» («Multiple monitors») — использовать несколько мониторов (только для клиентов Windows);
    • «Разрешить композицию рабочего стола» («Allow Desk. Comp.») — включить Desktop Composition;
    • «Сглаживание шрифтов» («Font Smoothing») — активирует сглаживание шрифтов;
    • «Окно подключения» («Connection Bar») — показывать панель подключения (только для клиентов Windows).
    Вкладка «Display»
  • Вкладка «Linux Client»:
    • «Мультимедийная синхронизация» («Multimedia sync») — включает параметр мультимедиа на клиенте FreeRDP;
    • «Использовать Alsa» («Use Alsa») — использовать звук через Alsa;
    • «Строка принтера» («Printer string») —  принтер, используемый клиентом xfreerdp (если включено перенаправление принтера). Пример: «HP_LaserJet_M1536dnf_MFP» (названия подключенных принтеров можно вывести командой lpstat -a);
    • «Строка Smartcard» («Smartcard string») — токен, используемый клиентом xfreerdp (если включено перенаправление смарт-карт). Пример: «Aktiv Rutoken ECP 00 00».
    • «Пользовательские параметры» («Custom parameters») — здесь можно указать любой параметр, поддерживаемый клиентом FreeRDP.
    Вкладка «Linux Client»
  • Вкладка «Расширенный» («Advanced»):
    • «Метка» («Label») — метка транспорта метапула (используется для того чтобы назначить несколько транспортов метапулу).

RDP (туннельный)

Все настройки аналогичны настройке RDP, за исключением настроек на вкладке «Туннель».

  • Вкладка «Туннель» («Tunnel»):
    • «Туннельный сервер» («Tunnel Server») — IP-адрес (или имя) OpenUDS Tunnel. Если доступ к рабочему столу осуществляется через глобальную сеть, необходимо ввести общедоступный IP-адрес сервера OpenUDS Tunnel. Формат: IP_Tunneler:Port;
    • «Время ожидания туннеля» («Tunnel wait time») — максимальное время ожидания туннеля;
    • «Принудительная проверка SSL-сертификата» («Force SSL certificate verification») — принудительная проверка сертификата туннельного сервера.
    OpenUDS. RDP (туннельный) — вкладка «Tunnel»

X2Go (прямой)

«X2Go» позволяет пользователям получать доступ к виртуальным рабочим столам Linux. И на клиентах подключения (клиент), и на виртуальных рабочих столах (сервере) должен быть установлен и включен «X2Go».

Минимальные параметры для настройки транспорта X2Go:

  • Вкладка «Основной»:
    • «Имя» («Name») — название транспорта;
    • «Приоритет» («Priority») — приоритет. Чем меньше значение приоритета, тем выше данный транспорт будет указан в списке доступных transports для сервиса. Транспорт с самым низким приоритетом, будет транспортом по умолчанию;
    • «Сетевой доступ» («Networks Access») — разрешает или запрещает доступ пользователей к службе, в зависимости от сети из которой осуществляется доступ;
    • «Сети» («Networks») — сетевые диапазоны, подсети или IP-адреса (настраиваются в разделе «Networks»). Пустое поле означает «все сети». Используется вместе с параметром «Networks Access»;
    • «Разрешенные устройства» («Allowed Devices») — разрешает доступ к службе только с выбранных устройств. Пустое поле означает «все устройства»;
    • «Сервис-пулы» («Service Pools») — позволяет назначить транспорт одному или нескольким ранее созданным пулам услуг. Можно оставить это поле пустым и выбрать способы подключения при создании пула услуг.
    Вкладка «Main»


  • Вкладка «Учётные данные» («Credentials»):
    • «Имя пользователя» («Username») — имя пользователя, которое будет использоваться для доступа к рабочему столу (пользователь должен существовать на ВМ). Если данное поле пустое, будет использован логин авторизовавшегося в веб-интерфейсе OpenUDS пользователя.
    Вкладка «Credentials»
  • Вкладка «Параметры» («Parameters»):
    • «Размер экрана» («Screen Size») — размер окна рабочего стола;
    • «Экран» («Desktop») — менеджер рабочего стола (Xfce, Mate и д.р.) или виртуализация приложений Linux (UDS vAPP);
    • «vAPP» — полный путь до приложения (если «Desktop» = UDS vAPP) (см. Виртуализация приложений Linux);
    • «Включить звук» («Enable sound») — включить звук;
    • «Перенаправить домашнюю папку» («Redirect home folder») — перенаправить домашнюю папку клиента подключения на виртуальный рабочий стол (на Linux также перенаправлять /media);
    • «Скорость» («Speed») — скорость подключения.
    Вкладка «Parameters»


  • Вкладка «Расширенный» («Advanced»):
    • «Звук» («Sound») — тип звукового сервера;
    • «Клавиатура» («Keyboard») — раскладка клавиатуры;
    • «Метка» («Label») — метка транспорта метапула (используется для того чтобы назначить несколько транспортов метапулу).
    Вкладка «Advanced»

X2Go (туннельный)

Все настройки аналогичны настройке X2Go, за исключением настроек на вкладке «Туннель».

  • Вкладка «Туннель» («Tunnel»):
    • «Туннельный сервер» («Tunnel Server») — IP-адрес (или имя) OpenUDS Tunnel. Если доступ к рабочему столу осуществляется через глобальную сеть, необходимо ввести общедоступный IP-адрес сервера OpenUDS Tunnel. Формат: IP_Tunneler:Port;
    • «Время ожидания туннеля» («Tunnel wait time») — максимальное время ожидания туннеля;
    • «Принудительная проверка SSL-сертификата» («Force SSL certificate verification») — принудительная проверка сертификата туннельного сервера.
    OpenUDS. X2Go (туннельный) — вкладка «Tunnel»

SPICE (прямой)

Внимание! Транспортный протокол «SPICE» может использоваться только с oVirt/RHEV и OpenNebula. С openuds-server, начиная  с версии 3.6.0-alt3  транспортный протокол «SPICE» может также использоваться с PVE.


«SPICE» позволяет пользователям получать доступ к виртуальным рабочим столам Windows/Linux. На клиентах подключения должен быть установлен клиент «SPICE» (Virt-Manager).

Внимание! Для работы прямого подключения по протоколу SPICE на сервере OpenUDS и клиентах OpenUDS, откуда осуществляется подключение, имена узлов платформы виртуализации должны корректно разрешаться в IP-адреса этих узлов.


Минимальные параметры для настройки транспорта SPICE:

  • Вкладка «Основной»:
    • «Имя» («Name») — название транспорта;
    • «Приоритет» («Priority») — приоритет, чем меньше значение приоритета, тем выше данный транспорт будет указан в списке доступных transports для сервиса. Транспорт с самым низким приоритетом, будет транспортом по умолчанию;
    • «Сертификат» («Certificate») — сертификат сгенерированный в ovirt-engine/RHV-manager или в OpenNebula. Требуется для подключения к виртуальным рабочим столам;
    • «Сетевой доступ» («Networks Access») — разрешает или запрещает доступ пользователей к службе, в зависимости от сети из которой осуществляется доступ;
    • «Сети» («Networks») — сетевые диапазоны, подсети или IP-адреса (настраиваются в разделе «Сети»). Пустое поле означает «все сети». Используется вместе с параметром «Сетевой доступ»;
    • «Разрешенные устройства» («Allowed Devices») — разрешает доступ к службе только с выбранных устройств. Пустое поле означает «все устройства»;
    • «Сервис-пулы» («Service Pools») — позволяет назначить транспорт одному или нескольким ранее созданным пулам услуг. Можно оставить это поле пустым и выбрать способы подключения при создании пула услуг.
    OpenUDS. SPICE — вкладка «Main»
  • Вкладка «Расширенный» («Advanced»):
    • «Полноэкранный режим» («Fullscreen Mode») — включает полноэкранный режим виртуального рабочего стола;
    • «Перенаправление смарткарты» («Smartcard Redirect») — включает перенаправление смарт-карт;
    • «Включить USB» («Enable USB») — разрешает перенаправление устройств, подключенных к порту USB;
    • «Новый USB автообмен» («New USB Auto Sharing») — позволяет перенаправлять PnP-устройства, подключенные к USB-порту;
    • «SSL-соединение» («SSL Connection») — использовать SSL-соединение;
    • «Переопределить прокси» («Override Proxy») — использовать указанный прокси вместо того, который предоставляется гипервизором (формат http://хост:порт);
    • «Метка» («Label») — метка транспорта метапула (используется для того чтобы назначить несколько транспортов метапулу).
    OpenUDS. SPICE — Вкладка «Advanced»

HTML5 RDP (туннельный)

«HTML5 RDP» позволяет пользователям получать доступ к виртуальным рабочим столам Windows/Linux через протокол RDP с использованием браузера, поддерживающего HTML5 (для рабочих столов Linux на машинах должен быть установлен пакет XRDP, для рабочих столов Windows необходимо настроить доступ HTML5 RDP).

Минимальные параметры для настройки транспорта HTML5 RDP:

  • Вкладка «Основной»:
    • «Имя» («Name») — название транспорта;
    • «Приоритет» («Priority») — приоритет, чем меньше значение приоритета, тем выше данный транспорт будет указан в списке доступных transports для сервиса. Транспорт с самым низким приоритетом, будет транспортом по умолчанию;
    • «Сетевой доступ» («Networks Access») — разрешает или запрещает доступ пользователей к службе, в зависимости от сети из которой осуществляется доступ;
    • «Сети» («Networks») — сетевые диапазоны, подсети или IP-адреса (настраиваются в разделе «Сети»). Пустое поле означает «все сети». Используется вместе с параметром «Сетевой доступ»;
    • «Разрешенные устройства» («Allowed Devices») — разрешает доступ к службе только с выбранных устройств. Пустое поле означает «все устройства»;
    • «Сервис-пулы» («Service Pools») — позволяет назначить транспорт одному или нескольким ранее созданным пулам услуг. Можно оставить это поле пустым и выбрать способы подключения при создании пула услуг.
    OpenUDS. HTML5 RDP — вкладка «Main»
  • Вкладка «Туннель» («Tunnel»):
    • «Туннельный сервер» («Tunnel Server») — IP-адрес или имя OpenUDS Tunnel. Формат: http(s)://IP_Tunneler:[Port] (8080 — порт по умолчанию для http, 443 — для https):
    OpenUDS. HTML5 RDP — вкладка «Tunnel»
  • Вкладка «Учётные данные» («Credentials»):
    • «Пропустить данные аккаунта» («Empty creds») — если установлено значение «Да», учётные данные для доступа к виртуальному рабочему столу будут запрашиваться при подключении к серверу (не следует использовать при подключении к Windows, т.к. данные не запрашиваются). Если установлено значение «Нет», будут использоваться данные OpenUDS (см. ниже);
    • «Имя пользователя» («Username») — имя пользователя, которое будет использоваться для доступа к рабочему столу (пользователь должен существовать на ВМ). Если данное поле пустое, будет использован логин авторизовавшегося в веб-интерфейсе OpenUDS пользователя;
    • «Пароль» («Password») — пароль пользователя, указанного в поле «Имя пользователя»;
    • «Без домена» («Without Domain») — указывает, перенаправляется ли доменное имя вместе с пользователем. Значение «Да» равносильно пустому полю «Домен»;
    • «Домен» («Domain») — домен. Если поле не пустое, то учётные данные будут использоваться в виде DOMAIN\user.
    OpenUDS. HTML5 RDP — Вкладка «Credentials»
  • Вкладка «Параметры» («Parameters»):
    • «Показать обои» («Show wallpaper») — отображать обои рабочего стола;
    • «Разрешить композицию рабочего стола» («Allow Desk.Comp.») —  включить «Desktop Composition»;
    • «Сглаживание шрифтов» («Font Smoothing») — активирует сглаживание шрифтов;
    • «Включить аудио» («Enable Audio») — перенаправлять звук с рабочего стола на клиент подключения;
    • «Включить микрофон» («Enable Microphone») —  включить микрофон на виртуальном рабочем столе;
    • «Включить печать» («Enable Printing») —  включить печать на виртуальном рабочем столе;
    • «Обмен файлами» («File Sharing») — политика обмена файлами между виртуальным рабочим столом и клиентом подключения. Позволяет создать временный каталог (расположенный на сервере OpenUDS Tunnel), для возможности обмена файлами;
    • «Буфер обмена» («Clipboard») —  настройка общего буфера обмена;
    • «Раскладка» («Layout») — раскладка клавиатуры, которая будет включена на рабочем столе.
    OpenUDS. HTML5 RDP — Вкладка «Parameters»
  • Вкладка «Расширенный» («Advanced»):
    • «Срок действия билета» («Ticket Validity») — допустимое время (в секундах) для клиента HTML5 для перезагрузки данных из OpenUDS Broker (рекомендуется использовать значение по умолчанию — 60);
    • «Открывать HTML в новом окне» («Force new HTML Window») — открывать ли подключение в новом окне;
    • «Безопасность» («Security») — уровень безопасности соединения;
    • «Порт RDP» («RDP Port») — порт RDP (по умолчанию — 3389);
    • «Метка» («Label») — метка транспорта метапула (используется для того чтобы назначить несколько транспортов метапулу).
    OpenUDS. HTML5 RDP — Вкладка «Advanced»

HTML5 SSH (туннельный)

Примечание: Транспорт «HTML5 SSH» доступен в openuds-server, начиная  с версии 3.6.0-alt3 .


«HTML5 SSH» позволяет пользователям получать доступ к виртуальным рабочим столам Linux по протоколу SSH с использованием браузера, поддерживающего HTML5 (на машинах должен быть запущен сервер SSH). Используя данный транспорт можно подключаться к серверам Linux, на которых не установлен оконный менеджер или среда рабочего стола.

Минимальные параметры для настройки транспорта HTML5 SSH:

  • Вкладка «Основной»:
    • «Имя» («Name») — название транспорта;
    • «Приоритет» («Priority») — приоритет, чем меньше значение приоритета, тем выше данный транспорт будет указан в списке доступных transports для сервиса. Транспорт с самым низким приоритетом, будет транспортом по умолчанию;
    • «Сетевой доступ» («Networks Access») — разрешает или запрещает доступ пользователей к службе, в зависимости от сети из которой осуществляется доступ;
    • «Сети» («Networks») — сетевые диапазоны, подсети или IP-адреса (настраиваются в разделе «Сети»). Пустое поле означает «все сети». Используется вместе с параметром «Сетевой доступ»;
    • «Разрешенные устройства» («Allowed Devices») — разрешает доступ к службе только с выбранных устройств. Пустое поле означает «все устройства»;
    • «Сервис-пулы» («Service Pools») — позволяет назначить транспорт одному или нескольким ранее созданным пулам услуг. Можно оставить это поле пустым и выбрать способы подключения при создании пула услуг.
    OpenUDS. HTML5 SSH — вкладка «Main»
  • Вкладка «Туннель» («Tunnel»):
    • «Туннельный сервер» («Tunnel Server») — IP-адрес или имя OpenUDS Tunnel. Формат: http(s)://IP_Tunneler:[Port] (8080 — порт по умолчанию для http, 443 — для https):
    OpenUDS. HTML5 SSH — вкладка «Tunnel»
  • Вкладка «Учётные данные» («Credentials»):
    • «Имя пользователя» («Username») — имя пользователя, которое будет использоваться для доступа к рабочему столу (пользователь должен существовать на ВМ). Если данное поле пустое, логин будет запрашиваться при подключении;
    OpenUDS. HTML5 SSH — Вкладка «Credentials»
  • Вкладка «Параметры» («Parameters»):
    • «SSH-команда» («SSH Command») — команда, которая будет выполнена на удалённом сервере. Если команда не указана, будет запущена интерактивная оболочка:
      OpenUDS. Подключение по HTML5 SSH
    • «Обмен файлами» («File Sharing») — политика обмена файлами между удалённым сервером и клиентом подключения;
    • «Корень общего доступа к файлам» («File Sharing Root») — корневой каталог для доступа к файлам. Если не указан, будет использоваться корневой каталог (/);
    • «Порт SSH-сервера» («SSH Server port») — порт SSH-сервера (по умолчанию — 22);
    • «Ключ хоста SSH» («SSH Host Key») — ключ хоста SSH. Если не указан, проверка подлинности хоста выполняться не будет;
    • «Поддержка сервера в рабочем состоянии» («Server Keep Alive») — время в секундах между сообщениями проверки активности, отправляемых на сервер. Если не указано, сообщения проверки активности не отправляются.
    OpenUDS. HTML5 SSH — Вкладка «Parameters»
  • Вкладка «Расширенный» («Advanced»):
    • «Срок действия билета» («Ticket Validity») — допустимое время (в секундах) для клиента HTML5 для перезагрузки данных из OpenUDS Broker (рекомендуется использовать значение по умолчанию — 60);
    • «Открывать HTML в новом окне» («Force new HTML Window») — открывать ли подключение в новом окне;
    • «Метка» («Label») — метка транспорта метапула (используется для того чтобы назначить несколько транспортов метапулу).
    OpenUDS. HTML5 SSH — Вкладка «Advanced»
Примечание: После входа на удалённый сервер можно скачивать/загружать файлы (в зависимости от настроек политики обмена файлами).

Для загрузки файлов можно открыть окно настроек (Ctrl + Shift + Alt), выбрать устройство в поле «Устройства», нажать кнопку «Загрузка файлов» и выбрать файл (ход передачи файла будет показан в левом нижнем углу окна):

HTML5 SSH. Передача файлов

Для скачивания файла нужно дважды щёлкнуть мышью на нужном файле в списке файлов.

Также можно просто перетащить файл на сервер и обратно.


Сети

В OpenUDS можно зарегистрировать различные сети для управления доступом клиентов к виртуальным рабочим столам или приложениям (при доступе к OpenUDS определяется IP-адрес клиента подключения). Эти сети совместно с «Транспортом» будут определять, какой тип доступа будет доступен пользователям для подключения к виртуальным рабочим столам.

Чтобы добавить сеть, следует в разделе «Подключение» («Connectivity») выбрать пункт «Сети» («Networks») и нажать кнопку «Новый»:

OpenUDS. Создание новой сети

В открывшемся окне следует указать название сети и сетевой диапазон. В качестве сетевого диапазона можно указать:

  • одиночный IP-адрес: xxx.xxx.xxx.xxx (например, 192.168.0.33);
  • подсеть: xxx.xxx.xxx.xxx/x (например, 192.168.0.0/24);
  • диапазон IP-адресов: xxx.xxx.xxx.xxx-xxx.xxx.xxx.xxx (например, 192.168.0.1-192.168.0.50).

После создания сетей появится возможность указать их при создании/редактировании транспорта. Можно настроить, будет ли данный транспорт отображаться у клиента, в зависимости от сети, в которой находится клиент:

OpenUDS. Выбор сети при редактировании транспорта

В данном примере транспорт «X2Go-xfce» будет доступен только клиентам из сети 192.168.0.0/24.

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

Настройка «Пула услуг» («Service Pools»)

После того, как был создан и настроен хотя бы один поставщик услуг, аутентификатор (с пользователем и группой), менеджер ОС и транспорт, нужно создать «Пул услуг» («Сервис-пул») для публикации виртуальных рабочих столов.

OpenUDS. Новый «Пул услуг»

Вкладка «Основной» («Main»):

  • «Имя» («Name») — название службы (это имя будет показано пользователю для доступа к рабочему столу или виртуальному приложению). В этом поле можно использовать переменные для отображения информации об услугах:
    • {use} — указывает процент использования пула (рассчитывается на основе поля «Максимальное количество предоставляемых сервисов» и назначенных услуг);
    • {total} — общее количество машин (данные извлечены из поля «Максимальное количество предоставляемых сервисов»);
    • {usec} — количество машин, используемых пользователями в пуле;
    • {left} — количество машин, доступных в пуле для подключения пользователей;
  • «Базовый сервис» («Base service») — служба, созданная ранее в «Поставщике услуг» (состоит из поставщика услуг и базовой услуги);
  • «ОС менеджер» («OS Manager») — ранее созданный «ОС менеджер», конфигурация которого будет применяться к каждому из созданных виртуальных рабочих столов или приложений. Если выбрана услуга типа «Статический IP», это поле не используется.
  • «Публиковать при создании («Publish on creation») — если этот параметр включен, при сохранении пула услуг система автоматически запустит первую публикацию. Если установлено значение «Нет», будет необходимо запустить публикацию сервиса вручную (из вкладки «Публикации»).

OpenUDS. Новый Service Pool - вкладка «Основной»

Вкладка «Экран/Дисплей» («Display»):

  • «Видимый» («Visible») — если этот параметр отключен, пул не будет отображаться у пользователей;
  • «Привязанный образ» («Associated Image») — изображение, связанное с услугой. Изображение должно быть предварительно добавлено в репозиторий изображений (раздел «Инструменты»→«Галерея»);
  • «Пул-группа» («Pool group») — позволяет группировать различные службы. Группа должна быть предварительно создана в разделе «Пулы»→«Группы»;
  • «Доступ к календарю запрещён» («Calendar Access denied text») — позволяет указать сообщение, которое будет показано пользователю, если доступ к сервису ограничен правилами календаря.

OpenUDS. Новый Service Pool - вкладка «Экран/Дисплей»


Вкладка «Расширенный» («Advanced»):

  • «Разрешить удаление пользователями» («Allow removal by users») — если этот параметр включен, пользователи могут удалять назначенные им службы. Если сервис представляет собой виртуальный рабочий стол, автоматически сгенерированный OpenUDS, он будет удален, и при следующем подключении ему будет назначен новый. Если это другой тип сервиса (vAPP/статический IP), будет удалено только назначение, а новое будет назначено на следующее подключение;
  • «Разрешить сброс пользователям» («Allow reset by users») — если этот параметр включен, пользователь сможет перезапускать или сбрасывать назначенные ему службы (относится только к виртуальным рабочим столам, автоматически созданным OpenUDS);
  • «Игнорирует неиспользуемые» («Ignores unused») — если этот параметр включен, непостоянные пользовательские службы, которые не используются, не будут удаляться;
  • «Показать транспорты» («Show transports») — если этот параметр включен, будут отображаться все транспорты, назначенные услуге. Если параметр не активирован, будет отображаться только транспорт по умолчанию с наивысшим приоритетом (наименьшее число в поле «Приоритет»);
  • «Учётные записи» («Accounting») — назначение услуги ранее созданным «Аккаунтам» («Пулы»→«Аккаунты»).

OpenUDS. Новый Service Pool - вкладка «Расширенный»

Вкладка «Доступность» («Availability»):

  • «Первоначально доступные сервисы»(«Initial available services») — минимальное количество виртуальных рабочих столов, созданных, настроенных и назначенных/доступных для службы;
  • «Сервисы для удержания в кэше» («Services to keep in cache») — количество доступных виртуальных рабочих мест. Они всегда будут настроены и готовы к назначению пользователю (они будут автоматически создаваться до тех пор, пока не будет достигнуто максимальное количество машин, указанное в поле «Максимальное количество предоставляемых сервисов»);
  • «Сервисы, хранящиеся в L2 кэше» («Services to keep in L2 cache») — количество виртуальных рабочих столов в спящем или выключенном состоянии. Виртуальные рабочие столы, сгенерированные на уровне кэша L2, будут помещены в кэш, как только система потребует их (они никогда не будут напрямую назначены пользователям);
  • «Максимальное количество предоставляемых сервисов» («Maximum number of services to provide») — максимальное количество виртуальных рабочих столов, созданных системой в «пуле служб» (рабочие столы, созданные в кэше L2, не учитываются).


OpenUDS. Новый Service Pool - вкладка «Доступность»

Нажать кнопку «Сохранить» («Save») и система начнет создавать виртуальные рабочие столы на основе настроенного кэша (вкладка «Доступность»).

После создания пула, в настройках (дважды щелкнуть мышью по строке созданного пула или в контекстном меню пула выбрать пункт «Подробность») необходимо:

  • на вкладке «Группы» («Groups») назначить группы доступа (выбрать аутентификатор и группу, которая будет иметь доступ к этому пулу служб):
    OpenUDS. Назначение группы пулу служб
  • на вкладке «Транспорты» («Transports») выбрать способы подключения пользователей к рабочему столу:
    OpenUDS. «Service Pools» - выбор способов подключения

«Мета-пулы»

Виртуальные рабочие столы можно сгруппировать в пулы рабочих столов («Мета-пулы»), что упрощает управление и организацию. Создание «Мета-пула» позволит получить доступ к виртуальным рабочим столам или приложениям из разных «Service Pools». Эти пулы будут работать вместе, предоставляя различные услуги абсолютно прозрачным для пользователей способом.

«Пулы услуг», образующие «Мета-пул», будут работать в соответствии с политикой (см. ниже), которая позволит предоставлять услуги в соответствии с потребностями пула.

Чтобы создать «Мета-пул», следует в разделе «Пулы» выбрать пункт «Мета-пулы» и нажать кнопку «Новый»:

OpenUDS. Создание мета-пула — вкладка «Main»

Для настройки «Мета-пула» необходимо указать:

  • вкладка «Основной»:
    • «Имя» («Name») — название «Мета-пула» (это будет видеть пользователь для доступа к службе);
    • «Короткое имя» («Short name») — если указано, то это будет видеть пользователь для доступа к службе (при наведении на него указателя появится содержимое поля «Имя»);
    • «Политика» («Policy») — политика, которая будет применяться при создании сервисов в «Пулах услуг», являющихся частью «Мета-пула»:
      • «Eventy distributed» — услуги будут создаваться и использоваться равномерно во всех «пулах услуг», составляющих «Мета-пул».
      • «Priority» — услуги будут создаваться и использоваться из «пула услуг» с наибольшим приоритетом (приоритет определяется полем «priority», чем ниже значение этого поля, тем выше приоритет у элемента). Когда будет достигнуто максимальное количество сервисов данного «пула услуг», будут использоваться сервисы следующего.
      • «Greater % available» — службы будут создаваться и использоваться из «пула услуг», который имеет самый высокий процент свободных услуг.
  • вкладка «Экран/Дисплей»:
    • «Привязанный образ» («Associated Image») — изображение, связанное с «Мета-пулом». Изображение должно быть предварительно добавлено в репозиторий изображений (раздел «Инструменты»→«Галерея»);
    • «Пул-группа» («Pool group») — позволяет группировать различные «Мета-пулы». Группа должна быть предварительно создана в разделе «Пулы»→«Группы»;
    • «Видимый» («Visible») — если этот параметр отключен, «Мета-пул» не будет отображаться у пользователей;
    • «Доступ к календарю запрещён» («Calendar Access denied text») — текст, который будет отображаться, когда доступ к «Мета-пулу» запрещен приложением календаря доступа;
    • «Выбор транспорта» («Transport Selection») — указывает как на «Мета-пул» будет назначен транспорт:
      • «Automatic selection» — будет доступен транспорт с самым низким приоритетом, назначенным пулу услуг (выбор транспорта не допускается);
      • «Use only common transports» — в мета-пуле будет доступен транспорт, который является общим для всего пула услуг;
      • «Group Transports by label» — в мета-пуле будет доступен транспорт, которому назначены метки (это поле находится в настройках транспорта на вкладке «Дополнительно»).

OpenUDS. Создание мета-пула — вкладка «Display»

Сохранив конфигурацию «Мета-пула», можно начать регистрацию «Пулов услуг». Для этого следует дважды щелкнуть мышью по строке созданного «Мета-пула» или в контекстном меню «Мета-пула» выбрать пункт «Подробность»:

OpenUDS. Настройка мета-пула

Чтобы добавить «Пул услуг» в «Мета-пул», следует нажать кнопку «Новый»:

OpenUDS. Добавление «Пула услуг» в мета-пул

Для добавления «Пула услуг» необходимо указать:

  • «Приоритет» («Priority») —приоритет, который будет иметь «Пул услуг» в «Мета-пуле» (чем ниже значение, тем больше приоритет);
  • «Пул услуг» («Service pool») — «Пул услуг», который будет добавлен в «Мета-пул» («Пул услуг» должен быть предварительно создан);
  • «Включено» («Enabled») — включает или отключает видимость «Пула услуг» в «Мета-пуле».

Можно добавить столько «Пулов услуг», сколько нужно, комбинируя службы, размещенные на разных платформах виртуализации (PVE, KVM, OpenNebula и т.д.), серверах приложений и статических устройствах.

OpenUDS. «Пулы услуг» в мета-пуле

Как и при создании «Пула услуг», здесь есть следующие вкладки с информацией и конфигурацией:

  • «Назначенные сервисы» («Assigned services») — показывает службы, назначенные пользователям (можно вручную удалить назначение и переназначить другому пользователю);
  • «Группы» («Groups») — указывает, какие группы пользователей будут иметь доступ к услуге;
  • «Доступ к календарям» («Access calendars») — позволяет применить ранее созданный календарь доступа;
  • «Журналы» («Logs») — журналы «Мета-пула».

Управление доступом по календарю

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

С помощью календаря также можно автоматизировать определенные задачи в «Пуле услуг» («Service Pools»), такие как создание новых публикаций, настройка значений системного кэша, добавление/удаление групп и транспорта, изменение максимального количества услуг.

Чтобы создать календарь следует в разделе «Пулы» выбрать «Календари» («Calendars»), нажать кнопку «Новый», в открывшемся окне ввести описательное название в поле «Имя» и нажать кнопку «Сохранить»:

OpenUDS. Новый календарь

В «Календаре» можно зарегистрировать правила, чтобы запланировать доступность услуги в определенное время. Для создания правила следует выбрать календарь (дважды щелкнуть мышью по строке созданного календаря или в контекстном меню календаря выбрать пункт «Подробность») и нажать кнопку «Новый»:

OpenUDS. Создать новое правило

Минимальные параметры для настройки правила:

  • «Имя» («Name») — имя правила;
  • «Событие» («Event») — настройка времени выполнения. Необходимо указать время начала и продолжительность события (в минутах/часах/днях/неделях);
  • «Периодичность» («Repetition») — настройка периодичности выполнения. Необходимо указать дату начала, частоту повторения правила (ежедневно/еженедельно/ежемесячно/ежегодно/по будням) и указать интервал повторения (в днях);
  • «Панель» («Summary») — показывает сводные данные (резюме) всех ранее указанных настроек.

OpenUDS. Новое правило

После нажатия кнопки «Хорошо» будет создано правило, которое можно будет назначить «Пулу услуг» (виртуальному рабочему столу и/или приложению).

OpenUDS. Правило, назначенное «пулу услуг»

Разрешение/запрет доступа

После настройки правил в календарях их можно использовать для управления доступом пользователей к службам рабочего стола или приложениям. Для этого следует выбрать нужный «Пул услуг», перейти на вкладку «Доступ к календарю» («Access Calendars») и нажать кнопку «Новый»:

OpenUDS. Вкладка «Доступ к календарям»

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

OpenUDS. Новое ограничение доступа по календарю

Примечание: Правило по умолчанию («FallBack») должно разрешать или запрещать доступ к сервису, когда календарь не применяется. OpenUDS. Ограничение доступа к сервису по календарю


Доступ к сервису «SL» запрещен:

OpenUDS. Доступ к пулу «SL» запрещен

Запланированные действия

После настройки правил в календарях их можно использовать для планирования определенные задач в «Пуле услуг». Для этого следует выбрать нужный «Пул услуг», перейти на вкладку «Запланированные действия» («Scheduled actions») и нажать кнопку «Новый»:

OpenUDS. Вкладка «Запланированные действия»

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

  • «Установить начальные сервисы» («Set initial services») — сбрасывает минимальное количество созданных и настроенных виртуальных рабочих столов;
  • «Установить размер кэша» («Set cache size») — сбрасывает виртуальные рабочие столы, доступные в системном кэше. Эти рабочие столы будут настроены и готовы к назначению пользователю;
  • «Установить максимальное количество сервисов» («Set maximum number of services») — изменяет максимальное количество виртуальных рабочих столов в «Service Pool»;
  • «Установить размер L2 кэша» («Set cache L2 size») — сбрасывает виртуальные рабочие столы, доступные в кэше L2;
  • «Публикация» («Publish») — создание новой публикации в «Пуле услуг»;
  • «Добавить транспорт» («Add a transport») — добавляет существующий транспорт в «Пул услуг»;
  • «Удалить транспорт» («Remove a transport») — удаляет транспорт из «Пула услуг»;
  • «Удалить все транспорты» («Remove all transports») — удаляет весь транспорт из «Пула услуг»;
  • «Добавить группу» («Add a group») — добавляет существующую группу в «Пул услуг»;
  • «Удалить группу» («Remove a group») — удаляет группу из «Пула услуг»;
  • «Удалить все группы» («Remove all groups») — удаляет все группы из «Пула услуг»;
  • «Устанавливает игнорирование неиспользуемых» («Sets the ignore unused») — устанавливает параметр «Игнорировать неиспользуемые»;
  • «Удалить ВСЕ назначенные пользовательские сервисы» («Remove ALL assigned user service») — удаляет все службы, назначенные пользователям;
  • «Удалить СТАРЫЕ назначенные пользовательские сервисы» («Remove OLD assigned user service») — удаляет службы, назначенные пользователям, которые не использовались заданное время.


OpenUDS. Новое запланированное действие

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

OpenUDS. Запланированные действия

Настройка разрешений

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

Примечание: Чтобы пользователь мог получить доступ к администрированию, пользователю должна быть назначена роль «Штатный сотрудник» («Staff member»):


OpenUDS. Роль пользователя


Для предоставления разрешения к элементу администрирования следует выбрать элемент и нажать кнопку «Разрешения» («Permissions»), например, в «Пуле услуг»:

OpenUDS. Предоставление разрешения к сервису

В окне разрешений следует нажать ссылку «Новое разрешение…» («New permission…») для групп или пользователей, затем выбрать аутентификатор и группу/пользователя, к которым будет применяться разрешение. Также нужно указать, будет ли пользователь/группа иметь доступ «Только для чтения» к элементу («Read only») или «Полный доступ» («Full Access»):

OpenUDS. Новое разрешение

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

OpenUDS. Разрешения для сервиса

Разрешения типа «Полный доступ» («Управлять») могут применяться только к элементам второго уровня («Календари», «Пулы услуг» и т.д.).

Конфигурация OpenUDS

Конфигурация OpenUDS

В разделе «Конфигурация» можно настроить ряд параметров, которые будут определять работу системы. Эти параметры отвечают за определение таких аспектов, как безопасность, режим работы, подключение и т.д. как самой системы OpenUDS, так и её связи с виртуальными платформами, зарегистрированными в OpenUDS.

Внимание! Ниже описаны некоторые системные переменные, которые считаются наиболее полезными для управления виртуальными рабочими столами. Не рекомендуется изменять значения других переменных, так как некоторые из них указывают системе, как она должна работать (количество одновременных задач, время выполнения задач, плановые проверки и т.д.). Изменение этих параметров может привести к неправильной работе или к полной остановке системы.


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


Вкладка «UDS»:

  • «AutorunService» — выполнять прямой доступ к службе пользователя, если пользователю назначена только одна служба. Если этот параметр активирован, пользователи, которым назначен один сервис, будут подключаться к нему напрямую, минуя экран выбора сервиса и используя предварительно настроенный «Транспорт». По умолчанию: нет;
OpenUDS. Поле «Аутентификатор» на странице входа
  • «DisallowGlobalLogin» — если включено, на странице входа не будет отображаться список аутентификаторов (поле «Аутентификатор»). В этом случае будет использоваться аутентификатор по умолчанию. Для предоставления пользователю доступа к системе с помощью других аутентификаторов необходимо будет использовать «Метку», определенную в аутентификаторе, в URL-адресе доступа. По умолчанию: нет;
  • «KeepInfoTime» — время (в секундах), в течение которого завершенные события «пула услуг» остаются видимыми. По умолчанию: 14401 секунд (4 часа);
  • «RedirectToHttps» — автоматически перенаправлять доступ к OpenUDS с http на https. По умолчанию: нет;
  • «SessionExpireTime» — максимальное время, в течение которого сеанс пользователя будет открыт после создания новой публикации. По истечении этого времени система закроет сеанс пользователя и продолжит удаление службы. Если у службы есть «Менеджер ОС» с параметром «Держать сервис привязанным даже в новой публикации», этот параметр не будет применяться. По умолчанию: 24 часа;
  • «StatsDuration» — время, в течение которого система хранит статистику. По умолчанию: 365 дней.

Вкладка «Безопасность» («Security»):

  • «AllowRootWebAccess» — разрешить суперпользователю входить в панель управления OpenUDS (пользователю, созданному при разворачивании OpenUDS-сервера). По умолчанию: да;
  • «Behind a proxy» — указывает системе, что серверы OpenUDS находятся «за» прокси-сервером (например, среда OpenUDS с HA Proxy). По умолчанию: нет;
  • «Block ip on login failure» — заблокировать пользователя при неправильном вводе пароля (также блокируется IP-адрес). Количество попыток указывается в переменной «maxLoginTries». По умолчанию: нет;
  • «Enforce Zero-Trust Mode» — включение режима нулевого доверия (запретить системе хранить пароли). По умолчанию: нет;
  • «LoginBlockTime» — время (в секундах), в течение которого пользователь будет заблокирован после неправильного ввода пароля. Количество попыток указывается в переменной «maxLoginTries». По умолчанию: 300 секунд (5 минут).
  • «MaxLoginTries» — количество попыток, за которые пользователь должен будет ввести свой пароль, прежде чем система заблокирует его;
  • «Session timeout for Admin» — время бездействия (в секундах) для администраторов платформы. По умолчанию: 14400 секунд (4 часа);
  • «Session timeout for User» — время бездействия (в секундах) для пользователей. По умолчанию: 14400 секунд (4 часа);
  • «Trusted Hosts» — узлы, которые OpenUDS считает безопасными. Эти узлы могут делать «sensitive» запросы к OpenUDS, такие как туннели. Допустимые значения: подсеть, диапазон IP-адресов, конкретные IP-адреса. По умолчанию: "*" (все разрешено).

Вкладка «Администрирование» («Admin»):

  • «Trusted Hosts for Admin» — узлы, с которых можно управлять OpenUDS (как с помощью веб-доступа, так и администрирование с помощью API). Допустимые значения: подсеть, диапазон IP-адресов, конкретные IP-адреса. По умолчанию: "*" (все разрешено).

На вкладке «Custom» задаются параметры, связанные с графической настройкой OpenUDS:

  • «CSS» — CSS код для изменения стиля страниц OpenUDS;
  • «Logo name» — текст, который отображается рядом с логотипом;
  • «Min. Services to show filter» — минимальное количество служб, которые должны существовать у пользователя (в режиме пользователя), чтобы отображался фильтр;
  • «Show Filter on Top» — расположение панели поиска на странице пользовательских служб;
  • «Site copyright info» — текст копирайт;
  • «Site copyright link» — веб-адрес, на который будет вести ссылка с копирайта;
  • «Site information» — HTML-код для частичной настройки страницы входа в OpenUDS. Введенный код появится под полем входа пользователя;
  • «Site name» — текст, который будет отображаться в верхней части поля входа пользователя на странице входа OpenUDS.

Подготовка шаблона виртуальной машины

Примечание: См. также статью Подготовка шаблона ВМ с ОС Windows.


Требования к шаблону виртуальной машины:

  1. Установить openuds-actor:
    # apt-get install openuds-actor
    
  2. Включить автозапуск сервиса udsactor.service:
    # systemctl enable udsactor.service
    
  3. Зарегистрировать UDS Actor на сервере UDS:
    • запустить UDS Actor из меню («Настройки»→«UDS Actor Configuration») или командой:
    $ /usr/sbin/UDSActorConfig-pkexec
    
    Потребуется ввести пароль пользователя, входящего в группу wheel.
    • на вкладке «UDS Server» необходимо указать имя или IP-адрес сервера UDS, имя и пароль пользователя, имеющего права администратора в среде UDS и нажать кнопку «Register with UDS» («Зарегистрироваться в UDS»).
      UDS Actor Configuration
    • На вкладке «Advanced» можно указать дополнительные параметры, в том числе уровень журналирования:
      • «Preconnect» — сценарий, который будет запущен непосредственно перед тем, как пользователь подключится к виртуальному рабочему столу. Скрипту могут быть переданы следующие параметры: имя пользователя, протокол, IP-адрес, имя хоста;
      • «Runonce» — сценарий, который будет запущен только один раз перед настройкой UDS Actor. После выполнения скрипт удаляется из конфигурации. Параметры можно передать непосредственно скрипту. Необходимо, чтобы выполняемый скрипт завершился перезапуском виртуального рабочего стола;
      • «Postconfig» — сценарий, который будет запущен после того, как UDS Actor завершит настройку. Параметры можно передать непосредственно скрипту. Скрипт запускается только один раз, но в отличие от режима «Runonce» перезапускать виртуальный рабочий стол не нужно;
      • «Log Level» — уровень журналирования (файл журнала: /var/log/udsactor.log).
      Для применения настроек указанных на этой вкладке необходимо выполнить перерегистрацию UDS Actor.
  4. Установить и настроить один из вариантов удаленного доступа:

Подключение пользователя к виртуальному рабочему месту

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


На клиенте должен быть установлен пакет openuds-client:

# apt-get install openuds-client

Чтобы иметь возможность подключаться к виртуальному рабочему столу, должны быть установлены клиенты каждого используемого протокола удаленного доступа (xfreerdp, x2goclient).

Для подключения к виртуальному рабочему столу по протоколу SPICE необходимо установить remote-viewer из пакета virt-viewer. На клиенте с ОС Windows необходимо установить virt-viewer (https://releases.pagure.org/virt-viewer/).

Примечание: Для возможности подключения по протоколу SPICE к OpenNebula, клиенты должны успешно разрешать имена hostname серверов с виртуальными машинами (через DNS или hosts).


Подключение к виртуальному рабочему месту:

  • подключиться к серверу OpenUDS с помощью браузера http://<openuds_address>, выбрать средство проверки подлинности, если доступно несколько, ввести имя пользователя/пароль (их должен указать администратор);
  • на панели управления будут отображены все ВМ (или шаблоны), к которым у пользователя есть доступ:
    OpenUDS. Подключение пользователя к виртуальному рабочему месту
  • при выборе ВМ, автоматически загрузится openuds-client, который запустит приложение для просмотра удаленного рабочего стола

После выбора пула, автоматически стартует OpenUDS Client, который обрабатывает URL, получает необходимые настройки протокола удаленного доступа для предоставленной (свободной) ВМ, формирует файл описания сессии и передает его приложению-клиенту удалённого доступа, которое и устанавливает соединение с указанной ВМ.

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


Пример подключения с использованием транспорта HTML5 RDP:

OpenUDS. Пример подключения с использованием HTML5 RDP

По завершении сеанса пользователь ВМ выходит из нее, что приводит к остановке OpenUDS Actor. Брокер openUDS считает, что ВМ стала недоступной и, если пул постоянный, то он запускает ВМ, а если пул временный, то происходит удаление файлов ВМ в хранилище и создается новая ВМ из мастер-образа.

Примечание: При подключении пользователя к виртуальному рабочему месту OpenUDS фиксирует доступ и отображает информацию о привязанном сервисе на вкладке «Назначенные сервисы» соответствующего «Пула услуг»:

OpenUDS. Назначенные сервисы


Отказоустойчивое решение

См. статью HA-кластер с OpenUDS.

Отладочная информация

OpenUDS Server

Журналы OpenUDS Server находятся в /var/log/openuds/:

  • auth.log — информация о пользователях, которые обращались к OpenUDS (аутентификатор, имя пользователя, IP-адрес, ОС, результат аутентификации, браузер):
    OpenUDS. auth.log
  • sql.log — запросы к базе данных;
  • trace.log — информация о доступе пользователей к пулу услуг (название службы, пользователь OpenUDS, используемый транспорт, IP-адрес сгенерированной машины)
    OpenUDS. trace.log
  • uds.log — основной журнал OpenUDS-server;
  • use.log — данные о доступе пользователей к пулам услуг: время, день входа и выхода, имя или IP-адрес клиента, пользователь и аутентификатор и т.д.;
  • workers.log — внутренние задачи, выполняемые OpenUDS Server: задачи самоочистки, проверка кэша и т.д.

Включить режим отладки можно, установив в файле /etc/openuds/settings.py для параметра DEBUG значение True.

Внимание! Важно отключить режим отладки (установить значение False для параметра DEBUG) после завершения настройки, поскольку этот режим генерирует много журналов, блокирует память и может вызвать проблемы производительности на сервере.


В дополнение к журналам OpenUDS также важно учитывать журналы веб-сервера NGINX, расположенные в /var/log/nginx/.

OpenUDS Tunnel

По умолчанию OpenUDS Tunnel пишет логи в стандартный журнал (см. Journald).

В файлах /var/log/tomcat/catalina.дата.log можно просмотреть события связанные с соединениями HTML5.

OpenUDS Client

  • OpenUDS Client Windows — журнал находится во временной папке пользователя (%temp%):
  • OpenUDS Client Linux — журнал находится в домашнем каталоге пользователя (например, /home/user/udsclient.log).

OpenUDS Actor

Компонент OpenUDS Actor создаёт два журнала, один из которых связан со службой, отвечающей за настройку виртуального рабочего стола (изменение имени, включение домена, изменение состояния машины и т.д.), а другой — с контролем сеанса пользователя, обращающегося к рабочему столу.

  • OpenUDS Actor Windows:
    • журнал, отвечающий за задачи подготовки к обслуживанию, формируется во временном каталоге Windows: C:\Windows\Temp\udsactor.log.
    • журнал, отвечающий за контрольные задачи сеанса пользователя, создается во временной папке профиля пользователя (%temp%): C:\Users\username\AppData\Local\Temp\udsactor.log.
  • OpenUDS Actor Linux:
    • журнал, отвечающий за задачи подготовки сервиса, формируется в каталоге /var/log/udsactor.log.
    • журнал, отвечающий за задачи управления сеансом пользователя, создается в домашней папке пользователя (например, /home/user/udsactor.log).

Панель управления OpenUDS

В панели управления OpenUDS можно получить информацию о различных настраиваемых разделах и услугах, например:

  • «Поставщики услуг» — раздел «Журналы» в поставщиках услуг, настроенных в OpenUDS, содержит информацию о возможных ошибках;
  • «Аутентификаторы» — раздел «Журналы» в аутентификаторах, настроенных в OpenUDS, содержит ​​информацию о пользователях, которые обращались к OpenUDS:
    OpenUDS. Журнал аутентификатора AD
  • «Пулы услуг» — раздел «Журналы» в пулах услуг, созданных в OpenUDS, содержит ​​информацию об изменениях, внесенных в указанный пул, и пользователе, внесшего указанное изменение:
    OpenUDS. Журнал пула услуг

В созданном пуле услуг можно получить доступ к журналам каждой развернутой машины:

OpenUDS. Доступ к журналу виртуальной машины