[Из песочницы] Как я мучился поднимая LTSP со сторонним TFTP-сервером

image

Совсем не давно на Хабрахабре появилась развернутая статья про поднятие терминального сервера на Linux. Она очень привлекает своим содержимым и показывает простоту настройки такого решения.

В нашей сети уже есть схожее решение основанное на Windows Server 2008 R2 с отдельным TFTP-сервером. И в этом то и была моя проблема. Ниже приведу кусок конфига от PXE. По этому прошу пот кат.

LABEL ltsp
 KERNEL 10.0.20.8::/ltsp/i386/vmlinuz
 APPEND initrd=10.0.20.8::/ltsp/i386/initrd.img root=/dev/nbd0 nbdroot=10.0.20.8,2000 ip=dhcp selinux=0 init=/sbin/init-ltsp —


Так как мы используем сторонний tftp-сервер, то мы должны использовать другой формат отдачи образа. Он легко гуглится по слову «oldstyle». По этому сразу после установки и настройки сервера, а так же содержимого клиентов, мы делаем dpkg-reconfigure nbd-server и отвечаем на вопросы:

  • Поддерживать порты: Да
  • Число экземпляров: 1 (у вас может быть больше)
  • Указываем путь к образу: /opt/ltsp/images/i386.img
  • Номер порта: 2000
  • Имя экспорта: любое (в моем случает ltsp)


Теперь при загрузки машины из сети мы не видим ошибок и получаем по NBD образ клиента, который разворачивается на нашей машине. Если попробовать ввести данные для авторизации мы получим »Нет ответа от сервера, перезагрузка». И тут весь подвох.

Опять же, при использовании стороннего tftp-сервера игнорируется содержимое папки /var/lib/tftpboot/ltsp/i386/, а соответственно и игнорируется конфиг lts.conf в котором указаны все данные для клиента. Чтобы исправить это, нам необходимо обновить lts.conf который мы используем в образе. Для этого мы идем в /opt/ltsp/i386/etc/lts.conf и указываем всё там. В моём случае это адрес сервера:

  • SERVER=10.0.20.8
  • остальную часть lts.conf Вы можете взять в оригинале статьи


После проделанных процедур, мы обновляем образ командой ltsp-update-image и можем подключаться с терминалов.

Отдельное спасибо хочу выразить автору статьи про LTSP @kvaps.

© Habrahabr.ru