- Тонкие клиенты (linux) из устаревших компьютеров
- Настройка LTSP сервера на Ubuntu 18.04 | LinuxMint 19
- Структура сервера LTSP
- Требования к терминальному серверу
- Установка LTSP сервера на Linux
- Ubuntu
- Debian
- Настройка LTSP сервера
- Добавляем пользователей в ltsp сервер
- Конфигурация сети
- Создаем образ для клиента
- Настройка iPXE
- Настройка NFS сервера
- Создадим ltsp.img
- Установка DNS
- Установка DHCP
- Конфиг ltsp.conf
- Пример настройки ltsp.conf
- Загрузка iPXE с USB или CD диска
- Команды iPXE загрузчика
- Настройка NAT для раздачи интернета тонким клиентам
- 5 комментариев для “Настройка LTSP сервера на Ubuntu 18.04 | LinuxMint 19”
- Добавить комментарий Отменить ответ
Тонкие клиенты (linux) из устаревших компьютеров
Мы — начинающая, но крайне активная компания. Как и у любой начинающей компании, у нас есть ограниченный стартовый капитал, который хотелось бы потратить с максимальной пользой. Одна из существенных статей таких расходов — покупка «железа», в частности, системных блоков. Мы решили отказаться от традиционной схемы «один сотрудник — один системный блок» и сделать офисную сеть на тонких клиентах. В качестве тонких клиентов были использованы списанные из организаций системники.
В наличии имеется следующее «железо»:
- Мощный системный блок (двухядерный Athlon, 3Гб оперативной памяти, большой жесткий диск)
- Несколько списанный системников уровня Pentium III, порядка 256 Мб оперативки, жесткие диски убитые/отсутствуют, есть CD-приводы
Необходимо из них собрать офисную сеть, чтобы все могли комфортно работать. Единственное решение в такой ситуации — сделать из списанных компьютеров тонких клиентов, которые могут работать на мощном компьютере (сервере). Загрузка тонких клиентов будет выполняться со специально сделанных LiveCD. Желательно использовать безопасный протокол, так как в будущем хотелось бы иметь возможность работать и удаленно (через интернет).
В качестве серверной ОС взята Linux (Ubuntu).
Для того, чтобы сделать тонких клиентов, воспользуемся thinstation. С официального сайта можно скачать как универсальный LiveCD, так и архив, из которого можно дальше сделать собственный iso-образ. LiveCD подходит для первого знакомства и содержит в себе различные клиенты для подключения к Windows и Unix серверам по разнообразным протоколам (RDP, VNC, SSH и т. д.) Мы будем работать с архивом и сделаем с его помощью свой iso-образ, «заточенный» под наши нужды.
Перед началом сборки определимся, какой сервер терминалов мы будем использовать. Так как у нас линукс, то, по идее, достаточно туннелировать графику через SSH, однако все это танцы с бубном — как на стороне клиента, так и на стороне сервера. Возьмем готовое решение — NX Server. Для Ubuntu уже существуют deb-пакеты. С другой стороны, NX client есть и в составе thinstation. Таким образом, нам остается только настроить сервер и сделать загрузочные CD-диски.
Делаем iso-образы клиентов
Примерная последовательность выглядит так:
1. Скачиваем с официального сайта пакет ThinStation. tar.gz
2. Распаковываем: tar xzvf Thinstation-2.2.2.tar.gz
3. В корневой папке редактируем build.conf и thinstation.conf.buildtime (эти файлы используются во время сборки образа)
- В файле build.conf оставляем только нужные модули и пакеты (модули отвечают за драйверы, пакеты — за программы).
- В блоке, где идет активация клиентов, оставляем только package nx — это наш NX клиент.
- param nxurl должен указывать на пакет nxclient. tar.gz (этот пакет подгружается во время сборки iso-образа). Можно указать внешнюю ссылку, можно скачать и положить на localhost. Ссылки на образы других клиентов, естественно, комментируем.
- param keyfile — берем с сервера (файл ssh_host_rsa_key.pub). Рекомендую прописать полный путь до этого файла во избежание путаницы.
- param knownhosts — проще всего сгенерировать с помощью любого LiveCD. Загружаемся, по ssh выполняем вход на наш сервер, после этого в профиле должен появиться файл known_hosts. Копируем его. Также необходимо прописать полный путь до этого файла.
- В файл thinstation.conf.buildtime копируем содержимое из /conf/nx.conf.sample и /conf/x-common.conf.sample. Настраиваем, исходя из своей сети. Проще всего прописывать статические ip-адреса.
Образец файла thinstation.conf.buildtime:
NET_USE_DHCP=Off
NET_IP_ADDRESS=10.0.0.3
NET_MASK=255.255.255.0
SESSION_0_TYPE=nx
SESSION_0_TITLE=»Gnome»
SESSION_0_NX_ADVANCED_ENABLE_SSL_ENCRYPTION=»true»
SESSION_0_NX_GENERAL_DESKTOP=»Gnome»
SESSION_0_NX_GENERAL_SERVER_HOST=»10.0.0.1″
SESSION_0_NX_GENERAL_REMEMBER_PASSWORD=»true»
SESSION_0_NX_GENERAL_RESOLUTION=»fullscreen»
SESSION_0_NX_GENERAL_SESSION=»Unix»
SCREEN_RESOLUTION=»1280×1024″
SCREEN_COLOR_DEPTH=»24″
SCREEN_BLANK_TIME=10
SCREEN_STANDBY_TIME=20
SCREEN_SUSPEND_TIME=30
SCREEN_OFF_TIME=60
4. Выполняем сборку образа: ./build
5. Смотрим на лог сборки. Если все ОК — готовый образ появится в /boot-images/iso/. Записываем его на болванку.
Устанавливаем сервер терминалов
Делаем так, как указано на официальном сайте:
sudo dpkg -i nxclient…
sudo dpkg -i nxnode…
sudo dpkg -i nxserver…
Все должно заработать «из коробки».
Чтобы убедиться в работоспособности, можно быстро загрузиться с любой другой машины через LiveCD (Ubuntu/Xubuntu), прописать у нее сеть, поставить на нее только NX клиента, и подключиться к нашему серверу.
Все работает бодро. В нашей системе почему-то не активируется смена языка, пришлось в автозагрузку профиля добавить вот такой скрипт:
setxkbmap -model pc105 -layout us,ru\(winkeys\) -option -option grp:alt_shift_toggle -option compose:ralt
Еще наблюдаются какие-то глюки в firefox (черные прямоугольники вместо некоторых изображений). Судя по записям в интернете, это застарелая проблема, нужно ковырять в профиле.
Наконец, бесплатная версия NX сервера допускает одновременную работу только двух клиентов (итого — 3 человека: один на самом сервере, 2 — через тонких клиентов). Если хотим больше — либо приобретаем платную версию, либо ставим виртуальные системы (например, на proxmox). Но это уже, как говорится, совсем другая статья…
Источник
Настройка LTSP сервера на Ubuntu 18.04 | LinuxMint 19
Сегодня рассмотрим пример установки и настройки LTSP сервера на Ubuntu 18.04.
Linux Terminal Server Project (LTSP) — это свободно распространяемый дополнительный пакет для Linux с открытым исходным кодом, который позволяет нескольким людям с маломощными компьютерами (терминалами) использовать вычислительные мощности одного более производительного компьютера (сервера). При этом, все приложения запускаются на сервере, а терминалы, так же называемые тонкими клиентами (или X-терминалами), просто принимают видеоряд, посылаемый сервером, и кроме него ничего не обрабатывают. Как правило, терминал представляет собой маломощный компьютер, в нём даже может отсутствовать жесткий диск, вследствие чего он может работать тише, чем обычный настольный компьютер.
LTSP был переработан и переписан с нуля в 2019 году alkisg для поддержки новых технологий, таких как systemd, обновленные среды рабочего стола, Wayland, UEFI и т. д. Сейчас только новая версия активно развивается, в то время как старая(теперь называется LTSP5) находится в режиме минимального обслуживания. В связи с эти статья была полностью переработана для нового LTSP сервера.
Была установлена Ubuntu 18.04. Как установить систему я думаю вы разберетесь сами, благо материалов на эту тему в интернете куча. Будем считать, что система установлена и готова к использованию, все действия подойдут для всех производных дистрибутивов Ubuntu
Структура сервера LTSP
Что мы должны знать — это компоненты из которых состоит сервер:
- DHCP-сервер — используется для выдачи клиентам IP-адресов и информации о tftp-сервере и пути к загрузчику pxelinux. По дефолту используется dnsmasq, но можно использовать и isc-dhcp-server.
- iPXE — сетевой загрузчик, который показывает меню начальной загрузки клиента.
- mksquashfs — создает сжатую копию образа, который будет использоваться при работе клиента.
- TFTP-сервер — отдает по tftp-протоколу загрузчик, ядро и главный конфиг ltsp.conf .
- NFS /NBD — Транслирует образ системы в сеть.
- SSH-сервер — используется для авторизации пользователей и передачи их домашних каталогов на терминальные станции.
Требования к терминальному серверу
- Рекомендуется 2-х (и более) ядерный процессор,
- 512 Мб RAM на систему и по 120 Мб RAM на каждого терминального пользователя.
- Сеть — 100 Мбит/с, желательно для тонких клиентов выделить отдельную сеть
- HDD — не менее 10Гб свободного пространства
Установка LTSP сервера на Linux
Для начала приведем систему в актуальное состояние:
Теперь давайте добавим официальный репозиторий LTSP сервера.
Ubuntu
Debian
Теперь можно приступить к установке LTSP сервера и его зависимостей.
Настройка LTSP сервера
Добавляем пользователей в ltsp сервер
Добавим нашего пользователя в группу epoptes c правами sudo
Для добавления обычного пользователя набираем:
Конечно пользователь user1 должен существовать на машине «родители». Добавить пользователя в систему:
После внесения изменений (пользователей) необходимо пересобрать образ и initrd. Об этом ниже по статье!
Конфигурация сети
Для начала настроим нашу сеть для LTSP сервера. Если у вас один сетевой интерфейс, то команда конфигурирования будет выглядеть так:
Если же у вас два сетевых интерфейса, то необходимо сначала назначить интерфейсу который будет смотреть в сторону клиентов статический IP-адрес (например 192.168.67.1 с маской 255.255.255.0). После назначения статического IP-адреса конфигурируем сеть:
Если dnsmasq отказывается запускаться (ругается на используемый порт), то необходимо отключить systemd-resolver. Для этого набираем следующие команды:
И пробуем запустить dnsmasq
Создаем образ для клиента
Далее создаем образ LTSP сервера для тонких клиентов следующей командой:
Приведенная выше команда установит по умолчанию 64-битный образ ubuntu. Если вы предпочитаете 32-разрядный образ, наберите такую команду:
Также можно использовать образы виртуальных машин от VirtualBox. Тогда команда примет вид:
Данной командой мы создаем симлинк на виртуальную машину debian, которая расположена в директории по пути /home/user/VirtualBox\ VMs/debian/ . И сконфигурировали LTSP сервер на этот образ.
Настройка iPXE
Теперь настроим iPXE:
Настройка NFS сервера
Теперь необходимо настроить NFS-сервер. После ввода команды ltsp nfs в директории /etc генерируется директория с конфигурационным файлом для nfs сервера. Откроем её:
В данном файле должны быть указаны следующие параметры:
Директория /srv/ltsp разрешена только для чтения.Если Вы хотите разрешить её ещё и для записи, то укажите вместо параметра ro параметр rw
После, сохраняем файл и перезапускаем NFS-сервер:
Создадим ltsp.img
Имейте в виду, что вам нужно запускать ltsp initrd после каждого обновления пакета LTSP, или при добавлении новых пользователей, или при создании и изменении /etc/ltsp/ltsp.conf
Установка DNS
Если вы выбрали вместо dnsmasq пакет isc-dhcp-server, то вам также понадобится DNS сервер. Самый распространенный на данный момент считается BIND9.
Как настроить зону для DNS на Ubuntu 18.04 смотрим статью — Установка и настройка DNS (bind9) на Ubuntu.
Установка DHCP
Устанавливаем пакет isc-dhcp-server вместо dnsmasq
Конфиг ltsp.conf
Вот мы и подобрались к самому главному. Все доработки с LTSP сервером необходимо делать в конфигурационном файле который находится по адресу /etc/ltsp/ltsp.conf и представляет собой нечто иное как описание глобальных переменных.
Чтобы создать начальный ltsp.conf , выполните следующую команду:
Файл конфигурации разделен на секции:
- Секция [server] оценивается только сервером ltsp.
- Секция [common] оценивается как сервером, так и клиентами ltsp.
- В специальном разделе [clients] можно определить параметры для всех клиентов.Большинство параметров должны быть размещены здесь.
- Разделы MAC-адрес, IP-адрес или имя хоста можно использовать для применения параметров к определенным клиентам. По умолчанию (192.168.67.*).
- Также можно сгруппировать параметры в именованные разделы, такие как [crt_monitor]
Синтаксис данного файла подразумевает что вы не должны использовать пробелы после и до знака = , также вы можете закомментировать строку, используя символ # .
Для проверки ltsp.conf используйте все туже команду
Подробно о параметрах ltsp.conf Вы можете почитать на официальной странички проекта.
Пример настройки ltsp.conf
Чтобы указать имя хоста и пользователя для авторегистрации в клиенте:
Пароль — «pass01» указывается в кодировке base64. Чтобы вычислить его, запускаем в терминале следующие команды:
Чтобы применились все сделанные изменения, нужно перегенерировать initrd и образ командой
После того как вы установили и настроили сервер тонких клиентов, его надо проверить. Для этого на компьютерах, которые используются в качестве тонких клиентов, надо в BIOS выставить загрузку по сети. Для этого нужны сетевые карты способные загружаться по протоколу PXE. Мне повезло и встроенная сетевая карта поддерживала протокол PXE.
Для тех у кого сетевая карта не поддерживает загрузку по сети необходимо проделать следующие действия.
Загрузка iPXE с USB или CD диска
Скачиваем iso-файл для загрузки из под USB или CD диска.
После загрузки записываем данный файл на USB диск или CD диск удобным для вас способом. Для записи на USB можно воспользоваться: из под Windows — rufus, WinSetupFromUSB; из под Linux — команда dd, различные USB прожигатели.
Ну а далее выставляете в BIOS загрузку либо с CD диска либо с USB диска.
Команды iPXE загрузчика
Приведу ряд команд для iPXE загрузчика. После загрузки нажимаем ctrl+B и попадаем в терминал iPXE
Вы можете перечислить сетевые устройства, обнаруженные iPXE с помощью ifstat команды:
и получить IP-адрес с помощью dhcp команда:
Вы можете изучить конфигурацию IP и другие параметры DHCP:
Вы можете загрузить что-либо по сети. В отличие от традиционного PXE ROM, iPXE может загружаться через сеть интернет. Если тестируемая машина подключена к Интернету, вы можете загрузить iPXE демонстрационный скрипт:
Настройка NAT для раздачи интернета тонким клиентам
Если необходимо дать доступ в Сеть для тонких клиентов, то придётся сделать ещё кое-что.
Во-первых, раскомментироваться (убрать # в начале) файла строчку #net.ipv4.ip_forward=1 :
Во-вторых, выполнить пару команд. Последнюю команду надо добавить в конец файла /etc/rc.local перед строчкой exit 0 , чтобы проброс Сети запускался при старте.
где enp4s0 — интерфейс который смотрит в интернет.
На этом на сегодня всё.
Если есть вопросы, то пишем в комментариях.
Также можете вступить в Телеграм канал, ВК или подписаться на Twitter. Ссылки в шапки страницы.
Заранее всем спасибо.
Если вы нашли ошибку, пожалуйста, выделите фрагмент текста и нажмите Ctrl+Enter.
5 комментариев для “Настройка LTSP сервера на Ubuntu 18.04 | LinuxMint 19”
Всем привет может кто знает как обойти ltsp image x86_32 выдает следующее Image does not exist: x86_32
Image doesn’t exist:
LTSP command failed: test image_main: != image_main:
Aborting ltsp
Вы пытаетесь запустить не существующий образ. Сперва необходимо создать образ системы. Если у вас 64 битная система, то образ будет 64 битный. Можно данное ограничение обойти при помощи VirtualBox. Создать там 32 битный образ (обязательно VMDK и обязательно фиксированного размера) и накатить систему.
Доброе утро)))
Надеюсь с моим объявлением оно таким не перестало быть)))? Не выдержал? — проверил вашу статью, переустановив убунту с нуля… захотелось все таки своими ручками, хотя и опасался)) Но все отлично, потратил минимум времени — в одной строчке только опечатка в одну букву… sudo nano /etc/export.d/ltsp-exports должно быть sudo nano /etc/exports.d/ltsp-exports/ В остальном все прошло без заминок))) Клиент работает на ура… gpasswd -a $
1. Добавляем пользователей в настройках системы
2. выполняем команду sudo gpasswd -a имя_добавленного epoptes
3. Переписываем и перегенерируем образ командами
sudo ltsp image /
sudo ltsp initrd
Готово, после перезагрузки у клиентов появятся возможность выбора для своей учетной записи (они у меня для учеников будут с обычным доступом)
Задался следующим вопросом: https://obu4alka.ru/nastrojka-svyazki-dns-dhcp-nat.html — так настрою доступ клиентам в интернет, а то он только на сервере терминалов? И нужно ли мне согласно статье настраивать сетевой мост сначала? Ну а сегодня возьмусь за подключение второго клиента, с которым не повезло — нет возможности загрузки по сети.. В Линукс школьном терминале 5 было все просто… кидал образ специальный, созданный автоматически системой на CD, выставлял загрузку с него и вуаля — загрузка клиента пошла… Такого материала нет у вас в распоряжении?
1) Настройка LTSP сервера — установка ntfsprogs… нет такого.
2) root@debvbox:/ltsp# cat /ltsp/boot/pxelinux.cfg/default — не смог найти это…
3) Конфиг lts.conf — так же не могу найти.
ПС — я две недели с линуксом в поисках истины =)
Начиная отсюда
— где это искать…? Затупил на этом шаге.
Добавить комментарий Отменить ответ
Этот сайт использует Akismet для борьбы со спамом. Узнайте, как обрабатываются ваши данные комментариев.
Источник