Thinstation — «худеем» с тонкими клиентами до версии 2.5 | ||
Дистрибутивы > Debian Относительно недавно в свет вышла новая версия популярного тонкого клиента Thinstation, а именно 2.5. И, конечно же, несет в себе как новые плюшки, так и новые грабли плюс минимум документации по новой версии.
В этой статье (а она расчитана на новичков, особенно для тех, кто слабо знаком с Linux) я опишу как быстро собрать тонкого клиента и сделать его использование достаточно безопасным. Под хабракатом использование смарт-карт, RDP-клиент фирмы 2X и хэппи-энд. Постановка задачиИтак, у нас имеется:
А теперь чего, собственно, хотим:
С чего начнем?Для бездисковой загрузки наших тонких клиентов (а грузиться они будут по протоколу 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 После того, как генератор образов скачан, необходимо запустить скрипт: ./setup-chroot При первом запуске этот скрипт соберет необходимые пакеты и развернет всю инфраструктуру для дальнейщей генерации наших загрузочных образов. Пришла пора собрать наш первый, пока что «толстый», образ. Этот большой образ с поддержкой очень широкого списка аппаратки нужен, чтобы сгенерировать затем небольшой профиль для поддержки нашего конкретного железа. Хочу отметить, что в этом и заключается одна из главных плюшек новой версии Thinstation: теперь не надо самому руками составлять список драйверов, которые следует включить в образ — он сгенерируется автоматически скриптом. Как советуют разработчики, сборку надо производить «inside chroot session», поэтому из скрипта setup-chroot.sh не выходим (нажимаем лишь «Q», чтобы скрыть приветственное сообщение скрипта) и пишем следующие команды в тамошней консоли: cd ts/2.5 В файле 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" и запускаем скрипт: hwlister.sh Этот скрипт сгенерирует нам файлы профиля для конкретного железа нашего тонкого клиента. Обычно их два: "module.list" (список драйверов для нашего железа) и "vbe_modes.list" (графические режимы). Теперь их нужно скопировать на Linux-машину. Сделать это можно, например, через TFTP-сервер (он должен позволять запись). В консоли тонкого клиента вводим: cd / , где 192.168.0.1 — адрес нашего TFTP-сервера. Вернемся к Linux-машине, создадим там папку "/home/user/thinstation/ts/2.5/machine/my_machine" и скопируем в нее из корня TFTP-сервера наши два полученных файла. Страшный зверь — смарт-картаИтак, чтобы наши пользователи могли авторизоваться в системе с помощью смарт-карт необходимо несколько вещей:
Теперь нам необходимо найти и собрать драйвера для картридера под Linux. На сайте производителя находим драйвера тут, качаем и распаковываем: cd /home/user/ Читаем README и видим, что для сборки нам понадобится установить пакет PCSC Lite (есть здесь, я ставил последнюю на тот момент версию ccid-1.4.5), а также нам понадобятся исходники libusb-0.1.12 (с более старшими версиями не собирается). Ставим PCSC Lite, в папку с исходниками драйверов для картридера копируем файл usb.h из исходников libusb. Теперь запускаем обычное: ./configure Так как 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 Все, готово! Теперь картридер при загрузке тонкого клиента будет определяться и работать нормально. В версии 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:
thinstation.conf.buildtime:
И, наконец, пример описания запуска сессии для клиента 2X (thinstation.conf.network): SESSION_0_TITLE="2X" , где:
С конфигурированием закончили. Теперь собираем клиента: запускаем скрипт setup-chroot.sh и вводим: cd ts/2.5 Полученный образ складываем в корень TFTP-сервера. Также в корне TFTP-сервера создаем папку "config" (та, которую мы указали в build.conf) и копируем в нее файл thinstation.conf.network. Все готово! Запускаем, проверяем, видим окошко логина терминального сервера и радуемся! Хэппи-энд! P.S. Возможно, я что-то упустил в данной статье. Хотелось бы услышать вопросы и комментарии. Спасибо! Источник: http://habrahabr.ru/blogs/sysadm/136921/ |
||
Комментарии | ||