sonyps4.ru

Установка и настройка тонкого клиента Thinstation.

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

Что у нас должно быть

  • Lunix машина (для сборки образа на ней)
  • DHCP сервер
  • Укромное местечко для TFTP сервера
  • Собственно тонкие клиенты
  • Терминальный (или любой другой сервер) для того, что бы эти тонкие клиенты туда подключались.

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

Приступаем к сборке. Подключаемся к нашей Linux машине (в данном случае я использую виртуальную машину на Ubuntu 14.04 на VMware Workstation, так очень удобно). Первым делом установим git, для того, что бы забрать последнюю версию Thinstation.

Apt-get install git-core

Далее перейдем в папку, в которой будем разворачивать окружение для сборки образа и начнем его качать (это довольно длительный процесс, около 40 минут. Свободного дискового пространства нам понадобится около 3GB)

Cd /home/verbin/Documents/ git clone --depth 1 git://github.com/Thinstation/thinstation.git

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

Cd thinstation ./setup-chroot

По окончанию сего процесса вы увидите примерно такой вывод в консоле. Это означает что все готово для сборки нашего первого и пока что «толстого» образа. Толстого — то есть с полным набором пакетов и драйверов, для первой загрузки станции и последующего определения только необходимых нам составляющих и исключения лишних из образа.

Все работы по сборке образа Thinstation должны проводится в данной виртуальной среде. Для скрытия приветствия (README) нажимем Q и попадаем в командную строку chroot

Переходим в папку ts/5.x/ в которой находятся конфиги и скрипт сборки. Краткий ликбез по требующим внимания файлам.

  • build.conf — Корневой конфигурационный файл, в котором указываются необходимые драйвера, параметры и пакеты для сборки образа.
  • thinstation.conf.buildtime — Конфигурационный файл уже Thinstation образа, указанные в нем параметры будут «зашиты» в образ. Воздержимся от использования оного, лучше оставим это на потом и будем использовать обычные конфигурационные файлы находящиеся на TFTP сервере вместе с образом. Так — более гибко.
  • boot-images/ — Директория в которой после сборки образа появятся папки с образами нашего Thinstation для разных типов загрузки
  • boot-images/pxe/ — Собственно директория в которой после окончания сборки образа будут находится необходимые нам файлы образа для загрузки по PXE.

Сборка «толстого» образа

Сразу оговорюсь о том, что можно закоментировать пакет «package chrome» в buid.conf, так как он попросту не нужен и является одним из самых «тяжелых», значительно повышая вероятность того, что у вашего тонкого клиента не хватит оперативной памяти для запуска (так же размер самого образа вырастет мегабайт на 20-30).

Так же опишу несколько важных опций в buid.conf из раздела настроек (param)

  • param rootpasswd — Пароль для пользователя root в образе (для доступа к административным функциям)
  • param xorgvncpasswd — Пароль для подключения к станциям по VNC (если этот пакет был включен при сборке «package xorg7vnc» )
  • param bootresolution — Разрешение экрана при загрузке
  • param desktop file: — Стандартный фон (рабочий стол и загрузка системы)
  • param httpproxy — Настройка прокси (если загрузка файлов доступна только через proxy. В значении можно указать и авторизацию user:password@proxy:port)

Приступаем к сборке следующей командой.

./build --allmodules

Во время данного процесса могут появится запросы подтверждения загрузки недостающих компонентов, соглашаемся Y. Пока ждем окончания сборки — сконфигурируем TFTP сервер и DHCP для PXE загрузки с него (Cisco DHCP или Windows DHCP).

Сборка завершена, теперь копируем файлы образа из папки boot-images/pxe/ (полный путь: thinstation/ts/5.2/boot-images/pxe/) на наш TFTP сервер. Вполне вероятно что наш образ полностью не запустится. Нам нужно что бы образ загрузился до того состояния, когда на экране будет фоновое изображение и прогрессбар загрузки, в этот момент нужно нажать Ctrl+Alt+F3, попадаем в консоль (в противном случае, если станция не запустится даже до этого шага — это означает что не хватило оперативной памяти (убираем лишние модули в build.conf).

Итак, мы попали в консоль нашего толстого образа и видим приглашение войти (вводим root / pleasechangeme — если не меняли это в buid.conf). Далее выполняем команду

Hwlister.sh

которая сгенерирует нам файлы профиля конкретного железа тонкого клиента (module.list) и графических режимов (vbe_modes.list). Забираем эти файлы на нашу Lunix машину где проводится сборка образа (любым удобным способом, я показываю пример как это сделать через наш TFTP сервер).

Cd / tftp -p -l module.list -r module.list 192.168.1.3 tftp -p -l vbe_modes.list -r vbe_modes.list 192.168.1.3

Создаем папку для профилей нашего тонкого клиента и кладем в нее файлы module.list и vbe_modes.list

Mkdir thinstation/ts/5.2/machine/Thinclient

Финальная конфигурация и сборка

В файле build.conf

  • machine Thinclient — Название профиля оборудования по которому будет производится сборка.
  • package xorg7-vesa — Стандартный видеодрайвер (рекомендуется включать его в сборку).
  • package freerdp или package rdesktop — Выбираем RDP клиент который будем использовать (можно добавить оба).
  • package xorg7vnc — VNC сервер для удаленного управления клиентами.
  • param fastboot true — Значительно ускоряет загрузку бездисковых систем но могут быть проблемы из-за не совместимости с сетевой картой

В файле thinstation.conf.buildtime

  • DONT_VT_SWITCH_STATE=TRUE — Запретит переключение в консоль посредством Ctrl+Alt+F3
  • DONT_ZAP_STATE=TRUE — Запрет переинициализации графического режима через Ctrl+Alt+Backspace (тоже лазейка к консоли)

Начинаем финальную сборку находясь в папке thinstation/ts/5.2/ и

./setup-chroot ./build

Полученный образ кладем в корень TFTP сервера и там же создаем стандартный общий конфигурационный файл thinstation.conf.network в который добавим параметры подключения к терминальному серверу (обратите внимание — для freerdp клиента и rdesktop указаны разные команды подключения по RDP).

SESSION_0_TITLE="Terminal Server rdesktop" SESSION_0_TYPE=rdesktop SESSION_0_SCREEN=1 SESSION_0_RDESKTOP_SERVER=192.168.1.10 SESSION_0_RDESKTOP_OPTIONS="-d "DOMAIN" -u "USER"" SESSION_0_AUTOSTART=On SESSION_1_TITLE="Terminal Server freerdp" SESSION_1_TYPE=freerdp SESSION_1_SCREEN=1 SESSION_1_SCREEN_POSITION=2 SESSION_1_FREERDP_SERVER=192.168.1.10 SESSION_1_FREERDP_OPTIONS="-d "DOMAIN" -u "USER"" SESSION_1_AUTOSTART=On

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

Thinstation — мини-дистрибутив Linux, позволяющий превратить стандартные ПК в бездисковые тонкие клиенты. Его можно загружать по сети с помощью Etherboot/PXE или со стандартного носителя — дискеты/CD/жесткого диска/flash-диска и т.п.

Схема Загрузки
Загрузка Linux с HDD (SATA или PATA) или Flash – Загружается операционная система Linux c диска на котором находятся образ системы и ядро.
Примечание: Если используется сборка собранная с опциями NET_USE_DHCP=off и NET_FILE_ENABLED=OFF, то запрос к DHCP серверу не происходит и используеться локальный файл конфигурации thinstation.profile/thinstation.conf.user
Запрос DHCP сервера – при инициализации сетевого интерфейса происходит запрос к DHCP сервера на получение IP-адреса клиента, маски подсети, IP-адреса TFTP сервера для получения конфигурационных файлов.
Ответ DHCP сервера – При получении ответа, клиенту назначается IP-адрес и передается информация, где необходимо искать конфигурационные файлы. – загрузочные скрипты системы Linux получают c TFTP-сервера конфигурационные файлы, в которых описаны необходимые параметры для соединения клиента с терминальным сервером.
Инициализация терминального клиента

Установка на Диск
Для установки необходимо создать на жестком диске раздел 100 Мб с файловой системой fat. Переписать содержимое архива на диск. Подправить файл конфигурации thinstation.profile/thinstation.conf.user, описание настроек можно посмотреть в статье Синтаксис конфигурационных файлов.
Прописать загрузчик, для чего в командной строке windows (Пуск — Выполнить — cmd) или загрузив DOS, набрать:

F:>syslinux.exe -ma f:

где f — диск с образом

Внесения изменений в файл конфигурации на уже установленной системе:
1. Загружаем терминального клиента, переходим на вторую консоль Alt+F2 или Alt+Ctrl+F2 (если AUTOSTART=On). Заходим под логином root, пароль secretword. В качестве редактора используем e3. Набираем:

E3 /mnt/disc/sda/part1/thinstation.profile/thinstation.conf.user

где sda — первый SATA диск, для PATA — hda. Чтобы не вбивать весь путь, используйте кнопку Tab после первых введенных букв. После редактирования нажмите Ctrl+K X — для сохранения.
2. Редактировать thinstation.conf.user можно удаленно по telnet. Для windows лучше использовать PuTTY
P.S. Если диск отформатирован в ext2/ext3/ext4, то для загрузки нужен extlinux Скачиваем архив syslinux и взять из него (/syslinux-6.02/bios/extlinux/). Раздел должен быть активным.
Открывем консоль и переходим на монтированный раздел с диском или флэшкой например cd /mnt/flash, копируем туда extlinux и выполняем: ./extlinux –install . точка в конце означает что устанавливаем в текущий каталог.
Файл конфигурации: extlinux.conf, точная копия syslinux.cfg


Как работает PXE
1.PXE запрос DHCP сервера:
2.Ответ DHCP сервера
– в зависимости от параметров конфигурационного файла запускается RDP или ICA клиент, который устанавливает соединение с терминальным сервером.

Настройка сервера DHCP и TFTP на linux.

Пример настройки на Freebsd.
В Freebsd чтобы inetd слушал запросы TFTP, нужно расcкомментировать строку в файле /etc/inetd.conf:

Tftp dgram udp wait root /usr/sbin/in.tftpd in.tftpd -s /tftpboot

И сделать рестарт сервиса inetd:

Dom:~# killall -1 inetd

Потом создать директорию tftpboot и дать права:

Dom:~# mkdir /tftpboot dom:~# chmod -R 777 /tftpboot

Option domain-name "example.com"; option domain-name-servers 192.168.0.1; server-identifier NAME_HOST; authoritative ; allow booting; allow bootp; max-lease-time 172800; ignore client-updates; ddns-domainname "example.com"; ddns-updates on; ddns-update-style interim; default-lease-time 86400; log-facility local7; subnet 192.168.0.0 netmask 255.255.255.0 { option subnet-mask 255.255.255.0; option routers 192.168.0.1; one-lease-per-client on; range 192.168.0.20 192.168.0.30; } group { filename "pxelinux.0"; next-server 192.168.0.1; host 1 { hardware ethernet 00:0E:8F:32:B6:C5; fixed-address 192.168.0.10; } host 2 { hardware ethernet 08:20:07:26:C0:A5; fixed-address 192.168.0.11; } }

Распаковываем образ thinstation с pxe в /tftpboot

PXE-совместимые прошивки используются производителями при изготовлении сетевых карт и BIOS материнских плат с интегрированными сетевыми картами. Поэтому для бездисковой загрузки потребуется сетевая карта укомплектованная прошивкой PXE. Если у вас сетевая карта без прошивки, но Вы желаете сделать бездисковую загрузку, то как единственный выход в использовании прошивок Etherboot. Этот вариант здесь не рассматривается.
Как работает PXE
1.PXE запрос DHCP сервера: сетевая карта с поддержкой PXE запрашивает DHCP сервер на получение параметров, таких как IP-адрес клиента, маска подсети, IP-адрес TFTP сервера, на котором находится образ, а также — имя образа.
2.Ответ DHCP сервера – сервер назначает IP-адрес и затем передает его для использования клиенту вместе с другими параметрами. – клиент загружает с указанного DHCP-сервером IP-адреса TFTP сервера сначала PXE загрузчик — pxelinux. 0, с помощью которого загружается уже ядро операционной системы Linux — vmlinuz и образ файловой системы — initrd, включающий все необходимое для работы клиента. – загрузочные скрипты системы Linux получают c TFTP-сервера конфигурационные файлы, в которых описаны необходимые параметры для соединения клиента с терминальным сервером.
5.Инициализация терминального клиента – в зависимости от параметров конфигурационного файла запускается RDP или ICA клиент, который устанавливает соединение с терминальным сервером.

Настройка сервера Windows 2003

Службы и сервисы, необходимые для работы «тонких» клиентов

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

Microsoft® Windows® Terminal Server

Citrix® MetaFrame®

Если Вы используете в качестве терминального сервера Windows® Terminal Server, выберите следующие службы и сервисы:

Terminal Server

Если Вы используете в качестве терминального сервера Citrix® MetaFrame®, выберите следующие службы и сервисы:

Citrix® MetaFrame®

Пакет файлов для загрузки по PXE

Настройка DHCP Server

Для настройки DHCP Server выполните следующие действия:

2. Нажмите кнопу Add or remove a role.

3. В открывшемся диалоговом окне Preliminary Steps нажмите кнопку Next.

4. В открывшемся диалоговом окне Configuration Options выберите элемент Custom Configuration и нажмите кнопку Next.

5. В списке Server Role выберите DHCP Server и щелкните на кнопке Next дважды.

6. В диалоговом окне Welcome to the new Scope Wizard нажмите кнопку Next.

7. В диалоговом окне Scope Name в полях Name и Description введите имя и описание, после чего нажмите кнопку Next.

8. В диалоговом окне IP Address Range выполните следующие действия для выдачи DHCP сервером IP адресов для тонких клиентов:

Введите Start IP Address (Начальный IP адрес)

Введите End IP Address (Конечный IP адрес)

Нажмите кнопку Next.

9. В открывшемся диалоговом окне Add Exclusions допускается указать диапазон адресов, которые не будут выделяться DHCP сервером. Нажмите кнопку Next.

10. В открывшемся диалоговом окне Lease Duration можете указать время использования IP-адреса тонкими клиентами. Нажмите кнопку Next.

11. В диалоговом окне Configure DHCP Options выберите No, I will configure these options later. Нажмите кнопку Next, затем кнопку Finish.

12. Подтвердите действие очередным нажатием кнопки Finish.

13. Выберите Start→Programs→Administrative Tools→Manage Your Server.

14. В открывшемся диалоговом меню выберите элемент Manage this DHCP server

15. В диалоговом окне выберите элемент Server Options. Нажав правую клавишу мыши, в открывшемся контекстном меню выберите Configure Options.

16. В списке выполните следующие действия:

Выберите пункт 066 Boot Server Host Name и укажите IP адрес TFTP сервера, на который устанавливали DHCP сервер

Выберите пункт 067 Bootfile Name и введите имя pxe-загрузчика, а именно pxelinux.0

17. Нажмите кнопку Apply.

18. В диалоговом окне выберите элемент Scope . Нажав правую клавишу мыши, в открывшемся контекстном меню выберите Activate.

Настройка DHCP сервера завершена.

Настройка TFTP Server

1. Выберите Start→Settings→Control Panel→Add or Remove Programs.

2. Нажмите кнопку Add/Remove Windows Components.

3. В списке Components выберите Remote Installation Services и нажмите кнопку Next.

4. Нажмите кнопку Finish и на запрос о перезагрузке выберите No. Перезагрузку сервера осуществите позднее.

Настройка Terminal Server

1. Выберите Start→Programs→Administrative Tools→Manage Your Server.

2. нажмите кнопку Add or remove a role.

3. В диалоговом окне Preliminary Steps нажмите кнопку Next.

4. В списке Server Role выберите элемент Terminal Server и нажмите кнопку Next дважды.

5. В открывшемся диалоговом окне Configure Your Server Wizard появится предупреждение о перезагрузке сервера. Нажмите кнопку Ok.

6. После перезагрузки нажмите кнопку Finish.

Настройка TFTP Server на автоматический запуск

2. Раскройте список Services and Applications и выберите элемент Services.

3. Справа в появившемся списке нажмите правую клавишу мыши на пункте Trivial FTP Daemon и в контекстном меню выберите Properties.

4. В закладке General в выпадающем меню Startup type выберите Automatic. Нажмите кнопку Apply, затем кнопку Ок.

Создание пользователей терминальных сессий

1. Нажмите правую клавишу мыши на ярлыке My Computer и выберите Manage.

2. В раскрывающемся списке Local Users and Groups выберите папку Users.

3. В появившемся справа списке пользователей нажмите правую клавишу мыши и в открывшемся контекстном меню выберите New User.

4. В диалоговом окне New User введите User name (Имя пользователя) и Password (Пароль). Допустимо отменить выделение User must change password at next logon (Пользователь должен изменить пароль при следующем подключении) и установить необходимые вам пункты: User cannot change password (Пользователь не может изменить пароль), Password never expires (Срок действия пароля никогда не истекает), Account is disabled (Учетная запись отключена). Нажмите кнопку Apply, затем кнопку Ок.

5. В списке выберите папку Groups, и в списке справа нажмите правой клавишей мыши на имени группы Remote Desktop Users, далее выберите Propeties.

6. В появившемся меню выберите General, нажмите кнопку Add и введите имя пользователя, которому Вы хотите разрешить терминальный доступ к серверу. Затем щелкните на кнопке Check Names и подтвердите свой выбор нажатием на кнопку Ок.

7. Нажмите кнопку Apply и кнопку Ок.

Копирование файлов, необходимых для загрузки «тонких» клиентов

1. Создайте папку C:tftpdroot.

2. Скопируйте в нее файлы pxelinux.0, vmlinuz, initrd, thinstation.conf.network.

3. Создайте папку с:tftpdrootpxelinux.cfg.

4. Скопируйте файл default в папку c:tftpdrootpxelinux.cfg

5. Теперь необходимо отредактировать конфигурационные файлы. Подробное опи¬са¬ние действий представлено в части 3. «Изменение параметров конфи¬гура¬ци¬он¬ных файлов».

Настройка сервера для передачи звука тонким клиентам
Внимание!
Для передачи звука «тонким» клиентам необходимо, чтобы на сервере была установлена ОС Microsoft® Windows® 2003, звуковая карта и необходимые драйверы.

1. Выберите Start→Settings→Control Panel

2. Откройте Sounds and Audio Devices и установите выделение в пункте Enable Windows Audio. Нажмите кнопку Ok.

3. На запрос о перезагрузке нажмите кнопку Yes.

4. После перезагрузки вызовите Microsoft® Management Console (Start→Run→mmc).

5. Затем выполните следующие действия: File→Add/Remove Snap-in и нажмите кнопку Add.

6. Выберите Group Policy Object Editor и нажмите кнопку Add, затем последовательно нажимайте на кнопки Finish, Close,Ok.

7. Откройте элемент Local Computer Policy→Computer Configuration→Administrative
Templates→Windows Components→Terminal Services→Client/Server data redirection.

8. В списке справа правой клавишей выберите Properties в пункте Allow audio redirection.

9. Выделите пункт Enabled и нажмите кнопку Apply, затем кнопку Ок.

Требования ПК:
Оперативная память не меньше 256 Mb
Флешка не меньше 128 Mb


Чтобы Флешку сделать загрузочной используйте файл →

Доброго времени суток!

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

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

Постановка задачи

Итак, у нас имеется:

  • Несколько железяк, гордо именуемых «тонкими клиентами». Например, пара десятков уже давно не новых машинок HP HSTNC-001L-TC .
  • Настроенный терминальный сервер, к которому тонкие клиенты будут цепляться. Пусть будет MS Windows Server 2003 или 2008.

А теперь чего, собственно, хотим:

  • Загружать тонкие клиенты по сети (то есть бездисково).
  • Поддержку тонкими клиентами MS RDP версий 6+ или даже 7, т.к. это более безопасно.
  • И не просто MS RDP, а с поддержкой TLS 1.0 .
  • Авторизацию пользователей с помощью смарт-карт (т.е. проброс смарт-карты c тонкого клиента на сервер).

С чего начнем?

Для бездисковой загрузки наших тонких клиентов (а грузиться они будут по протоколу PXE) нам потребуется настроить DHCP-сервер и TFTP-сервер. Что это, для чего, как происходит загрузка по сети (PXE) и как это настроить хорошо и подробно написано . В качестве TFTP-сервера под Windows могу порекоммендовать tftpd32, который можно скачать . Несмотря на название, есть версии и для платформы x64.

Далее, если есть желание, можно немного почитать о Thinstation , и (под списком файлов для загрузки). На русском языке информацию можно найти , хотя она уже несколько устаревает. Там расписывается создание и настройка образов Thinstation версии 2.2.2, многое актуально и для 2.5. Непосредственно версии 2.5 посвящена пока лишь . Итак, начнем.

Первая сборка

Так как Thinstation основан на Linux’е, значит для сборки тонкого клиента нам потребуется компьютер с установленным Linux’ом (спасибо, КО!). Я использовал Ubuntu 11.10. Также нам понадобится установить Git (если его еще нет) и с его помощью склонировать себе репозиторий с генератором образов:

    sudo apt-get install git

    cd / home/ user/

    git clone --depth 1 git :// thinstation.git.sourceforge.net/ gitroot/ thinstation/ thinstation

    cd thinstation

После того, как генератор образов скачан, необходимо запустить скрипт:

    ./ setup-chroot

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

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

Как советуют разработчики, сборку надо производить «inside chroot session», поэтому из скрипта setup-chroot.sh не выходим (нажимаем лишь «Q», чтобы скрыть приветственное сообщение скрипта) и пишем следующие команды в тамошней консоли:

    cd ts/ 2.5

    nano build.conf

В файле build.conf раскомментируем строчку «package extensions «. Если у вас интернет через прокси, то еще раскомментируем строчку «param httpproxy » и укажем в ней свои настройки прокси-сервера (например, так: «param httpproxy user :password@proxy:port «), сохраним файл и продолжим сборку:

    ./ build --allmodules

Смотрим на длинную портянку лога скрипта сборки, соглашаемся на скачивание дополнительных пакетов, если он попросит, и дожидаемся окончания процесса. Теперь копируем содержимое директории «/home/user/thinstation/ts/2.5/boot-images/pxe » (а это и есть наш собранный загрузочный образ) в корень TFTP-сервера и пробуем первый раз загрузить тонкого клиента по сети.

И вот тут мы можем встретить первые долгожданные грабли. Если оперативной памяти у вашего тонкого клиента мало, то мы возвращаемся к редактированию файла build.conf и закомментируем какой-нибудь тяжелый пакет, например «#package chrome «, повторяем сборку и видим уменьшение обзаза почти в 2 раза. Теперь загрузка должна пойти.

Даже после этого с вероятностью, близкой к 100%, полной загрузки тонкого клиента не произойдет. Но нам этого и не надо. Ждем, когда загрузчик покажет нам картинку с надписью «Thinstation» и прогрессбаром. После этого нажимаем Ctrl+Alt+F3 и видим консоль с приглашением войти. Вводим следующую пару логин-пароль «root - pleasechangeme » и запускаем скрипт:

Этот скрипт сгенерирует нам файлы профиля для конкретного железа нашего тонкого клиента. Обычно их два: «module.list » (список драйверов для нашего железа) и «vbe_modes.list » (графические режимы). Теперь их нужно скопировать на Linux-машину. Сделать это можно, например, через TFTP-сервер (он должен позволять запись). В консоли тонкого клиента вводим:

    cd /

    tftp -p -l module.list -r module.list 192.168.0.1

    tftp -p -l vbe_modes.list -r vbe_modes.list 192.168.0.1

Где 192.168.0.1 - адрес нашего TFTP-сервера. Вернемся к Linux-машине, создадим там папку «/home/user/thinstation/ts/2.5/machine/my_machine » и скопируем в нее из корня TFTP-сервера наши два полученных файла.

Страшный зверь - смарт-карта

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

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

    cd / home/ user/

    wget http:// www.athena-scs.com/ downloads/ asedriveiiie-usb-3.7 .tar.bz2

    tar -xjf asedriveiiie-usb-3.7 .tar.bz2

    cd asedriveiiie-usb-3.7

Читаем README и видим, что для сборки нам понадобится установить пакет PCSC Lite (есть , я ставил последнюю на тот момент версию ccid-1.4.5 ), а также нам понадобятся исходники (с более старшими версиями не собирается ).

Ставим PCSC Lite, в папку с исходниками драйверов для картридера копируем файл usb.h из исходников libusb . Теперь запускаем обычное:

    ./ configure

    make

    make install

Так как Thinstation уже содержит в себе пакет PCSC Lite, мы можем просто скопировать наши драйвера в сборщик Thinstation, вот так:

    cp -LR / usr/ lib/ pcsc/ drivers/ ifd-ASEDriveIIIe-USB.bundle / home/ user/ thinstation/ ts/ 2.5 / packages/ ccidreader/ lib/ pcsc/ drivers cp / etc/ udev/ rules.d/ 50 -pcscd-asedriveiiie.rules / home/ user/ thinstation/ ts/ 2.5 / packages/ ccidreader/ etc/ udev/ rules.d

Все, готово! Теперь картридер при загрузке тонкого клиента будет определяться и работать нормально. В версии 2.5 такие извращения для работы со смарт-картами, как для 2.2.2, больше не нужны.

RDP-клиенты

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

На данный момент самыми известными клиентами для Microsoft RDP для Linux-систем являются rdesktop и его форк - FreeRDP . Но! rdesktop не поддерживает TLS 1.0, а FreeRDP не умеет работать со смарт-картами. И это вызывает откровенную печаль!

После продолжительных поисков был обнаружен еще один RDP-клиент фирмы 2X. Скачать его можно . Оказалось, что он умеет все вышеперечисленное, бесплатен и к тому же еще поддерживает MS RDP версии 7.0 и активно развивается. Каково же было мое счатье, когда я узнал, что этот клиент входит в Thinstation!

Финишная прямая: конфигурируем и собираем

Тщательная конфигурация - тема большая, поэтому читаем в разделе «Конфигурационные файлы » для чего нужен каждый файл и где он должен лежать. В той статье описана конфигурация Thinstation версии 2.2.2. Здесь я расскажу про то, что изменилось в новой версии и приведу примеры своих конфигурационных файлов: build.conf , thinstation.conf.buildtime и thinstation.conf.network .

Итак, комментирую параметры из конфигураций в примерах:

build.conf:

  • machine my_machine - помните, мы сгенерировали профиль для железа и сложили его в папку «my_machine «? Это она и есть!
  • package xorg7-vesa - выбираем Xorg-драйвер. Вот тут возникли проблемы, потому что родной драйвер для моего чипсета SIS не подошел и пришлось на практике выяснять, какой из оставшихся подойдет. Vesa работает с моим чипсетом хорошо. Возможно тут придется параметр подбирать на практике.
  • package ccidreader - пакет PCSC Lite, который позволит нам работать со смарт-картами.
  • package 2x, package alsa-lib - это и есть наш замечательный RDP-клиент. Правда на практике было выявлено, что ему для работы нужен пакет Alsa, поэтому включаем и его.
  • param fastboot false - если этот параметр выставлен в true , то наш загрузочный образ будет разбит на основной и подгружаемую часть. К сожалению моя сетевая карта нецелый образ грузить отказалась, поэтому генерируем образ целым.
  • param basepath config - указывает, в какой папке на TFTP-сервере будут находиться конфигурационные файлы для клиентов (thinstation.conf.network , например).
  • #param rootpasswd и т.д. - комментируем параметры, которые задают какие-либо пароли. Если пароль рута закомментирован, то никто, даже если он читерски получит доступ к консоли Thinstation, не сможет залогиниться под рутом. И это хорошо)
  • param 2xurl - задает откуда будет скачан клиент 2X. Он будет скачан только один раз при первом запуске скрипта сборки.

thinstation.conf.buildtime:

  • DONT_VT_SWITCH_STATE=TRUE - не позволит пользователю через Ctrl+Alt+F3 переключиться в консоль.
  • DONT_ZAP_STATE=TRUE - не позволит пользователю через Ctrl+Alt+Backspace переинициализировать графический режим и опять же попасть в консоль.

И, наконец, пример описания запуска сессии для клиента 2X (thinstation.conf.network ):

    SESSION_0_TITLE ="2X"

    SESSION_0_TYPE =2X

    SESSION_0_2X_OPTIONS ="-m MX -C -u user -p password -s ssl://myTerminalServerIp"

    SESSION_0_AUTOSTART =ON

  • -m MX - режим клиента, MS RDP, полноэкранный.
  • -C - редирект смарт-карты.
  • -u user -p password - логично, юзер-пароль. Но! Мы ведь хотим авторизоваться по смарт-карте, а не по паролю! Все просто: дело в том, что текущий 2X клиент не запустится без параметров юзера и пароля, а выплюнет вас Segmentation fault. И это полный бред. Однако после длительных разговоров со службой поддержки они эту проблему в следующем релизе обещали решить. Пока же просто пишем несуществующего пользователя и пароль наобум и спокойно авторизуемся по смарт-карте, как будто так и надо.
  • -s ssl://myTerminalServerIp - адрес сервера, к которомы будем подключаться. ssl указывает на то, что будет использован TLS 1.0.

С конфигурированием закончили. Теперь собираем клиента: запускаем скрипт setup-chroot.sh и вводим:

    cd ts/ 2.5

    ./ build

Полученный образ складываем в корень TFTP-сервера. Также в корне TFTP-сервера создаем папку «config » (та, которую мы указали в build.conf ) и копируем в нее файл thinstation.conf.network .

Все готово! Запускаем, проверяем, видим окошко логина терминального сервера и радуемся!

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

Что такое тонкий клиент по своей сути?

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

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

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

Схема «сервер - тонкий клиент»: как это работает?

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

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

Загрузка операционных систем

Но как же операционная система может загружаться на компьютер без жесткого диска? Элементарно! Современные соединений могут использовать протоколы вроде RIS, DHCP, PXE, RDP и другие.

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

Система «тонкий клиент»: требования

Если речь идет именно о компьютерных терминалах, для работы тонкого клиента любого типа обычно достаточно самого простенького процессора и всего-то 1 Мб оперативной памяти.

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

Пример установки и настройки приложений 1С

Однако посмотрим, что собой представляет установка тонкого клиента на примере программных продуктов 1С.

Требование тут самое простое: серверная часть находится на центральном терминале, клиенты - на остальных машинах в локальной сети. Только в данном случае использование подключения через обычно применяется на уровне TCP/IP, HTTP или HTTPS, а на терминалах устанавливаются жесткие диски минимального объема для инсталляции клиентской части программы.

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

  • загрузка и инсталляция клиентов 8.2 и 8.3;
  • публикация базы данных на сервере;
  • добавление базы в список доступных;
  • установка подключения типа «веб-сервер».

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

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

Подключение и лицензии

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

Выгоды и преимущества

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

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

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

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

Уже давно и прочно закрепилась во всех современных сетевых картах возможность загрузки по сети (PXE - Preboot eXecution Environment). Данная технология позволяет избавиться от необходимости хранить на локальных носителях какую бы то ни было копию загружаемой ОС, а использовать только лишь сетевую копию, загружаемую с сервера каждый раз при старте компьютера. Функционал PXE не ограничивается только лишь клиентскими компьютерами, при желании вы и серверы можете таким образом загружать (да хоть VMware ESXi). И, пожалуй, самым популярным на сегодняшний день клиентом, поддерживающим загрузку по сети, является Thinstation .

Маленький, но крайне функциональный тонкий клиент поддерживает работу с большим количеством протоколов удаленного доступа: Telnet, SSH, Microsoft RDP, Citrix ICA, X Windows и, конечно же, VMware View. Большим преимуществом Thinstation является то, что он может быть легко сконфигурирован под ваши конкретные нужды; при желании вы сами можете собрать загрузочный образ, содержащий необходимые драйверы, программы и файлы настроек.

В этой статье я приведу пример подготовки подобного образа и настройки PXE сервера для загрузки тонких клиентов по сети, использующихся для подключения к VMware View Manager.

Создание собственного образа
Прежде всего нам потребуется загрузочный образ Thinstation. Конечно, вы можете собрать его вручную, но гораздо проще воспользоваться одним из online конфигураторов TS-O-Matic. В качестве примера я использую сервер Denmark .

Сам конфигуратор состоит из нескольких разделов:
Hardware - позволяет указать драйверы, которые требуется включить в образ.
Applications - задает приложения (терминальные клиенты, оконные менеджеры, дополнительные программы). В данном разделе обязательно выберите компонент vmview в Additional contributed packages .
Parameters - содержит различные настройки (пароли для учетных записей, разрешение экрана и т.п.)
Splash и Background - фоновое изображение в момент загрузки и при работе клиента.
Load Files - загрузка файла с требуемой конфигурацией образа, если не хотите все указывать вручную.

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

На странице загрузки, перейдите в раздел Build и скачайте thinstation.conf.example - файл настроек тонкого клиента. Затем перейдите в раздел Etherboot и скачайте файлы thinstation.nbi и thinstation.nbi.zpxe .

Теперь самое время отредактировать файл настроек. Для этого переименуйте его, сначала, в thinstation.conf.network , а затем откройте в любом текстовом редакторе.

Найдите раздел, начинающийся с комментария "# VMWare View options ". Раскоментируйте нужные строчки с настройками подключения, удалив начальный символ "# ", а также заменив "# " в каждой строчке на цифру - порядковый номер, начиная с 0, под которым данный пункт будет присутствовать в меню тонкого клиента.

В итоге у вас должно получиться что-то похожее на:

SESSION_#_TITLE - задает отображаемое имя в меню тонкого клиента
SESSION_#_TYPE - тип доступа
SESSION_#_AUTOSTART - включение/отключение автоматического выбора данного варианта при загрузке клиента
SESSION_#_VMVIEW_SERVERURL - адрес сервера VMware View.
SESSION_#_VMVIEW_FULLSCREEN - работа в полноэкранном режиме.

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

Настройка сервера
После подготовки загрузочного образа, вам понадобится настроить на сервере DHCP и TFTP. В качестве сервера я использовал Windows Server 2003.

Для загрузки PXE клиента используется протокол TFTP (работающий на порту UDP 69). В Windows Server 2003 сервер TFTP входит в состав Remote Installation Services, либо, если у вас установлен SP2 - Windows Deployment Services. Так, что если вы не хотите заморачиваться с установкой, приведенной ниже, просто установите один из этих компонентов из мастера Установки/Удаления компонентов Windows, которые заодно установят и TFTPD, но не выполняйте первоначальную конфигурацию служб, а сразу переходите к редактированию реестра и добавлению корневой папки.

Для остальных же небольшая инструкция по установке TFTPD вручную.

Для начала, вам понадобится установить Windows Server 2003 Resource Kit. Загрузить его можно отсюда .

После этого, вставьте диск с дистрибутивом Windows Server 2003 в CD привод, откройте командную консоль и выполните:
expand X:\i386\tftpd.ex_ %systemroot%\tftpd.exe
Предполагается, что X - буква вашего CD привода.

После установки TFTPD вам потребуется зарегистрировать его в качестве службы Windows. Выполните следующую команду:
instsrv tftpd %systemroot%\tftpd.exe -a "NT AUTHORITY\NetworkService"
Ключ -a позволяет указать учетную запись из-под которой будет запускаться служба. В целях безопасности не рекомендуется запускать TFTPD из-под SYSTEM.

Теперь создайте папку, например: C:\TFTPRoot, которая будет является корневой для вашего сервера.

Запустите редактор реестра regedit и откройте ветку HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\services\tftpd . Внутри tftpd создайте новый раздел Parameters . Внутри раздела создайте параметр Directory с типом REG_SZ, в качестве значения укажите путь к созданной корневой директории TFTP сервера.

Теперь запустите службу, запустив оснастку службы и найдя там tftpd, или набрав в консоли:
net start tftpd

Скопируйте в корневую папку три ранее загруженных файла: thinstation.nbi , thinstation.nbi.zpxe и thinstation.conf.network .

При загрузке по сети, PXE клиент посылает широковещательный запрос в поисках DHCP сервера, который мог бы сообщить клиенту необходимые сетевые настройки (IP-адрес, маску подсети, Default Gateway, адреса DNS серверов и т.п.). Дополнительно, DHCP сервер может передать настройки с DHCP Option 60, 66 и 67, сообщающие, что клиент должен скачать с определенного сервера загрузочный образ и загрузиться с него. Если такие настройки не передаются, клиент пытается послать еще один широковещательный запрос на порт UDP 4011 с целью обнаружения PXE сервера (так, например, работает WDS сервер Microsoft). В нашем случае мы будем использовать вышеперечисленные опции.

В качестве DHCP сервера я использую стандартный сервер, входящий в Windows Server 2003. Предположу, что вы уже установили нужную службу, создали область (scope), определили для нее диапазон адресов и исключений. Для дальнешей настройки откройте оснастку управления DHCP, щелкните правой кнопкой по имени сервера и выберите Set Predefined Options .

В открывшемся окне Predefined Options and Values нажмите Add... В окне Option Type введите имя (Name) "PXEClient ", укажите тип опции (Data type) "String " и номер (Code) "060 ". Нажмите OK .

Загрузка...