Концепция тонких терминальных клиентов не нова. Действительно, зачем оборудовать рабочее место пользователя относительно производительным железом, приобретать лицензию на клиентскую ОС, устанавливать прикладное ПО, антивирус, обеспечивать должный уровень защиты рабочей станции и данных, если пользователь все свои операции выполняет на терминальном сервере, по сути, не используя локальные ресурсы (кроме периферийных устройств). В этой статье проведем краткий обзор отечественного решения для организации тонких терминальных клиентов – WTware.
WTware – это оптимизированный дистрибутив на базе Linux, включающий в себя все необходимые драйверы и клиенты для подключения к терминальным серверам Windows (rdesktop), Linux (xrdp), Hyper-V VDI, Mac Terminal Server.
Основные преимущества WTware:
- Низкие требования к аппаратной части. WTware можно запустить практически на любом компьютере с как минимум 48 Мб RAM (для оптимальной работы потребуется 64 Мб). Для Raspberry Pi 2 существует бесплатная версия WTware (http://winterminal.com/ru/)
- Для запуска клиента не обязательно требуется жесткий диск. Поддерживается как сетевая загрузка, так и загрузка с любого носителя
- Простота установки и настройки клиентской части, не требует от администратора знаний по администрированию Linux
- Централизованное управление конфигурацией терминалов
- Поддержка широкого спектра оборудования. Возможность проброса в терминальную сессию локальных принтеров, сканеров штрих-кодов и другой периферии
- Поддержка удаленного подключения к консоли терминала службами техподдержки (через VNC)
- WTware – российский продукт, а это значит, что вся документация и техподдержка также осуществляется на русском языке.
- Возможность одновременного подключения к 4 терминальным серверам (переключение между сеансами с помощью сочетаний Win+1 – Win+ 4 )
Рассмотрим процедуру «быстрого» старта по использованию решения WTware для организации рабочего места с тонким терминальным клиентом в типовой офисной сети.
Варианты загрузки клиента WTware
Прежде, чем приступить к настройке и разворачиванию WTware, нужно выбрать предпочтительный способ загрузки тонких клиентов. WTware может загрузиться практически с чего угодно, будь то:
- Жесткий диск
- CD-Rom
- Флешка
- Дискета
- Сетевая карта с BootROM
В большинстве случаев предпочтительно использовать сетевую загрузку, т.к. это значительно облегчает разворачивание и централизованное управление клиентами. Именно такой вариант загрузки мы будем рассматривать.
Также отметим, что на сайте производителя указывается возможность загрузки терминалов по HTTP, которая должна уменьшить нагрузку на TFTP при большом количестве клиентов (более 300) и улучшить загрузку на медленных и ненадежных каналах связи.
Процесс загрузки WTware
Чтобы запустить клиент WTware на компьютере пользователя, нужно:
- Загрузить бинарные файлы дистрибутива с сервера (по TFTP) или локального носителя
- Получить сетевые настройки с DHCP сервера или из локальных конфигурационных файлов
- Получить конфигурационный файл с сервера (по TFTP) или загрузить его с диска
Установка серверной части WTware
Начнем с установки серверной части системы WTware. В нашем случае было принято решение установить ее на DHCP сервере, работающего под управлением ОС Windows Server 2012 R2.
Качаем дистрибутив с сайта разработчика – на момент написания статьи версия wtware.5.4.8.ru.exe (226 Мб) и запускаем установку.
Указываем путь для установки конфигурационных файлов (по-умолчанию, C:\ProgramData\WTware) и самой программы (C:\Program Files (x86)\WTware).
Далее предлагается выбрать устанавливаемые службы WTware:
- Служба WTFTP – необходима для загрузки по сети, ведет протокол обращений и позволяет диагностировать проблемы
- Служба WTUSBIP – служба WTware USBIP Initiator используется для автоматического подключения USB устройств терминала
- Службы WTDHCP – назначает терминалам IP адреса, необходима для загрузки по сети
Т.к. мы будем использовать уже имеющийся собственный DHCP сервер, поэтому службу WTDHCP устанавливать не будем. Настройка MS DHCP сервера описана в этом разделе.
Далее будет предложено указать адрес терминального сервера, к которому будут подключаться клиенты (в дальнейшем его можно изменить, или указать несколько адресов).
Запускаем установку.
После установки WTWare в системе появятся две дополнительные службы:
- WTware TFTP – исполняемый файл C:\Program Files (x86)\WTware\Bin\wtftp.exe – использует локальный порт UDP/69
- WTware USBIP Initiator — C:\Program Files (x86)\WTware\Bin\wtusbip.exe – порт TCP/780
Настройка параметров DHCP сервера
Предполагается, что в нашей сети уже развернут и используется DHCP сервер на любой серверной редакции Windows. Запускаем консоль управления DHCP (dhcpmgmt.msc) и находим интересующую нас DHCP зону (в нашем случае имя зоны – Managers). Нам нужно прописать дополнительные настройки зоны, необходимые для сетевой загрузки бездисковых терминалов.
В настройках зоны нужно дополнительно указать два параметра:
- 066 (Boot Server Host Name) – здесь указывается ip адрес сервера, на котором будет работать TFTP сервер WTware (у нас он совпадает с адресом DHCP сервера)
- 067 (Bootfile Name) – здесь указывается файл, с которого должна начаться загрузка терминала. Для загрузки с помощью PXE (если BootROM встроен в вашу сетевую карту или материнскую плату производителем) значение параметра задаем 5.4.8/wtware.pxe . Файл wtware.pxe находится в подкаталоге 5.4.8 корня tftp сервера (по умолчанию корень tftp расположен в каталоге C:\Program Files (x86)\WTware\TFTPDROOT\)
После настройки этих двух параметров DHCP сервер предоставляет клиенту всю необходимую информацию для загрузки по сети.
Настройка параметров терминалов WTWare
Настройка терминальных клиентов WTWare, использующих сетевую загрузку выполняется с помощью конфигурационных файлов. Конфигурация клиентов формируется из трех файлов:
- Общесистемного конфигурационного файла all.wtc (C:\Program Files (x86)\WTware\TFTPDROOT\Everyone)
- Персонального конфигурационного файла config.wtc (хранится в персональном каталоге каждого клиента, идентифицируемого по MAC адресу, к примеру (C:\Program Files (x86)\WTware\TFTPDROOT\Terminals\00.50.56.BB.AD.80)
- Подключаемых файлов, определенных в файле list.wtc
В файле all.wtc нужно указать параметры, одинаковые для всех терминалов.
К примеру, можно задать адреса терминальных серверов, доступных для подключения, указав их IP адрес
server=10.24.181.44
или DNS имя сервера (при условии, что клиенты через DHCP получают адрес сервера имен в сети)
server= msk-term-1c.winitpro.ru
Или можно разрешить пользователю самому указывать имя терминального сервера, к которому нужно подключиться.
server=--new—
Примечание. По умолчанию, на клиенте запускается RDP клиент, но есть возможность запуска на тонком клиенте браузера Google Chrome. В этом случае на клиенте должно как минимум быть 512 Мб ОЗУ, а в конфигурационном файле указаны следующие строки (также мы зададим адрес прокси-сервера для браузера):
application = chrome
chrome_proxy=192.168.1.23:3128
Чтобы на терминальном сервере вместо рабочего стола сразу было открыто определенное приложение, нужно в конфигурационном файле указать параметр shell:
К примеру, для запуска клиента Directum нужно указать:
shell = C:\Program Files (x86)\DIRECTUM Company\DIRECTUM 5.1\SBRte.exe -S=msk-drc01 -D=DIRECTUMDB
Индивидуальные конфигурационные файлы каждого клиента хранятся в каталоге C:\Program Files (x86)\WTware\TFTPDROOT\Terminals\. Для каждого клиента создается персональный каталог с его MAC адресом. Именно в этом каталоге клиент будет искать файл config.wtc со своей конфигурацией.
На сайте разработчика представлены более чем подробные инструкции по этим и другим параметрами конфигурационных файлов.
Настройка и работа с клиентом WTWare
Итак, настройка серверной части закончена, перейдем к настройке клиента. В BIOS/ UEFI компьютера, который будет использоваться в качестве тонкого клиента в разделе, в котором настраивается порядок перебора загрузочных устройств, указываем высший приоритет сетевой загрузке с PXE (Network boot, LAN boot).
Сохраняем изменения и перезагружаем систему. Если на стороне сервера WTware и DHCP все настроено правильно, клиент должен получить IP адрес от DHCP сервера и по настроенным нами параметрам выполнить сетевую загрузка с указанного tftp сервера.
При первом запуске можно выполнить настройку терминала (F10 – мастер настройки терминала).
Нам будет предложено выбрать драйвер видеокарты и другие параметры отображения. Предпочтительные настройки можно сохранить в персональный конфигурационный файл клиента на сервере. В этом случае в следующий раз не нужно будет вручную править настройки отображения.
Для этого на TFTP сервере в каталоге C:\Program Files (x86)\WTware\TFTPDROOT\Terminals\00.50.56.BB.AD.80 (каталог с именем, содержащим MAC адрес клиента) создадим файл config.wtc, в котором будут указаны настройки клиента:
video= VESA(F)
bpp= 16
display = 800x600
При следующей загрузке терминал автоматически загрузится с этими параметрами.
В том случае, если адрес терминального сервера указан в конфигурационном файле, клиент WTWare автоматически инициирует RDP соединение. Осталось авторизоваться на сервере и перед нами откроется его рабочий стол.
Если конфигурационный файл предоставляет возможность самостоятельного выбора терминального сервера, клиент может указать его вручную.
Для диагностики работы клиентов, на каждом терминале функционирует маленький веб-сервер. Чтобы открыть диагностическую страничку, достаточно набрать ip адрес клиента в браузере. На открывшейся веб странице можно посмотреть текущие настройки клиента, состояние его компонентов, логи, кнопки выключения/перезагрузки клиента и т.д.
По-умолчанию доступ к этой странице не ограничен. Чтобы разрешить подключаться к веб серверу только с определенных адресов, в конфигурационном файле нужно указать строку:
httpd = 10.10.1.55, 10.10.1.56
Графический конфигуратор WTware
Помимо управления через текстовые конфигурационные файлы, есть возможность управления настройками системы и терминалов клиентов из отдельного графического приложения – конфигуратора WTware (C:\Program Files (x86)\WTware\Bin\ win32.exe), позволяющего более удобно работать с текстовыми конфиг файлами.
Для чего можно использовать данную утилиту:
- Управление общими настройками клиентами (файл all.wtc)
- Управление персональными настройками клиентов. Так например, утилита может сохранить в конфигурационный файл config.wtc текущие настройки видеорежима на клиенте (не требуется вручную править файл).
- Возможность удобного просмотра, добавления, удаления всех возможных параметров конфигурационных файлов.
- Просмотр логов клиентов и подключение к их консоли
- Ведение шаблонов с типовыми параметрами терминалов
- Создания экранов и соединений к терминальным серверам
- Управление лицензиями
- Управление настройками встроенного DHCP сервера
- Создание загрузочных CD/ USB носителей для клиентских станций
- Создание загрузочной CD карты для Raspberry Pi
В подавляющем большинстве случаев использование конфигуратора предпочтительнее ручной правки конфигурационных файлов, т.к. упрощается навигация по структуре конфигурационных файлов и уменьшается вероятность ошибки.
Лицензирование WTWare и цены
Лицензии WTWare привязываются к MAC адресу сетевой платы компьютера. Все лицензии нужно записать на сервер в файл wtware.lic.
Стоимость лицензии WTWare на одно рабочее место зависит от количества клиентов и начинается с 1000 рублей (при количестве клиентов от 1 до 9) и заканчиваются 350 рублями (при приобретении более 100 лицензий).
Выводы
WTware оставляет впечатление качественного и добротного продукта, который позволяет без существенных затрат развернуть тонких терминальных клиентов. Решение от WTware подкупает своей простотой и одновременной гибкостью с точки зрения централизованного администрирования и разворачивания. А невысокая стоимость лицензий практически сразу оставляет за бортом всех конкурентов.
Из бесплатных аналогов WTWare для организации тонкого клиента, можно вспомнить Thinstation, но последний существенно проигрывает в управляемости и развернуть его гораздо сложнее.