ltsp

Терминальны сервер на примере LTSP и CentOS 5.4

Первое, что мне необходимо было сделать – установить CentOS 5.4 x86_64. В качестве графической оболочки я отдал предпочтение KDE. Первым делом идем на сайт и качаем образ диска c пакетами LTSP (http://ltsp.mirrors.tds.net/pub/ltsp/isos/). Я выбрал версию 4.1.1, т.к. навороты более новых версий (такие как сессии через ssh и прочее мне были не нужны).

Далее монтируем этот образ и устанавливаем пакет ltsp-utils.0.11-o.noarch.rpm

rpm –i ltsp-utils.0.11-o.noarch.rpm

После чего мы получаем утилиты командной строки ltspadmin и ltspcfg. Первая утилита используется для настройки установки и самой установки LTSP, вторая – для конфигурации уже установленного терминального сервера. Запускаем утилиту ltspadmin.

Первым делом нам необходимо сконфигурировать установщик, соответственно мы выбираем пункт меню Configure the installer options. Первым вопросом нам предлагается определить откуда мы будем получать пакеты. Можно использовать сайт самого проекта, но разумнее указать путь к смонтированному нами образу. В моем случае это file:///media/CDROM/. Обратите внимание, что в пути используется именно 3 слеша, на что указывается и в документации по установке.

Следующий вопрос – путь куда будет установлен LTSP. По умолчанию он указывает на /opt/ltsp. Его изменять я не вижу смысла. Если же вы указали в качестве пути к местоположению пакетом http адрес (который задан по умолчанию) тогда вам необходимо указать адрес http (или же ftp, если пакеты лежат на ftp) прокси-сервера. В конце подтверждаем правильность настроек и нас возвращает к предыдущему пункту меню. Теперь мы можем приступать к установке терминального сервера.

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

  • пакеты LTSP в папке /opt/ltsp
  • файлы, необходимые для загрузки PXE клиентов в папке /tftpboot/lts/

Установка DHCP и TFTP серверов.

Для загрузки по сети наших тонких клиентов нам необходимы DHCP и ТFTP сервера. TFTP сервера в дистрибутиве CentOS я не нашел, а DHCP решил поставить вручную – так надежнее. Соответственно устанавливаем их:

 yum install dhcp.x86_64 tftp-server.x86-64

Далее необходимо открыть 69 порт для UDP протокола в фаерволе нашего терминального сервера. Для этого используем консольную утилиту system-config-securitylevel-tui. Жмем кнопку «Уточнить» и настраиваем правила нашего firewall’a

В моем случае у меня на сервере 2 интерфейса: один смотрит в сеть классов – второй является managment-интерфейсом. Выбираем интерфейс, через который наши тонкие клиенты будут стучаться к tftp-серверу и добавляем его к доверенным, а так же открываем для него 69 порт.

Конфигурация LTSP

Для конфигурации мы можем воспользоваться пунктом меню Configure LTSP утилиты ltspadmin или же напрямую вызвать ltspcfg. В появившемся меню выбираем ручную настройку:

Проходимся по всем 11 пунктам. Пункт 8 можно в принципе пропустить. После завершения — у нас будут настроено практически все необходимое.
Стоит уделить внимание пунктам 3 и 7. В пункте 3 будет создан файл примера конфигурации DHCP сервера (/etc/dhcpd.conf.sample), который необходимо отредактировать. После изменений – у меня он приобрел следующий вид:

#
# Sample configuration file for ISC dhcpd
#
# Make changes to this file and copy it to /etc/dhcpd.conf.sample

ddns-update-style none;
default-lease-time 21600;
max-lease-time 21600;

#option domain-name "ltsp"; # <--Fix this domain name

option option-128 code 128 = string;
option option-129 code 129 = text;

subnet 192.168.130.0 netmask 255.255.255.0 {
use-host-decl-names on;
option log-servers 192.168.130.254;
range dynamic-bootp 192.168.130.1 192.168.130.253; ## пул адресов.
option root-path "192.168.130.254:/opt/ltsp/i386"; ##опция ядру где находиться файловая система.
option broadcast-address 192.168.130.255;
option routers 192.168.130.254;
option subnet-mask 255.255.255.0;
if substring (option vendor-class-identifier, 0, 9) = "PXEClient" ##указываем что передавать в кач-ве загрузчика для PXE клиентов
{
filename "lts/2.6.9-ltsp-3/pxelinux.0"; ##в CentOS tftp обычно запущен с опцией -s, поэтому полный путь от корня указывать не нужно. полный путь должен выглядеть как /tftpboot/lts/.....
}
next-server 192.168.130.254; ## - Обязательно указать. В противном случае загрузочный образ не получит конфиг!
}

Хочу обратить внимание на то, что в путь к PXE загрузчику указывается не полный, т.к. в RedHat и CentOS он запускается с ключем –s, соответственно папку tftp-сервера в пути мы опускаем. Так же возникла проблема с тем, что по-идее опцию next-server необходимо указывать только тогда, когда DHCP и TFTP сервера находятся на разных серверах. Но без этой опции загрузка глохла, пока я не продублировал самого себя в качестве next-server’a.

На этом этапе я обрадовался, что настройка завершена и попытался загрузиться с тонкого клиента. Но не тут то было! В итоге запускались Иксы, но подключения к терминальному серверу не происходило. Как оказалось стандартным менеджером сеансов в CentOS являеться gdm (Gnome), а так как Gnome у меня вообще отсутствовал – kdm даже и не пробовал запускаться. Для того, что бы ОСь использовала kdm необходимо внести некоторые изменения в файл конфигурации, а именно - /etc/sysconfig/desktop (если файл отсутствует – его необходимо создать):

DISPLAYMANAGER="KDE"

Следующим огорчением было то, что при запуске иксов на терминальном клиенте – они падали, т.к. сервер тупо отвергал любые попытки открыть удаленные сеансы. Изменить это не проблема, проблемой для меня стало то, что я не мог найти стандартных файлов конфигурации KDE. В CentOS они «спрятаны» совершенно в другом месте. В итоге его местоположение можно определить следующим образом:

locate Xaccess

Далее в указанном файле ищем строчку

* #any host can get a login window

И раскомментируем ее. Перезапускаем Иксы, бутаем наш тонкий клиент – и вуаля! Все работает!

Google Bookmarks Digg Reddit del.icio.us Ma.gnolia Technorati Slashdot Yahoo My Web News2.ru БобрДобр.ru RUmarkz Ваау! Memori.ru rucity.com МоёМесто.ru Mister Wong

Организуем тонкие клиенты linux на примере Ubuntu и LTSP.

В этой статье я расскажу вам как организовать загрузку тонких клиентов Linux по сети. Для этих целей я решил настроить LTSP (Linux Terminal Server Project) -сервер. Данный метод гарантированно работает на Ubuntu 10.10 Desktop (GNOME). Необходим доступ к репозиториям с пакетами.

1) Сначала установим ssh-сервер для организации связи между компьютерами в сети

  sudo apt-get install ssh

2) Затем устанавливаем сам LTSP-сервер

  sudo apt-get install ltsp-server-standalone

3) Далее нужно создать конфигурационные файлы для тонких клиентов

  sudo ltsp-build-client

4) Организуем поддержку сетевой файловой системы NFS

  sudo apt-get install nfs-kernel-server

5) Установим TFTP-сервер

  sudo apt-get install tftpd-hpa

6) В конец файла /etc/exports добавляем следующую строчку

  /opt/ltsp *(ro,no_root_squash,async,no_subtree_check)

7)  Перезапускаем сервисы NFS, inetd и tftpd

sudo invoke-rc.d openbsd-inetd restart
sudo invoke-rc.d nfs-kernel-server restart
sudo invoke-rc.d tftpd-hpa restart

8)  Настроим конфигурационный файл сервера DHCP /etc/ltsp/dhcpd.conf

authoritative;
  subnet 192.168.1.0 netmask 255.255.255.0 {
range 192.168.1.70 192.168.1.230;
option domain-name 1example.ru»;
option domain-name-servers 192.168.1.1;
option broadcast-address 192.168.1.255;
option routers 192.168.1.1;
option subnet-mask 255.255.255.0;
option root-path «/opt/ltsp/i386″;
if substring( option vendor-class-identifier, 0, 9 ) = «PXEClient» {
filename «/ltsp/i386/pxelinux.0″;
}

else

     {
filename «/ltsp/i386/nbi.img»;
}
}

9) Настраиваем сетевое соединение (Система -> Параметры-> Сетевые соединения). Здесь выбираем нужное подключение, например Auto eth0 и в параметрах IPv4 указываем те же значения, что мы указали в файле/etc/ltsp/dhcpd.conf. Или так: Профиль: Вручную; Адрес: 192.168.1.1; Маска подсети: 255.255.255.0; Шлюз: 192.168.1.1;  Домены поиска: 192.168.1.1; ID клиента DHCP: 192.168.1.1.

10) В конец файла /etc/dhcp3/dhcpd.conf добавляем строку:

  include «/etc/ltsp/dhcpd.conf»;

11)  Включаем XDMCP (X Display Manager control protocol):

  sudo cp /usr/share/doc/gdm/examples/custom.conf /etc/gdm/

И после копирования добавляем в /etc/gdm/custom.conf:

  [xdmcp]
  Enable=true
  DisplaysPerHost=2

12) Перезапускаем GDM

  sudo restart gdm

13) Запускаем DHCP

  sudo /etc/init.d/dhcp3-server start

14) И/Или перезапускаем DHCP

  sudo invoke-rc.d dhcp3-server restart

На этом настройка LTSP-сервера окончена. Теперь можно включить тонкие клиенты, выбрав загрузку PXE (Preboot Execution Environment). Часто функцию загрузки по сети необходимо разрешить в BIOS (посмотрите в параметрах устройств PCI).
В будущем, после обновления сервера может потребоваться обновить ключи для ssh и образ ltsp:

   sudo ltsp-update-sshkeys

   sudo ltsp-update-image —arch i386
Google Bookmarks Digg Reddit del.icio.us Ma.gnolia Technorati Slashdot Yahoo My Web News2.ru БобрДобр.ru RUmarkz Ваау! Memori.ru rucity.com МоёМесто.ru Mister Wong