ноябрь 2014

Thinstation 5.x

Самый популярный способ превращения старых компьютеров в бездисковые тонкие клиенты — это сборка образа Thinstation 5.x. Раньше настройка всего этого добра была делом не очень тривиальным и совсем была похожа на решение на «коленке», сейчас, как выяснилось в ходе экспериментов, стало лучше, все равно с огрехами, но для бесплатного продукта очень хорошо.

В этой статье я пройдусь по настройке самого Thinstation 5.x, доменной инфраструктуры и терминального сервера на базе Windows server 2012 R2. Все будет делаться в среде VMware Workstation, поэтому повторить эту инсталляцию сможет любой желающий, а в дальнейшем и доработать под свою инфраструктуру.

Содержание:

  1. Описание стенда
  2. Настройка AD, DNS, DHCP
  3. Установка роли терминального сервера
  4. Установка и настройка Thinstation 5.x

1. Описание стенда

Самая простая реализация офисной сети, где есть:

  • роутер для доступа в интернет (DHCP выключен), эту функцию выполняет VMware Workstation Virtual Networks. На слайдах видно где производится настройка виртуальной сети NAT. Сеть 192.168.50.0 маска 255.255.255.0 шлюз 192.168.50.2 внешний DNS 192.168.50.2.
  • виртуальная машина «AD». WinSrv 2012 R2, где будут установлены роли контроллера домена, Active Directory services, DNS и DHCP.
  • отдельная виртуальная машина «RDS»,  WinSrv 2012 R2, выполняющая роль терминального сервера
  • виртуальная машина для установки Thinstation 5.x
  • бездисковая виртуальная машина «VM1», эмулирующая какой-нибудь старый компьютер (я проверил все тоже самое и на обычном системном блоке, но там неудобно снимать скриншоты)

На слайдах видно, какие ресурсы выделены каждой виртуальной машине

1

AD_thinstation 001

2

AD_thinstation 002

3

AD_thinstation 003

4

AD_thinstation 004

5

AD_thinstation 005

6

AD_thinstation 006

2. Настройка AD, DNS, DHCP

Как всегда ,базовая настройка инфраструктуры начинается с доменных служб AD, DNS, DHCP. Я уже много раз на сайте писал о подобных настройках и здесь размещаю слайды без подробного описания, только чтобы картина настройки была полной. Необходимо, чтобы после настройки другие виртуальные машины в сети должны получать сетевые настройки, в том числе и PXE для загрузки подготовленного образа Thinstation по сети.

1 — 10 меняю имя машины и задаю статические сетевые параметры, проверяю, что появился интернет.

11 — 23 через мастер добавления ролей устанавливаю AD DS, DNS и DHCP.

24 — 50 повышаю сервер до уровня контроллера домена, до настраиваю DHCP

51 — 54 забегая вперед, после того, как другие виртуальные машины получат IP адреса, их необходимо зарезервировать за ними.

55 — 58 забегая вперед, виртуальная машина Thinstation получила IP адрес 192.168.50.11 и на ней запущена служба TFTP, через которую опубликован подготовленный образ для загрузки. Чтобы активировать процесс загрузки, необходимо добавить два параметра в настройках DHCP «Scope Options». 066 Boot Server Hostname — 192.168.50.11. Параметр 067 Bootfile Name — pxelinux.0 Порадовало то, что если вы в первый раз с этим сталкиваетесь и не знаете о том, что вообще нужно что-то прописывать в DHCP, вам скажет что делать Thinstation во время установки.

1

AD_thinstation 007

2

AD_thinstation 008

3

AD_thinstation 009

4

AD_thinstation 010

5

AD_thinstation 011

6

AD_thinstation 012

7

AD_thinstation 013

8

AD_thinstation 014

9

AD_thinstation 015

10

AD_thinstation 016

11

AD_thinstation 017

12

AD_thinstation 018

13

AD_thinstation 019

14

AD_thinstation 020

15

AD_thinstation 021

16

AD_thinstation 022

17

AD_thinstation 023

18

AD_thinstation 024

19

AD_thinstation 025

20

AD_thinstation 026

21

AD_thinstation 027

22

AD_thinstation 028

23

AD_thinstation 029

24

AD_thinstation 030

25

AD_thinstation 031

26

AD_thinstation 032

27

AD_thinstation 033

28

AD_thinstation 034

29

AD_thinstation 035

30

AD_thinstation 036

31

AD_thinstation 037

32

AD_thinstation 038

33

AD_thinstation 039

34

AD_thinstation 040

35

AD_thinstation 041

36

AD_thinstation 042

37

AD_thinstation 043

38

AD_thinstation 044

39

AD_thinstation 045

40

AD_thinstation 046

41

AD_thinstation 047

42

AD_thinstation 048

43

AD_thinstation 049

44

AD_thinstation 050

45

AD_thinstation 051

46

AD_thinstation 052

47

AD_thinstation 053

48

AD_thinstation 054

49

AD_thinstation 055

50

AD_thinstation 056

51

AD_thinstation 057

52

AD_thinstation 058

53

AD_thinstation 059

54

AD_thinstation 060

55

AD_thinstation 061

56

AD_thinstation 062

57

AD_thinstation 063

58

AD_thinstation 064

3. Установка роли терминального сервера

В Windows server встроена возможность установки роли RDS — Remote Desktop Services. Если устанавливать все службы, входящие в роль, то получится следующая цепочка подключения:

  1. сначала пользователь попадает на WebPortal, где он видит доступные ему ресурсы. Это могут быть либо отдельные приложения RemoteApp, опубликованные на терминальных серверах , открывающиеся в бесшовных окнах или целиком рабочие столы терминальных серверов.
  2. при попытке доступа к приложению или рабочему столу, запрос пользователя с WebPortal поступает на Connection Broker, который занимается тем, что мониторит терминальные серверы и открытые на них сессии. Если у пользователя уже открыта сессия на одном из серверов, то он будет подключен туда же, если сессий нет то брокер перенаправит его на терминальный сервер на котором в данный момент открыто наименьшее число сессий
  3. сам терминальный сервер, как конечная точка подключения

Вышеописанный сценарий может работать и через Linux клиент. Но так как эта статья все же не про Терминальный сервер, а про Thinstation, достаточно будет одного сервера с установленной ролью RDS просто для тестового подключения.

1 — 9 Ввожу будущий терминальный сервер в домен itsave.local

10 — 13 Устанавливаю MS Office 2013, выношу ярлыки на рабочий стол

14 — 24 Устанавливаю роль Remote Desktop Services и компонент из раздела User Interface and Infrastructure -> Desktop Experience, который превращает интерфейс Windows server в Windows 8. Из доступных составляющих ролей RDS выбираю только Remote Desktop Session Host, для подключения к удаленному рабочему столу терминального сервера. Напоследок проверяю, категорию пользователей у которой есть удаленный доступ.

1

RDS_thinstation 001

2

RDS_thinstation 002

3

RDS_thinstation 003

4

RDS_thinstation 004

5

RDS_thinstation 005

6

RDS_thinstation 006

7

RDS_thinstation 007

8

RDS_thinstation 008

9

RDS_thinstation 009

10

RDS_thinstation 010

11

RDS_thinstation 011

12

RDS_thinstation 012

13

RDS_thinstation 013

14

RDS_thinstation 014

15

RDS_thinstation 015

16

RDS_thinstation 016

17

RDS_thinstation 017

18

RDS_thinstation 018

19

RDS_thinstation 019

20

RDS_thinstation 020

21

RDS_thinstation 021

22

RDS_thinstation 022

23

RDS_thinstation 023

24

RDS_thinstation 024

4. Установка и настройка Thinstation 5.x

Установка начинается с посещения официального сайта проекта и скачивания дистрибутива установки. https://sourceforge.net/projects/thinstation/files/latest/download В результате мы получим .iso файл, в моем случае это был TS-5.2.4-Installer-0812.iso

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

1 — 9 Начинается установка. Стандартный мастер установки.

10 — дается рекомендация по настройке DHCP параметров, чтобы заработал загрузка  PXE . Я эти параметры указал в разделе настройки AD, DNS, DHCP

11 — 12 После перезагрузки сервера Thinstation, попадаю на обычный рабочий стол Linux, где в меню «Пуск» есть отдельное меню для управления системой Thinstation. По гипотетическому сценарию настройки бездискового тонкого клиента, мне нужно подготовить кастомизированный образ для пользовательского устройства. Для этого необходимо сделать следующие операции:

13 — 14 переключаем PXE службу в режим записи

15 — 16 включаем параметр «All modules», теперь, если мы начнем собирать образ в него будут включены все модули из Linux ядра, вследствие чего будут поддерживаться все возможные устройства на конечном устройстве пользователя. Это нам нужно временно, для формирования образа.

17 — 18 Edit Config — открывает два конфигурационных файла, через которые настраиваются параметры образа (build.conf) и параметры сессии (thinstation.conf). В build.conf убираем # c параметра package extension-x, мне это нужно для того, чтобы запустить на конечном устройстве скрипт, собирающий информацию об используемых модулях hwlister.sh

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

20 — Devstation -> Build Image запускает скрипт по сборке образа, это занимает несколько минут. Во время первой сборки скачиваются необходимые пакеты, обновляются существующие.

21 — 23 после того, как процесс сборки образа закончится (консоль закроется автоматически), можно загружать конечное устройство. Там запускаю Terminal Emulator и выполняю команду hwlister.sh. Создаются два файла module.list и package.list, которые автоматически записываются на наш PXE сервер (через TFTP).

24 — 25 возвращаемся на Thinstation сервер и запускаем команду на формирование кастомизированного профиля для конечного устройства. Задаем ему имя, которое в дальнейшем будем использовать в конфигурационном файле.

26 — 27 выключаем режим «All modules», теперь список модулей, включаемых в образ будет формироваться из указанного профиля устройства

28 — сам загружаемый образ хранится в директории /thinstation/ts/5.2/boot-images/pxe  и  называется initrd. Как видно сейчас, когда в сборке все модули, его размер 241 Mb

29 — 31 снова редактируем файл настроек buld.conf; отключаем exstentions-x, прописываем профиль оборудования, который должен использоваться при сборке образа «itsave»

32 — меняем состав устанавливаемых пакетов. Для подключения к терминальному серверу нужно разкомментировать «package rdesktop» и закомментировать остальное.

33 — переходим в thinstation.conf и прописываем настройки подключения к терминальному серверу, а именно строчки
#SESSION_0_TYPE=rdesktop
#SESSION_0_AUTOSTART=On
#SESSION_0_RDESKTOP_SERVER=192.168.50.10
#SESSION_0_RDESKTOP_OPTIONS=’-u «» ‘

34 — сохраняем конфигурации и запускаем сборку образа

35 — размер образа уменьшился до 121Мб

36 — теперь можно проверить, проходит ли загрузка конечного устройства и стартует ли автоматически терминальная сессия

1

thinstation 001

2

thinstation 002

3

thinstation 003

4

thinstation 004

5

thinstation 005

6

thinstation 006

7

thinstation 007

8

thinstation 008

9

thinstation 009

10

thinstation 010

11

thinstation 011

12

thinstation 012

13

thinstation 013

14

thinstation 014

15

thinstation 015

16

thinstation 016

17

thinstation 017

18

thinstation 018

19

thinstation 019

20

thinstation 020

21

thinstation 021

22

thinstation 022

23

thinstation 023

24

thinstation 024

25

thinstation 025

26

thinstation 026

27

thinstation 027

28

thinstation 028

29

thinstation 029

30

thinstation 030

31

thinstation 031

32

thinstation 032

33

thinstation 033

34

thinstation 034

35

thinstation 035

36

thinstation 036

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