Как сделать тонкий клиент windows

Обновлено: 04.07.2024

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

Терминальная сеть

Вначале определимся с назначением тонких клиентов и местом Thinstation
в процессе организации подобного сервиса. В типичной сети компании применяется
схема, ставшая усилиями Microsoft уже стандартной: ОС загружается с локального
жесткого диска, там же могут храниться и все необходимые пользователю данные. Но
менеджеры, маркетологи, секретари и прочий офисный планктон, которым для работы
требуются средства интернета, текстовый редактор и пара программ для создания
отчетов и работы с базой данных, используют мощности современного компьютера
далеко не полностью (от силы на 10%). На этом можно и нужно экономить.

Архитектура тонких клиентов предусматривает загрузку ОС и всех необходимых
данных по сети. Такой подход имеет ряд преимуществ, которые становятся очевидны
уже в сетях среднего размера:

  • централизованное администрирование;
  • быстрое развертывание (рабочее место можно организовать буквально за
    5-10 минут);
  • повышение безопасности корпоративных данных (за счет того, что вся
    информация хранится на сервере, снижается риск хищения данных и вредоносного
    действия вирусов, кроме того, заметно упрощается процедура резервного
    копирования);
  • большее время наработки на отказ (в первую очередь, в связи с
    минимальным количеством механических компонентов);
  • снижение нагрузки на сеть (во время терминальной сессии передаются
    только данные о нажатии клавиш, движениях мыши и обновлениях экрана);
  • отсутствие привязки пользователя к конкретному рабочему месту, юзер
    может получить доступ к своему виртуальному рабочему столу с любого
    терминала, подключенного к серверу (даже из своего дома, используя VPN).

Основная экономия достигается за счет минимизации затрат на приобретение
лицензий на пользовательское программное обеспечение и выбора минимальной
аппаратной конфигурации клиентской части. На рабочем столе пользователя может
стоять как старый комп, по всем параметрам непригодный для большинства
повседневных задач (процессор не ниже Pentium 100, объем оперативной памяти не
менее 16 Мб), так и специализированное устройство (например, на базе процессора
VIA Eden или AMD Geode). Последние компактны, абсолютно бесшумны и потребляют
малую толику электроэнергии (кстати, это позволяет вешать на один бесперебойник
до 10 терминалов).

С вступлением и "железочными" делами закончили, перейдем к софту. Дистрибутив
Thinstation
разработан специально для создания тонких клиентов и оснащен всеми необходимыми
приложениями, обеспечивающими подключение к сервисам по основным протоколам
удаленной работы: Citrix ICA, Microsoft RDP, VNC, NX NoMachine, 2X ThinClient,
VMWare View Open client, X11, Telnet, SSH. Систему можно загружать по сети с
помощью Etherboot/PXE или внешнего носителя (FDD/CD/HDD/CF/USB-flash). Все
настройки производятся централизованно при помощи конфигурационных файлов, что
упрощает управление терминалами.

Знакомимся: Thinstation

Текущей стабильной версией Thinstation является 2.2.2 (от 10 августа
2008 года). Основу дистрибутива составляет ядро 2.6.16.5, XOrg 6.9/XFree86
4.3.99.902, Glibc 2.3.5, GCC 3.4.4, Вlackbox 0.70.1/IceWM 1.2.25, пакет
системных программ Busybox 1.1.3, набор драйверов для различных видео и сетевых
карт, прикладные программы RDesktop, Telnet, Citrix ICA, NoMachine NX, 2X
ThinClient, VMWare View Open client, SSH, OpenVPN. Помимо указанных пакетов,
есть возможность укомплектовать загрузочный образ дополнительными программами,
драйверами и патчами. Кстати, многие предпочитают использовать более ранние
версии Thinstation, поскольку они занимают меньше места и на старых
системах работают чуть быстрее. Единственный минус: для самостоятельной сборки
загрузочного образа понадобится старая версия Glibc.

Как вариант, можно самостоятельно пересобрать образ при помощи скрипта
rebuild-iso или установить дистрибутив на хард/флешку (пример приведен в FAQ на
официальном сайте).

50 Мб) предназначен для конечного
пользователя (под пользователем подразумевается сисадмин) и содержит уже
скомпилированные, готовые к работе пакеты. Пользователь затем самостоятельно
выбирает, что ему необходимо, и собирает образ. Доступен еще один архив -
thinstation developer (

800 Мб), – он содержит исходные тексты проекта и
предназначен для разработчиков, а также специалистов, желающих скомпилировать и
добавить свою программу в образ, локализовать систему и произвести остальные
донастройки, которые не удается сделать/применить в пакете для конечного
пользователя.

Собираем свою версию Thinstation

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

$ tar xzvf Thinstation-2.2.2.tar.gz
$ cd Thinstation-2.2.2

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

Если требуется загрузить модуль с внешнего источника или создать динамически
загружаемый драйвер, то вместо "module" пишем "module_pkg". Для удобства все
записи разбиты по группам (видео, сетевые карты и т.п.) и детально
прокомментированы. Зная, какое оборудование установлено на клиентских
компьютерах, можно без труда отредактировать настройки. Смотрим на установки по
умолчанию:

В образ, созданный из дефолтного конфига, включена поддержка популярного
железа: сеть - Realtek 8139, SIS900, VIA Rhine, видео - VESA, S3, NVIDIA, ATI,
Vmware; из файловых систем доступны FAT32, NTFS, ext2, ext3. Для первого
знакомства с дистрибутивом этого вполне достаточно, но для применения в рабочей
среде его придется подгонять под себя.

Список параметров внутри достаточно большой, поэтому следует терпеливо и
внимательно пройтись по всем настройкам, разобраться и активировать только то,
что действительно необходимо. Лишнее включать не стоит, это увеличит размер
образа, а значит, система будет дольше распаковываться при загрузке и заберет
больше ОЗУ у клиентов. Чуть ниже в списке идут пакеты, включаемые в образ, –
здесь поступаем аналогично модулям. Если используется директива "package", пакет
будет включен в основной образ; если "pkg" - пакет собирается, но его нужно
подгружать отдельно.

Не забудь снять комментарий со строки "package keymaps-ru" и установить
приложения, при помощи которых будем подключаться к выбранному серверу -
rdesktop, vncviewer, nx, ica и т. д. Последним идет раздел "Miscellaneous
Parameters":

$ sudo vi build.conf

Теперь, когда произведены все настройки, набираем:

По окончании выполнения команды результат сборки ищи в подкаталогах
boot-images/.

Файлы настроек Thinstation

При загрузке клиент Thinstation считывает ряд конфигурационных файлов
(thinstation.conf.*). Параметры, которые в них описываются, в общем-то,
одинаковы, отличается лишь их назначение:

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

Файл thinstation.hosts состоит из описания имени узла, МАС-адреса, группы и
необязательного комментария:

$ sudo vi thinstation.hosts

thinstation1 000c29d7a8e1 boss
thinstation2 000c00a5a8e2 assistant

Типичные network - user файлы выглядят следующим образом:

В этом случае не будет осуществляться DHCP-запрос и производиться попытка
получения конфигов с TFTP-сервера, что на порядок ускорит загрузку тонкого
клиента.

Настройка DHCP- и TFTP-сервера

Для загрузки PXE-образа с удаленной машины нам потребуется корректно
работающие DHCP- и TFTP-сервисы. ОС значения не имеет, – это может быть *nix или
Windows, главное, чтобы кто-то корректно ответил на DHCP-запрос, отправленный
сетевой картой, и выдал файлы по TFTP. Первым делом инсталлируем нужные пакеты
(пример для Ubuntu):

$ sudo apt-get install xinetd tftpd tftp

Затем обеспечиваем автозапуск сервисов. Для запуска TFTP через xinetd создаем
конфиг на основе шаблона:

$ sudo cp /etc/xinet.d/time /etc/xinet.d/tftp

$ sudo vi /etc/xinet.d/tftp

В /etc/xinetd.conf комментируем строку "only_from = localhost". Не забываем
по окончании настроек перезапустить xinetd:

$ sudo /etc/init.d/xinetd restart

Копируем PXE-образ, ядро, initrd и каталог с настройками, созданный по
окончании работы build скрипта, в /srv/tftp:

$ sudo mkdir /srv/tftp
$ sudo cp -vR boot-images/pxe/* /srv/tftp

Проверяем работоспособность TFTP:

Если файл получен, значит, все в порядке. Переходим к настройке DHCP:

$ sudo apt-get install dhcp3-server

В каталоге boot-images/pxe находится готовый шаблон dhcpd.sample, который
можно использовать при создании своего конфига DHCP-сервера:

$ sudo vi /etc/dhcp3/dhcpd.conf

Чтобы внесенные изменения вступили в силу, перезапускаем DHCP-сервер:

$ sudo /etc/init.d/dhcp3-server restart

Настройка сервера терминалов в Win2k8

Остался последний шаг - настроить сервис, к которому будем подключаться.
Установка роли службы терминалов производится через ссылку "Добавить роли" в
"Диспетчере сервера". Отмечаем "Службы терминалов", затем в списке необходимые
службы ролей, как минимум, "Сервер терминалов" и "Лицензирование служб
терминалов". Не забываем о новой фиче, которая появилась в Win2k8 – "Веб-доступ
к службе терминалов" (TS Web Access), при использовании которой пользователи
могут подключаться к TS, используя веб-браузер, и получать список доступных
приложений RemoteApp. Чтобы воспользоваться этой возможностью, достаточно при
сборке Thinstation установить Firefox. При выборе метода аутентификации
выбираем "Не требовать проверку подлинности на уровне сети". В этом случае к
серверу смогут подключаться клиенты с любой версией, в частности, не будет
проблем с Rdesktop, который полностью поддерживает лишь RDP 5 (частично
некоторые функции RDP 5.1 и 6), а для Win2k8 "родным" протоколом является RDP 6.
Далее следуем указаниям мастера, выбирая наиболее подходящие параметры. На этапе
"Группы пользователей" добавляем учетные записи пользователей и группы, которым
разрешен доступ к TS. По завершении установки отправляем терминальный сервер в
ребут.

Загружаемся с Thinstation, – по ходу можно увидеть бегущие строчки,
сообщающие о получении IP-адреса и загрузке PXE-образа. После чего вызываем
RDP-клиент щелчком по значку на рабочем столе - это в случае использования
готового образа; если же соответствующие настройки указаны в thinstation.conf,
подключение к серверу будет произведено автоматически, пользователю достаточно
ввести свой логин и пароль.

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

Сценарий загрузки тонкого клиента

  1. Сетевуха тонкого клиента по протоколу PXE запрашивает у DHCP-сервера
    сетевые настройки.
  2. DHCP-сервер, помимо основных настроек (IP-адрес, маска подсети,
    дефолтный шлюз и т.д.), выдает IP-адрес TFTP-сервера и имя образа для
    загрузки.
  3. Клиент подключается к TFTP-серверу и сливает файл загрузчика PXE.
  4. Скачанный PXE-загрузчик исполняется и забирает с TFTP-сервера конфиг,
    в котором прописаны имена файлов ядра Linux (vmlinuz) и образа файловой
    системы (initrd).
  5. После распаковки и загрузки ядра Linux с подмонтированным образом
    файловой системы Thinstation снова обращается к TFTP-серверу для
    скачивания конфигурационных файлов (с настройками подключений, адресами
    терминальных серверов, к которым нужно подключаться, и т.д.). После чего
    запускает нужный терминальный клиент (например, rdesktop) и ожидает от
    пользователя ввода его логина с паролем для подключения.

Сетевая загрузка для старых машин

Локализация Thinstation

Тонкие клиенты не требовательны к железу (поскольку все вычисления выполняет
мощный сервер) и заточены для работы в бездисковом режиме (без FDD/CDROM/HDD).

В качестве тонкого клиента под управлением Thinstation может выступать
любой компьютер на базе архитектуры x86 с процессором не ниже Pentium 100 и
объемом оперативной памяти не менее 16 Мб.

Как правило, на терминальных серверах используется общесистемное программное
обеспечение Windows, Linux, xBSD, Solaris, а тонкие клиенты функционируют под
управлением Windows CE, Linux или xBSD.

Thinstation - мини-дистрибутив Linux, позволяющий превратить старые
компы в полноценные бездисковые тонкие клиенты, поддерживающие все основные
протоколы подключения: RDP, VNC, ICA, X11, Telnet, SSH и т.п.

Thinstation можно загружать по сети с помощью Etherboot/PXE или со
стандартного носителя - FDD/CD/HDD/CF/USB-flash.

PXE (Pre-boot eXecution Environment) — среда предзагрузочного выполнения.

О том, как настроить сервер терминалов в Win2k3, можно узнать из статьи "Один
на всех и все на одного", опубликованной в
августовском номере ][
за 2007 год.

WARNING

Службы DHCP и TFTP должны функционировать на одной машине!

При выходе из строя сервера или неполадках в сети тонкие клиенты превращаются
в бесполезные ящики.

Рано или поздно возникает вопрос о необходимости заменить один или несколько ПК по причине медленной работы.

Самый простой способ, нечего не выдумывать и просто заменить ПК.

Не самый простой способ, это начать внедрять «удаленные рабочие столы» в варианте терминальный сервер или виртуальные десктопы.

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

Как поступить с морально устаревшими ПК:
— оставить на ПК Windows, пользователь будет подключатся к удаленному рабочему столу.
— загружать ПК по сети, один из linux вариантов thinstation.
— установить на ПК локальную версию linux, вариантов море.

Далее буду описывать вариант с Windows, такой тонкий клиент обладает некоторыми преимуществами при сравнении с linux вариантами.


Зачем я все это делал:

— У меня есть удаленные офисы с пользователями которых нужно было перевести работать на терминальные сервера, применение групповых политик в домене позволяют получить необходимый результат без присутствия в офисе и без замены ПК.
— И Windows и linux варианты пользовательских интерфейсов тонких клиентов HP, Wyse/DELL меня не устраивают по разным причинам.

Преимущества Windows варианта:
— Полная поддержка RDP/RemoteFX.
— Полная поддержка сменных носителей.
— Возможность использовать локальный принтер.
— Возможность использовать смарт карты для клиент банка.
— Редирект воспроизведения видео/аудио на тонкий клиент при использовании Windows Media Player, без тормозов и без нагрузки на сервер можно смотреть видео 1080р, но это отдельная история =).

Если начать с результата:

Так будет выглядеть загрузка рабочего стола пользователя, если на ПК установлен Windows XP:


Так будет выглядеть загрузка рабочего стола пользователя, если на ПК установлен Windows 7:


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

На ПК с XP SP3 необходимо установить обновления для rdp клиента KB969084 и Fixit50588, для расширенных групповых политик необходимо установить обновление KB943729.

Ключевые политики:


№1 — Пользователям необходимо разрешить Single sign-on, я распространяю эту политику на весь домен.


№2 — Для ПК делаем отдельный OU и замыкаем групповые политики в этом OU.


№3 — В новом OU создаем политику где меняем шел пользователя на «wscript c:\thinPC\thinPC.vbs /nologo /b».

На целевой ПК необходимо скопировать 3 файла, я использую для этого расширенные групповые политики.
Рекомендую фалы разместить в центральном хранилище групповых политик \\имя домена\SYSVOL\имя домена\Policies\, это позволит обеспечить отказоустойчивость в случаи недоступности одного из домен контроллеров.
На домен контроллерах этому сетевому ресурсу соответствует папка C:\Windows\SYSVOL\sysvol\имя домена\Policies

Содержимое файла thinPC.cmd

C:\BGInfo\Bginfo.exe «C:\BGInfo\config.bgi» /NOLICPROMPT /timer:0
mstsc «c:\thinPC\thinPC.rdp»
shutdown -l

BGInfo добавляет на рабочий стол пользователя надпись с необходимыми данными, результаты работы BGInfo видны на слайдах.
mstsc запускает rdp клиент, после завершения удаленного сеанса выполняется команда shutdown -l для завершения сеанса пользователя на тонком клиенте.

В процессе работа описанного скрипта пользователь будет наблюдать выполнение команд в окне, и для скрытия окна скрипт запускается средствами VBS.

Содержимое файла thinPC.vbs


Содержимое файла thinPC.rdp
Это rdp файл с параметрами подключения которые необходимы.
— Необходимо отключить отображение панели подключения при работе на полном экране.
— Я отключаю проброс локальных дисков, но разрешаю проброс дисков подключенных позже, это позволит пользователям работать с сменными носителями которые подключат после начала удаленного сеанса.
— В случаи ОС windows 7 для использования протокола RemoteFX необходимо установить глубину цвета 32 бита и указать скорость соединения 10 мегабит/локальная сеть.
— В случаи если сертификат сервера самоподписанный необходимо отключить предупреждение в разделе «Проверка подлинности сервера».

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

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


Второстепенные политики:

[HKEY_CURRENT_USER\Software\Microsoft\Terminal Server Client\LocalDevices]
«адрес сервера»=dword:0000000d

№5 — Необходимо увеличиваем кеш для RDP соединения, в случаи Windows XP это жизненно необходимо, а вот в случаи Windows 7 может можно и без увеличения кеша.
[HKEY_CURRENT_USER\Software\Microsoft\Terminal Server Client]
«BitmapCacheSize»=dword:0000ffff

№8 — Interactive logon: Message text for users attempting to log on и Interactive logon: Message title for users attempting to log on
Заполняем заголовок и текст который предназначен для пользователей, в самом простом случаи тут нужно указать контакты центра поддержки.

№9 — Для отключения визуальных эффектов на тонком клиенте, необходимо добавить ключ в реестр.

[HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\VisualEffects]
«VisualFXSetting»=dword:00000002

№10 — Power options
Средствами расширенных групповых политик необходимо создать план питания в котором при нажатии на кнопку питания тонкий клиент будет выключатся.

№11 — Software Restriction Policies
Рекомендую настроить контроль запуска ПО, данный механизм работает на WindowsXP и Windows 7 PRO.
AppLocker более гибки но работает только на Windows 7 enterprise и выше.
Считаю что в случаи тонкого клиента гибкость не нужна, преследуется цель исключить возможность запуска вредоносного ПО.

№12 — Turn off Autoplay
Для отключения автоматического запуска сменных носителей необходимо установить параметр Enabled for All drives.

№13 — Allow RDP redirection of other supported RemoteFX USB devices from this computer
Если вы планируете пробрасывать USB устройства, разрешите политику для Adminstrators and Users.

№14 — Delete user profiles older than a specified number of days on system restart
Я устанавливаю параметр в 180 дней, политика работает только на Windows 7.

№15 — User Account Control
UAC мне мешает и по этому отключаю.

№16 — Замена фона рабочего стола, красота требует жертв.

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

[HKEY_USERS\.DEFAULT\Control Panel\Desktop]
«Wallpaper»=«C:\\thinPC\\rd.bmp»
«WallpaperStyle»=«2»

Для изменения фона Windows 7 необходимо установить ключ, и передать файл с фоном %WindowsDir%\System32\oobe\info\backgrounds\backgrounddefault.jpg.
[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Authentication\LogonUI\Background]
«OEMBackground»=dword:00000001

Также необходимо установить фон для сессии пользователя на тонком клиенте.
[HKEY_CURRENT_USER\Control Panel\Desktop]
«Wallpaper»=«C:\\thinPC\\rd.bmp»
«WallpaperStyle»=«2»


Про практику:

— Подобные тонкие клиенты работают уже больше года
— На нескольких старых ПК успели посыпаться диски, в замен выслали тонкие клиенты HP, ну а все данные пользователей были на серверах ;)
— Несколько бухгалтеров успешно работают с USB токенами BIFIT


Рисунок 1

sudo apt update
sudo apt install openssh-server
sudo systemctl status ssh

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

sudo apt install mc

sudo apt-get install tftpd-hpa
sudo mkdir /tftpboot

У нас есть папка tftpboot
Выставляем права
sudo chmod -R 777 /tftpboot/
sudo chown -R nobody:nogroup /tftpboot/

Конфигурируем tfttpd-сервер
sudo cp /etc/default/tftpd-hpa /etc/default/tftpd-hpa.backup

файл настройки /etc/default/tftpd-hpa
TFTP_USERNAME="tftp"
TFTP_DIRECTORY="/tftpboot"
TFTP_ADDRESS="0.0.0.0:69"
TFTP_OPTIONS="--secure --create"

sudo service tftpd-hpa restart

Установка Thinstation
sudo apt-get install git-core
cd

Сборка образов.

Внимательно изучаем различные источники (источник 1, источник 2, источник 3). Попробуем собрать образ именно для нашей машины.

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

Приведу пример: у нас Foxconn-5250 и нам образ, собранный для NT-A3500 совершенно не подходит , а подходит NT-535, потому что процессор Intel Atom у нашей модели тонкого клиента (ТК), а не AMD. Что это значит практически?

Собираем из /thinstation/build/conf/default
Копируем файлы: build.conf.example и thinstation.conf.buildtime в папку /thinstation/build

machine NT-535
lshw
e3

openbox
extensions
installer

Собираем образ для загрузки по сети:

sudo -s
cd thinstation
./setup-chroot
cd build
./build --allmodules


Рисунок 2

Соберутся нужные образа для загрузки по сети (рис.2)
cd

Копируем все оттуда в tftpboot
sudo chmod -R 777 /tftpboot/
sudo chown -R nobody:nogroup /tftpboot/

Правим dhcpd.conf на нашем DHCP-сервере для нашего тонкого клиента (надо знать MAC-адрес тонкого клиента и в BIOS поставить загрузку по сети):

он получает ядро (рис.3), формирует файловую систему, видим графическую оболочку (рис.4). Можно посмотреть какие-то параметры системы и ТК (см. рис.5-6)
Можем запустить терминал и запустить команду /bin/hwlister.list
По результату, на нашем TFTP-сервере в /tftpboot появится 1 файл (могло бы быть 3!)
module.list

Рисунок 3 Рисунок 4 Рисунок 5 Рисунок 6

Создаем папку AT-5250 в каталоге /build/machine
Туда копируем этот файл

Теперь будем пробовать подключиться по RDP к Windows Server 2016 (192.168.1.3)

Затем берем 2 файла: build.conf.example и thinstation.conf.buildtime из /build/conf/rdesktop
и меняем 1 строку: добавляем machine AT-5250 в build.conf, одновременно в thinstation.conf.buildtime вставляем такие строки:

SERVER=192.168.1.3
NET_TELNETD_ENABLED=off
TIME_ZONE=Asia/Tomsk

Примечание. По умолчанию в папке /thinstation/usr/share/zoneinfo/Asia нет файла Tomsk, его нужно добавить из /usr/share/zoneinfo/Asia корневой системы.

Опять собираем образ и видим приглашение к авторизации Windows, заходим на сервер и замечаем проблему: на темном экране монитора вообще не видно указатель мыши, невозможно работать (рис.7).


Рисунок 7

Запускаем ТК, в терминале набираем команду: xfreerdp /d:MY_DOMAIN /sec:rdp /v:192.168.1.3

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

build.conf

machine AT-5250
package ts-classic
package ntp
package xorg7-vesa
package locale-en_US
package freerdp
package fonts-misc
package fonts-TTF-liberation
package fonts-cyrillic
package fonts-Speedo-Bitstream
package fonts-TTF-BH
package fonts-TTF-vera
package fonts-100dpi-Adobe
package fonts-100dpi-Adobe-Utopia
package fonts-100dpi-BH
package fonts-100dpi-BH-Typewriter
package fonts-100dpi-Bitstream

param rootpasswd MYPASSWORD
param xorgvncpasswd MYPASSWORD
param bootlogo true
param boottheme default
param splash silent
param fbmtrr 0
param fbsm ywrap

param desktop file:./backgrounds/Hive_Lite.jpg
param defaultconfig thinstation.conf.buildtime
param basename thinstation
param basepath ts5.0
param baseurl http://www.doncuppjr.net
param fulllocales true
param haltonerror false
param hardlinkfs true
param sametimestmp true
param initrdcmd "gzip -9"
param bootverbosity 3

param downloads /downloads
param bootimages "iso syslinux pxe"
param syslinuxtheme "default"
param allres true

thinstation.conf.buildtime

Собираем с помощью этих файлов окончательный вариант образа и работаем на тонких клиентах с терминальным сервером.

date

24.02.2016

directory

Разное

comments

комментариев 10

Концепция тонких терминальных клиентов не нова. Действительно, зачем оборудовать рабочее место пользователя относительно производительным железом, приобретать лицензию на клиентскую ОС, устанавливать прикладное ПО, антивирус, обеспечивать должный уровень защиты рабочей станции и данных, если пользователь все свои операции выполняет на терминальном сервере, по сути, не используя локальные ресурсы (кроме периферийных устройств). В этой статье проведем краткий обзор отечественного решения для организации тонких терминальных клиентов – WTware.

WTware – это оптимизированный дистрибутив на базе Linux, включающий в себя все необходимые драйверы и клиенты для подключения к терминальным серверам Windows (rdesktop), Linux (xrdp), Hyper-V VDI, Mac Terminal Server.

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

Варианты загрузки клиента WTware

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

  • Жесткий диск
  • CD-Rom
  • Флешка
  • Дискета
  • Сетевая карта с BootROM

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

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

Процесс загрузки WTware

Чтобы запустить клиент WTware на компьютере пользователя, нужно:

  • Загрузить бинарные файлы дистрибутива с сервера (по TFTP) или локального носителя
  • Получить сетевые настройки с DHCP сервера или из локальных конфигурационных файлов
  • Получить конфигурационный файл с сервера (по TFTP) или загрузить его с диска

Установка серверной части WTware

Начнем с установки серверной части системы WTware. В нашем случае было принято решение установить ее на DHCP сервере, работающего под управлением ОС Windows Server 2012 R2.

Мастер установки wtware

Указываем путь для установки конфигурационных файлов (по-умолчанию, C:\ProgramData\WTware) и самой программы (C:\Program Files (x86)\WTware).

  • Служба WTFTP – необходима для загрузки по сети, ведет протокол обращений и позволяет диагностировать проблемы
  • Служба WTUSBIP – служба WTware USBIP Initiator используется для автоматического подключения USB устройств терминала
  • Службы WTDHCP – назначает терминалам IP адреса, необходима для загрузки по сети

Опции установки wtware

Т.к. мы будем использовать уже имеющийся собственный DHCP сервер, поэтому службу WTDHCP устанавливать не будем. Настройка MS DHCP сервера описана в этом разделе.

Совет. В том случае, если в вашей сети еще не развернут DHCP-сервер, имеет смысл воспользоваться встроенным DHCP серверов WTware (WTDHCP). Использование WTDHCP позволяет быстро развернуть и запустить DHCP сервис для небольшой сети. Настройка службы WTDHCP выполняется при инсталляции и в дальнейшем с помощью графической утилиты – конфигуратора WTware (win32.exe), возможности которого рассмотрены в разделе ниже. Примечание. В том случае, если ваша сеть разбита на сегменты, в каждом из которых будут присутствовать тонкие клиенты, нет необходимости поднимать в каждом собственный DHCP сервер. Один сервер может обслуживать большое количество зон (подсетей). Пересылка DHCP пакетов между сегментами возможна через DHCP relay.

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

Процесс установки wtware

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

Службы WTWare в системе

Настройка параметров 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 зоны для загрузки бездисковых терминалов

После настройки этих двух параметров 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 адрес

или DNS имя сервера (при условии, что клиенты через DHCP получают адрес сервера имен в сети)

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

Общий конфигурационный файл all.wtc

Примечание. По умолчанию, на клиенте запускается RDP клиент, но есть возможность запуска на тонком клиенте браузера Google Chrome. В этом случае на клиенте должно как минимум быть 512 Мб ОЗУ, а в конфигурационном файле указаны следующие строки (также мы зададим адрес прокси-сервера для браузера):

Чтобы на терминальном сервере вместо рабочего стола сразу было открыто определенное приложение, нужно в конфигурационном файле указать параметр 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 со своей конфигурацией.

Файл с персональной конфигурацией клиента config.wtc

На сайте разработчика представлены более чем подробные инструкции по этим и другим параметрами конфигурационных файлов.

Настройка и работа с клиентом WTWare

Итак, настройка серверной части закончена, перейдем к настройке клиента. В BIOS/ UEFI компьютера, который будет использоваться в качестве тонкого клиента в разделе, в котором настраивается порядок перебора загрузочных устройств, указываем высший приоритет сетевой загрузке с PXE (Network boot, LAN boot).

При первом запуске можно выполнить настройку терминала (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 соединение. Осталось авторизоваться на сервере и перед нами откроется его рабочий стол.

wtware терминальный клиент

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

введите адрес терминального сервера

Для диагностики работы клиентов, на каждом терминале функционирует маленький веб-сервер. Чтобы открыть диагностическую страничку, достаточно набрать ip адрес клиента в браузере. На открывшейся веб странице можно посмотреть текущие настройки клиента, состояние его компонентов, логи, кнопки выключения/перезагрузки клиента и т.д.

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

Веб страница на клиенте с конфигурацией

Графический конфигуратор WTware

Помимо управления через текстовые конфигурационные файлы, есть возможность управления настройками системы и терминалов клиентов из отдельного графического приложения – конфигуратора WTware (C:\Program Files (x86)\WTware\Bin\ win32.exe), позволяющего более удобно работать с текстовыми конфиг файлами.

wtware конфигуратор

Для чего можно использовать данную утилиту:

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

Лицензирование WTWare и цены

Лицензии WTWare привязываются к MAC адресу сетевой платы компьютера. Все лицензии нужно записать на сервер в файл wtware.lic.

Стоимость лицензии WTWare на одно рабочее место зависит от количества клиентов и начинается с 1000 рублей (при количестве клиентов от 1 до 9) и заканчиваются 350 рублями (при приобретении более 100 лицензий).

Выводы

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

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

Читайте также: