Сервер терминалов linux mint

Сервер терминалов linux mint

Пришло время, и мои коллеги обратили мое внимание на невозможность нормально проводить занятия из-за тормозов самой операционной системы и программного обеспечения на наших стареньких компьютерах (2004 -2008 гг. поставки). Однажды я слышал о таких понятиях как загрузка по сети, тонкие клиенты, терминальный сервер и пр., но не придавал должного значения этим терминам и тем возможностям, которые они предоставляют, а вот сейчас необходимость заставила вплотную заняться этим вопросом.
Итак, легенда — тонкие клиенты работают очень шустро, почти как и машина от которой он запитан и при этом сам клиент может представлять собой «динозавра» в мире компьютеров. Решил я это проверить.
В наличии: серверная машинка с CPU 2,4 Ггц х 4, MEM 8 Ггб, HDD 250 Ггб, две сетевые карты, одна «смотрит» в Интернет, а другая во внутреннюю сеть. Русскоязычной информации по настройке терминального сервера не так уж и много, но кое-что есть, ну и не надо сбрасывать со счетов англоязычные ресурсы (постепенно я начинаю все лучше и лучше их понимать, а вот говорить пока не могу). Знатоки наверняка скажут, что это слишком слабая, на сегодня, конфигурация для таких вещей, но задача-то сейчас просто проверить, а в случае удачного эксперимента предпринимать соответствующие шаги, нужно запустить хотя бы 2-3 машинки.
Во всех найденных мною ресурсах сразу начинают устанавливать ltsp-сервер, так это чудо-юдо называется. Обратимся к Википедии: «Linux Terminal Server Project (LTSP) — это свободно распространяемый дополнительный пакет для Linux с открытым исходным кодом, который позволяет нескольким людям с маломощными компьютерами (терминалами) использовать вычислительные мощности одного, более производительного компьютера (сервера). При этом, все приложения запускаются на сервере, а терминалы, так же называемые тонкими клиентами (или X-терминалами), просто принимают видеоряд, посылаемый сервером, и кроме него ничего не обрабатывают. Как правило, терминал представляет собой маломощный компьютер, в нём даже может отсутствовать жесткий диск, вследствие чего он может работать тише, чем обычный настольный компьютер.» Все, почему-то предполагают, что у всех потенциальных пользователей LTSP уже установлен сервер с десктопом и он настроен для работы (в будущем) в качестве терминального сервера. Смею уверить Вас — нет, такого нет и в принципе быть не должно, давайте загрузим наш рабочий сервер, на котором крутятся наши базы данных, внутренняя почта, прокси-сервер и админзнаетчто еще там происходит, еще и функциями терминального сервера, LTSP лучше возложить на ругой компьютер.
Процесс настройки терминального сервера начинается с установки того десктопного дистрибутива, который Вы желаете увидеть на рабочих машинах (тонких клиентах). Потом нужно установить желаемое ПО, можно настроить рабочий стол, меню и пр., потом внести изменения в каталоге /etc/skel/ (что именно там менять, это уже отдельная тема) для того, чтобы пользователи тонких клиентов получили точно такой же рабочий стол, каким его Вы настроили. Я не стал изощряться и установил в качестве подопытного образца свою школьную сборку Linux_for_School на базе Linux Mint 17.1 MATE. Честно признаюсь, получилось не сразу, раза три переустанавливал все и, в конце-концов, выработал свой алгоритм, которым и хочу поделиться.
Для начала нужно уяснить, что для достижения успешного результата нужно проверить или настроить DHCP-сервер на будущем терминальном сервере. Если Вы доделываете/переделываете существующий сервер (что маловероятно, вряд ли Вы рискнете поломать «свой домик» ради эксперимента или по причинам изложенным выше), то наверняка DHCP там уже установлен и работает, нужно только проверить на какие адреса во внутренней сети он все раздает. В нашем случае, идеальным будет решение использования внутренней сети с адресами 192.168.0.1. 255, поскольку, по-умолчанию, после установки пакета ltsp-server-standalone нужно настроить сетевые интерфейсы и тут надо быть внимательным, потому что от Вашей внимательности напрямую зависит результат работы, а умолчательный вариант адресации сети именно вида 192.168.0.1. 255. Здесь важно не спешить менять «все и вся», важно настроить, чтобы работало все, а потом подстраивать «по себя», и можно будет изменить и IP-адресацию.
Как я писал выше, для эксперимента я не стал заниматься кастомизацией и тратить на это время, а взял уже готовую сборку. если кто захочет повторить «подвиг», можно брать любую десктопную систему и «вылизать» ее «под себя», и только после всего этого приступать к установке ltsp-сервера.
Я думаю, вступительных слов достаточно, приступим:
1.
sudo -s
Если мы начнем устанавливать apt-get install ltsp-server-standalone, то нас уведомят об установке дополнительных пакетов debconf-utils debootstrap isc-dhcp-server ldm-server ltsp-server ltsp-server-standalone ltspfs nbd-server openbsd-inetd openssh-server openssh-sftp-server tftpd-hpa. Осмотревшись, замечаем (после всего прочитанного материала, см. ссылки в конце), что нам не хватает для полного счастья только ssh, dnsmasq, nfs-kernel-server поэтому после установки ltsp-сервера добавим пару пакетов.
apt-get install ltsp-server-standalone
2. Создаем загрузочный образ, который будут грузить наши клиенты
ltsp-build-client
3. Доустановим недостающие «для полного счастья» пакеты
apt-get install ssh dnsmasq nfs-kernel-server tftpd-hpa
4. Редактируем сетевой интерфейс
gedit /etc/network/interfaces
заполняем подобным содержанием:

auto eth0 #эта сетевая карта "смотрит в мир" iface eth0 inet static address 192.168.50.2 #сетевой адрес моего модема 192.168.50.1 netmask 255.255.255.0 gateway 192.168.50.1 dns-nameservers 192.168.50.1 auto eth1 #эта сетевая карта "смотрит" во внутреннюю сеть, класс, офис. iface eth1 inet static address 192.168.0.1 #это адрес этой карточки, а в будущем и DHCPсервера для клиентов netmask 255.255.255.0 post-up /etc/nat #заставляем в работе использовать NAT, который настроим чуть ниже

Из автозагрузки уберите NetworkManager, а то потом будет мешать.
5. Перезапустим сервис
service networking restart
6. Создаем настройки NAT «NAT (от англ. Network Address Translation — «преобразование сетевых адресов») — это механизм в сетях TCP/IP, позволяющий преобразовывать IP-адреса транзитных пакетов.
gedit /etc/nat
заполняем таким содержанием:

#!/bin/sh #Включаем форвардинг(перенаправление) пакетов echo 1 > /proc/sys/net/ipv4/ip_forward #Разрешаем траффик на lo iptables -A INPUT -i lo -j ACCEPT #Разрешаем доступ из внутренней сети наружу iptables -A FORWARD -i eth1 -o eth0 -j ACCEPT #Включаем NAT iptables -t nat -A POSTROUTING -o eth0 -s 192.168.0.0/24 -j MASQUERADE #Разрешаем ответы из внешней сети iptables -A FORWARD -i eth0 -m state --state ESTABLISHED,RELATED -j ACCEPT #Запрещаем доступ снаружи во внутреннюю сеть iptables -A FORWARD -i eth0 -o eth1 -j REJECT

7. Даем право файлу nat на исполнение
chmod +x /etc/nat
8. Перегружаем компьютер любым удобным способом
reboot
9. Теперь настроим наш DHCP и DNS, без первого у нас вообще ничего не получится, а второй позволит получить еще кучу преимуществ, которые предусматривает использование кеширующего сервера :
gedit /etc/dnsmasq.conf
заполняем таким содержанием:

listen-address=127.0.0.1, 192.168.0.1 dhcp-range=192.168.0.20,192.168.0.200,255.255.255.0,12h

10. Перезапустим сервис
service dnsmasq restart
По идее, DHCP уже должен работать и все должно «крутиться», но. увы, при подключении к будущему терминальному серверу любого ПК с ОСью, в которой сетевой адрес машина получает от DHCP, проще говоря — автоматически, ничего не произошло, т.е. этот клиент не получил адреса. Как выяснилось, заявленный вначале кандидат на установку, как дополнительный пакет, isc-dhcp-server не установился, поэтому, нужно проверить его наличие в системе, если нет, то устанавливаем.
apt-get install isc-dhcp-server
11. Снова редактируем очередной файл настроек
gedit /etc/default/isc-dhcp-server

Читайте также:  При установке linux графика

«eth1» — у меня это сетевая карта, которая «смотрит» во внутреннюю сеть и представляет собой сетевой интерфейс DHCP будущего терминального сервера для будущих тонких клиентов.
12. Устал уже писать о редактировании. При его открытии там уже что-то есть, сравните с тем, что у меня, и если что — подправте «под себя»
gedit /etc/ltsp/dhcpd.conf

 - - Default LTSP dhcpd.conf config file. - authoritative; subnet 192.168.0.0 netmask 255.255.255.0 < range 192.168.0.20 192.168.0.200; # здесь задаётся диапазон адресов option domain-name "mnvk.edu"; option domain-name-servers 192.168.0.1; option broadcast-address 192.168.0.255; option routers 192.168.0.1; next-server 192.168.0.1; # get-lease-hostnames true; 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"; >> 

Вместо доменного имени «mnvk.edu» подставьте своё.
13. Далее переходим в каталог /etc/dhcp и делаем бэкап файла /etc/dhcp/dhcpd.conf :
cd /etc/dhcp
cp dhcpd.conf dhcpd.conf.bak
Теперь этот файл копируем в /etc/dhcp
cp /etc/ltsp/dhcpd.conf /etc/dhcp/dhcpd.conf
и рестартуем DHCP-сервер
/etc/init.d/isc-dhcp-server restart
Вот теперь можно проверить работу DHCP, и если на испытуемом подключенном образце появится сетевое подключение с IP типа 192.168.0.хх — значит все в порядке, Ваш DHCP работает, можно двигаться дальше, если нет, нужно проверить все и при необходимости устранить допущенные ошибки.
14. Настроим NFS-сервер. Он будет отдавать полный образ системы. Создаём директорию, где он будет содержаться и собираться (у меня она уже была):
mkdir /opt/ltsp
13. Редактируем настройки
gedit /etc/exports
У меня в файле уже было всякого-разного там, внимательно посмотрите, все ли закоментировано, если нет, поставьте в начале незакоментированной строки значек # (у меня все было закоментировано) и добавьте строку

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

Во многих источниках рекомендуют вообще все удалить, а вставить вместо только эту строчку, я придерживаюсь мнения — «ломать — не строить», поэтому если где что и нужно удалить, я стараюсь просто закоментировать ненужное, чтобы потом «не было мучительно больно».
14. Перегружаем сервер
/etc/init.d/nfs-kernel-server reload
15.
gedit /etc/dnsmasq.d/ltsp.conf
вставляем то, что ниже.

dhcp-range=192.168.1.0,proxy dhcp-option=vendor:PXEClient,6,2b dhcp-no-override pxe-prompt="Press F8 for boot menu", 3 pxe-service=x86PC, "Boot from network", /ltsp/i386/pxelinux pxe-service=x86PC, "Boot from local hard disk" 
[[default]] LTSP_CONFIG=True SYSLOG_HOST=192.168.10.1

17.
service dnsmasq restart
18. Не забываем перед началом тестирования создать несколько пользователей, у меня это test1, test2, test3, ну и пользователь, который был создан во время установки. Добавлять пользователей можно любым способом, мне больше всего нравится при помощи комманды adduser test1 естественно, вместо test1 Вы пишите своего. Почему предпочитаю этот способ? А потому, что мен так удобнее, и пароль я могу установить состоящий только из одного символа, а через «GUI» только шесть символов подавай.
На клиентах в BIOS выставляем загрузку по сети, у меня на разных машинах этот пункт по-разному называется, где фигурирует абривиатура PXE, а где NIC, но смысл один и тот же. Во время загрузки опрашивается сеть и если нашелся какой-то сервачек, который выдаст нам IP, да еще и предоставит образ для загрузки. В целом у меня все получилось, клиенты загрузились и я не только увидел это чудо — терминальный сервер своими глазами, но сделал его своими руками, я счастлив.

Читайте также:  Linux консоль текущее время

Итоги. Если все делать внимательно, вносить поправки исходя из собственных соображений в зависимости от возникшей ситуации, все достижимо и можно наслаждаться результатом своих стараний. А что же с результатами, вполне резонно спросите Вы? Загрузил я три клиента, больше не стал, ведь моя цель была попробовать, пока что. То, как работает операционная на машине 2004 года выпуска просто поражает, все крутится-вертится, менюшки мелькают, все быстро и красиво, но нужно попробовать то, ради чего все и затевалось. Запускаем браузер — сносно, онлайн видео, конечно не посмотришь, но в целом, нормально, далее пробуем офис, LibreOffice 5-й версии, Writer, Calc работали прекрасно, а вот с Impress пришло разочарование, лучше, конечно, чем на локальной машине та же презентация на той же ОС, но все равно не то. Это же касается и Blender-а и других более-менее затрагивающих мультимедийные возможности программ. Т.е., если Вы будете исполльзовать компьютеры в качастве офисных, бухгалтерских, т.е. где мультимедийные возможности не нужны, то использование терминального сервера просто идеальное решение, в остальных случаях — довольно сомнительное предприятие. К сожалению более современного/мощного компьютера под рукой нет, так что приходится довольствоваться полученными результатами.
В файл /opt/ltsp/i386/etc/lts.conf я добавил параметры

[6e:bd:c2:74:ff:e1] XSERVER=nvidia

На одном из испытуемых была видеокарточка от nvidia, [6e:bd:c2:74:ff:e1] — это MAC-адрес сетевой карты этого ПК, таким образом я «привязал» именно этот параметр к конкретному компьютеру. Что-то пошло не так и я увидел на экране только курсор. Разбираться не стал, поскольку машины с карточками от nvidia как раз меньше всего нуждаются в описанной технологии, а вот 2004-ные. супер VIA. и добавить-то нечего.

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

Читайте также:  Uninstall vmware player in linux

Источник

Оцените статью
Adblock
detector