Здравствуйте, недавно на работе возникла задача построения тонких клиентов для Windows Server 2003 Terminal Services. Задача была творческой, поэтому выбор решения пал на собственные плечи. В качестве решения для работы с бездисковыми рабочими станциями был выбрал LTSP — Linux Terminal Server Project. Так же в качестве загрузочного сервера был использован TFTP и DHCP сервер в поставке Windows server 2003.
Итак, вот рабочий мануал написали при проработке решения:
В качестве дистрибутива для LTSP был выбран Ubuntu Server 10.10
1. Установка производится в обычном режиме. Один нюанс при установке необходимо прописать параметры прокси, если доступ в интернет в вашей сети предоставляется через прокси
2. Выполняем обновление системы:
3. Ставим ltsp сервер.
4. Создаем загрузочный образ.
5. Настройка тонкого клиента.
В файле /var/lib/tftpboot/ltsp/i386/lts.conf надо прописать:
Секция SCREEN_07 выбор команды запускаемой при старте клиента.
Секция LOCALDEV=True и MUDULE_01=usb-storage использование в клиентском сеансе локальных устройств.
Секция RDP_SERVER и RDP_OPTIONS – указывают на сервер и опции подключения к RDP, при котором автоматически должна мапиться флэшка -r disk:X=/media/.
6. Настройка DHCP сервера.
В параметрах DHCP сервера необходимо прописать следущие секции:
7. Пересборка окружения образа ltsp.
Образ LTSP храниться в chroot каталога /opt/ltsp/i386 и при внесении изменений необходимо пересобирать образ. Для внесения изменений выполнить команду:
и выполнять действия, после выполнения пересобрать образ:
8. Активации автомонтирования флеш-накопителя, при его включении в usb
порт клиентского терминала.
Заходим в chroot окружение и ставим там nano (ну нравиться он мне):
В папке с образом ltsp, в подпапке /etc/udev/rules.d/ добавить
следующую строчку в конце файла 70-persistent-cd.rules:
Добавить локаль ru_RU.CP1251 в ltsp образ клиентской станции.
Для этого на linux сервере, на котором установлена подсистема ltsp
выполняем следующие действия:
в начале файла после комментариев прописать строку
выполнить:
9. Правим раскладку клавиатур:
После чего заменяем в /opt/ltsp/i386/usr/share/rdesktop/keymaps/ru
на
выполняем:
«Новая» ru раскладка готова. Все клавиши работают корректно.
За сим все, теперь любая поддерживающая bootp машина должна грузиться с tftp сервера и автоматически подключаться к серверу терминалов. Более тонкие настройки, под конкретные задачи, конечно же возможны, но нашу задачу это решило полностью.
Итак, вот рабочий мануал написали при проработке решения:
В качестве дистрибутива для LTSP был выбран Ubuntu Server 10.10
1. Установка производится в обычном режиме. Один нюанс при установке необходимо прописать параметры прокси, если доступ в интернет в вашей сети предоставляется через прокси
http://username:password@172.16.xx.xx:3128
2. Выполняем обновление системы:
sudo apt-get update
3. Ставим ltsp сервер.
sudo apt-get install ltsp-server-standalone openssh-server rdesktop tftp
4. Создаем загрузочный образ.
sudo ltsp-build-client
5. Настройка тонкого клиента.
cd /var/lib/tftpboot/ltsp/i386/
sudo touch lts.conf
В файле /var/lib/tftpboot/ltsp/i386/lts.conf надо прописать:
[default]
SCREEN_07=rdesktop
LOCALDEV=True
MODULE_01 = usb-storage
RDP_SERVER="172.16.xx.xx"
RDP_OPTIONS=" -K -k en-us -a 16 -r disk:X=/media/"
Секция SCREEN_07 выбор команды запускаемой при старте клиента.
Секция LOCALDEV=True и MUDULE_01=usb-storage использование в клиентском сеансе локальных устройств.
Секция RDP_SERVER и RDP_OPTIONS – указывают на сервер и опции подключения к RDP, при котором автоматически должна мапиться флэшка -r disk:X=/media/.
6. Настройка DHCP сервера.
В параметрах DHCP сервера необходимо прописать следущие секции:
066 – Boot Server Host Name = ltsp.pblocal.net (имя linux машины)
067 – Bootfile Name = ltsp/i386/pxelinux.0
7. Пересборка окружения образа ltsp.
Образ LTSP храниться в chroot каталога /opt/ltsp/i386 и при внесении изменений необходимо пересобирать образ. Для внесения изменений выполнить команду:
sudo chroot /opt/ltsp/i386
и выполнять действия, после выполнения пересобрать образ:
sudo ltsp-update-image
8. Активации автомонтирования флеш-накопителя, при его включении в usb
порт клиентского терминала.
Заходим в chroot окружение и ставим там nano (ну нравиться он мне):
sudo chroot /opt/ltsp/i386
apt-get install nano
В папке с образом ltsp, в подпапке /etc/udev/rules.d/ добавить
следующую строчку в конце файла 70-persistent-cd.rules:
SUBSYSTEM=="block", ACTION=="add", RUN+="/bin/mount -t vfat -o
codepage=866,iocharset=cp1251 /dev/%k /media/"
Добавить локаль ru_RU.CP1251 в ltsp образ клиентской станции.
Для этого на linux сервере, на котором установлена подсистема ltsp
выполняем следующие действия:
localedef -–no-archive –c –i ru_RU –f CP1251 ru_RU.CP1251
exit
sudo nano /opt/ltsp/i386/usr/share/ltsp/screen.d/rdesktop
в начале файла после комментариев прописать строку
export LANG=ru_RU.CP1251
выполнить:
sudo ltsp-update-image
9. Правим раскладку клавиатур:
sudo rm /opt/ltsp/i386/usr/share/rdesktop/keymaps/ru
sudo cp /opt/ltsp/i386/usr/share/rdesktop/keymaps/en-us /opt/ltsp/i386/usr/share/rdesktop/keymaps/ru
После чего заменяем в /opt/ltsp/i386/usr/share/rdesktop/keymaps/ru
map 0 *409
на
map 0 *419
выполняем:
sudo ltsp-update-image
«Новая» ru раскладка готова. Все клавиши работают корректно.
За сим все, теперь любая поддерживающая bootp машина должна грузиться с tftp сервера и автоматически подключаться к серверу терминалов. Более тонкие настройки, под конкретные задачи, конечно же возможны, но нашу задачу это решило полностью.