Настройка tftpd astra linux

Терминальный сервер LTSP (ltsp-server) на Astra Linux Special Edition

В статье описывается создание сервера терминалов LTSP на базе Astra Linux Special Edition РУСБ.10015-01 (очередное обновление 1.6) с загрузочным образом для бездисковых станций с пробросом usb устройств.

Конфигурация стенда

Стенд состоит из двух виртуальных машин (ВМ):

  1. ВМ с Astra Linux Special Edition РУСБ.10015-01 (очередное обновление 1.6) с обновлением БЮЛЛЕТЕНЬ № 20181229SE16;
  2. ВМ без ОС — тонкий клиент.

На первой машине используются 2 сетевых интерфейса:

  • сетевой интерфейс eth0 подключен к Интернет;
  • сетевой интерфейс eth1 подключен к внутренней, в которой находятся тонкие клиенты.

Настройка сервера

Обновление системы

Включение удаленного доступа

Разрешить удаленный вход в систему:

Панель управления → Система → Вход в систему → Дополнительно — Разрешить удаленный вход в систему (Не забываем перезапустить fly-dm)

Настройка сети

Сеть можно настроить любым предпочтительным способом. Например, с помощью Network Manager. Первый сетевой интерфейс (eth0) подключен к интернет, и настройки получает автоматически. Второму сетевому интерфейсу (eth1) следует задать статический адрес, для примера адрес 192.168.56.100 с маской 24.

При настройке сетевых подключений следует помнить, что имя домена, задаваемое в настройках службы DHCP и в настройках подключения должно быть одно и тоже:

  • В файле /etc/dhcp/dhcpd.conf:
    . option domain-name «example.com».
  • /opt/ltsp/amd64/usr/local/bin/rdp.sh
    . /d:example.com..

При настройке сетевого интерфейса eth1 с помощью Network Manager поле «DNS servers» должно оставаться либо пустым, либо его значение должно совпадать с вышеупомянутым именем домена. Если сетевые подключения настраиваются посредством /etc/network/interfaces, то там также либо указать такое же имя домена, либо не указывать никакое. При несовпадении имён подключение по XDMCP НЕВОЗМОЖНО.

Установка ПО

Для сервера терминалов необходимы следующие пакеты:

  • isc-dhcp-server — DHCP сервер.;
  • tftpd-hpa — сервер tftpd;
  • ltsp-server — скрипты для создания сервера терминалов;
  • xrdp — реализация протокола доступа к удалённому рабочему столу;
Читайте также:  Linux запуск скрипта при входе от пользователя

Установить эти пакеты можно командой:

Ошибки, выводимые при установке dhcp сервера, игнорируем: настройка dhcp будет осуществлена на следующем шаге.

Настройка DHCP сервера

В файле /etc/default/isc-dhcp-server в строке INTERFACECv4=»» указать интерфейс: eth1

Создать конфигурацию для DHCP сервера:

# # Default LTSP dhcpd.conf config file. # authoritative; subnet 192.168.56.0 netmask 255.255.255.0 < range 192.168.56.20 192.168.56.250; option domain-name "example.com"; option broadcast-address 192.168.56.255; option routers 192.168.56.100; next-server 192.168.56.100; # get-lease-hostnames true; option subnet-mask 255.255.255.0; option root-path "/opt/ltsp/amd64"; if substring( option vendor-class-identifier, 0, 9 ) = "PXEClient" < filename "/ltsp/amd64/pxelinux.0"; >else < filename "/ltsp/amd64/nbi.img"; >>

Перезапустить службу DHCP:

Настройка tftpd сервера

В файле /etc/default/tftpd-hpa изменить путь к корню раздаваемого ресурса сервера:

TFTP_DIRECTORY="/var/lib/tftpboot"

Настройка LTSP

Скопировать конфигурационные файлы Debian в каталог /usr/share/ltsp/plugins/ltsp-build-client/AstraLinuxSE:

sudo cp -r /usr/share/ltsp/plugins/ltsp-build-client/Debian /usr/share/ltsp/plugins/ltsp-build-client/AstraLinuxSE

В файле /usr/share/ltsp/plugins/ltsp-build-client/AstraLinuxSE/010-debootstrap с троку

LC_ALL=C $ $DEBOOTSTRAPOPTS --arch $ARCH $DIST $ROOT $MIRROR
LC_ALL=C $ --components "main, contrib, non-free" $DEBOOTSTRAPOPTS --arch $ARCH $DIST $ROOT $MIRROR

Настройка LTSP образа

Монтирование установочного диска

Для создания образа необходимо примонтировать установочный диск (или образ диска) Astra Linux Special Edition РУСБ.10015-01 (очередное обновление 1.6).

Например мы имеем установочный образ smolensk-1.6-20.06.2018_15.56.iso

Сборка образа LTSP

sudo ltsp-build-client —dist smolensk —purge-chroot —security-mirror none —updates-mirror none —mirror » file:///media/cdrom » —components «contrib, main, non-free» —kernel-packages linux-image-generic —early-packages vim

—dist smolensk — собрать образ с системой Astra Linux Special Edition РУСБ.10015-01 (очередное обновление 1.6);

—purge-chroot — очищать директорию с файлами образа ;

—security-mirror none и —updates-mirror none — говорим сборщику не использовать зеркала с обновлениями (если нужно, обновим систему после сборки образа);

—mirror » f ile:///media/cdrom » — указываем репозиторий, откуда ставить систему. В нашем случае это директория с примонтированным установочным диском;

—components «contrib, main, non-free» — используем все компоненты;

—kernel-packages linux-image-generic — установить ядро generic по-умолчанию;

—early-packages vim — установить редактор vim на стадии сборки;

Все опции обязательны, иначе при сборки возникнут ошибки (хотя можно поправить сборочные скрипты, но это долго);

После сборки образ системы появится в каталоге /opt/ltsp/images, а р аспакованная система будет помещена в каталог /opt/ltsp/amd64.

Настройка образа системы

Для работы с распакованным образом будущей системы будем использовать команду ltsp-chroot.

Примонтировать репозитории в каталоги образа:

sudo mkdir /opt/ltsp/amd64/opt/
sudo mount -o loop smolensk-1.6-20.06.2018_15.56.iso / opt/ltsp/amd64/opt/main
sudo mount -o loop devel- smolensk-1.6-20.06.2018_15.56.iso /opt/ltsp/amd64/opt/devel

deb file:///opt/main smolensk main contrib non-free deb file:///opt/devel smolensk main contrib non-free

Выполнить команду для обновления каталога пакетов:

Читайте также:  Linux create boot flash

sudo ltsp-chroot apt install ltsp-client-core parsec linux-astra-modules-generic xorg-all-main fly-dm freerdp2-x11 zenity

В /opt/ltsp/amd64/etc/ltsp/update-kernels.conf указать тип загружаемого образа: NBD

# Supported booth methods BOOT_METHODS="NBD"
X_ARGS="$X_ARGS -query $ -displayID 0:63:0x0:0x0"

Для разрешения rdp подключений в файле /opt/ltsp/amd64/usr/share/ltsp/screen.d/xfreerdp привести последнюю строку к виду

exec xinit /usr/share/ltsp/xinitrc /usr/local/bin/rdp.sh -- "$DISPLAY" "vt$" -nolisten tcp $X_ARGS >/dev/null

Привести файл /opt/ltsp/amd64/usr/local/bin/rdp.sh к виду:

#!/bin/bash userdata=$(zenity --forms --title="Вход на сервер" --text="Форма авторизации" --add-entry="Логин:" --add-password="Пароль:"); userlogin="`echo $userdata|cut -d '|' -f 1`"; userpassword="`echo $userdata|cut -d '|' -f 2`"; xfreerdp /v:192.168.56.100 /cert-ignore +sec-nla /d:example.com /u:$userlogin /p: $userpassword /f /drive:usb,/media /network:lan /printer

И сделать его исполняемым:

sudo ltsp-chroot systemctl disable fly-dm
sudo ltsp-chroot update-initramfs -uk all
sudo ltsp-config —overwrite lts.conf

Привести файл /var/lib/tftpboot/ltsp/amd64/lts.conf к виду:

[default] LTSP_CONFIG=True #SOUND=False XSERVER=vesa LOCALDEV=True HOTPLUG=True DNS_SERVER=192.168.56.100 SOUND=True MIC_VOLUME=0 CAPTURE_VOLUME=100 CAPTURE_SWITCH=toggle TIMEZONE=Europe/Moscow TIMESERVER=192.168.56.100 SYSLOG_HOST=192.168.56.100 NBD_SWAP=False #NBD_SWAP_SERVER=192.168.56.100 #CONFIGURE_X=False SCREEN_07=xfreerdp PRINTER_O_DEVICE=/dev/usb/lp0 PRINTER_0_TYPE=U

Для того, чтобы по умолчанию подключение выполнялось по протоколу XDMCP опцию SCREEN_07=xfreerdp следует изменить на SCREEN_07=xdmcp.

Автомонтирование usb

Создать файл /opt/ltsp/amd64/etc/udev/rules.d/udev.rules:

ACTION=="add", KERNEL=="sd[a-z]5", TAG+="systemd", ENV="usbstick-handler@%k"
[Unit] Description=Mount USB BindsTo=dev-%i.device After=dev-%i.device [Service] Type=oneshot RemainAfterExit=yes ExecStart=/usr/local/bin/automount %I ExecStop=/usr/bin/pumount /dev/%I

И сценарий для монтирования:

#!/bin/bash PART=$1 FS_LABEL=`lsblk -o name,label | grep $ | awk ''` if [ -z $ ] then /usr/bin/mount -t auto /dev/$ /media/$ else /usr/bin/mount -t auto /dev/$ /media/$ _$ fi

Установить права, разрешающие выполнение сценария:

Загрузка образа

Источник

Настройка tftpd astra linux

Установка ОС Astra Linux SE 1.6 по сети без ошибок

06.03.2020

Установка ОС Astra Linux SE 1.6 по сети без ошибок

Коллеги! Обещанного 3 года ждут, но тем не менее. Многие помнят проблему Astra Linux SE релиза 1.6 с сетевой установкой, не решенную, кстати, до сих пор. Но прогресс не стоит на месте и найден путь ee обхода. Теперь мы можем в полной мере наслаждаться преимуществами сетевой инсталляции Astra! Выход этой статьи приурочен к 8 марта, так что еще раз присоединяюсь к поздравлениям нашим прекрасным дамам и желаю счастья, красоты и здоровья! А теперь заканчиваем затянувшуюся музыкальную паузу и дружно приступаем к инсталляции!

1. Установка пакетов

Установить и настроить пакеты isc-dhcp-server и http (возможно vsftpd).
В файле конфигурации dhcp-сервера /etc/dhcp/dhcpd.conf добавить строки, описывающие сервер сетевой установки pxe (выделено красным):

subnet 10.0.2.0 netmask 255.255.255.0

range 10.0.2.10 10.0.2.100;
max-lease-time 86400;
filename «pxelinux.0»;
next-server 10.0.2.15;
>

Читайте также:  Hstnc 012 tc linux

Чтобы сервис начал работу с новыми настройками, его нужно перезапустить:

sudo systemctl restart isc-dhcp-server

Установить пакет tftpd-hpa. Установить его можно из графического менеджера пакетов, или из командной строки командой:

sudo apt install tftpd-hpa apache2*

2. Настройка tftp-hpa

Настройки пакета хранятся в файле /etc/default/tftpd-hpa . Приведём его к следующему виду (жирным шрифтом выделены рекомендованные к добавлению параметры):

# /etc/default/tftpd-hpa
TFTP_USERNAME=»tftp»
TFTP_DIRECTORY=»/srv/tftp»
TFTP_ADDRESS=»0.0.0.0:69″
TFTP_OPTIONS=»–secure»
TFTP_OPTIONS=»—ipv4 —secure —create —umask 027 —permissive»

Чтобы сервис начал работу с новыми настройками, его нужно перезапустить:

sudo systemctl restart tftpd-hpa

3. Подготавливаем репозиторий (http) для сетевой установки.

Создаем директории для монтирования репозитория:

mkdir /var/www/ html/astra
mount /dev/cdrom /var/www/html/astra

Кладем в /var/www/html файл preceed.cfg * (ниже будет рассказано, как его получить)

Проверяем его работу через firefox:

Если дерево директорий не видно, тогда выполняем:

echo «AstraMode off» >> /etc/apache2/apache2.conf
systemctl restart apache2

Проверяем наличие файлов через firefox

Изменилась ли картинка? Почему? (ответ: отключили принудительную аутентификацию)

Изменяем /etc/apt/sources.list следующим содержимым:

#deb cdrom:[OS Astra Linux 1.6 smolensk — amd64 DVD ]/ smolensk contrib main non-free
deb http://10.0.2.15/astra smolensk main contrib non-free

4. Размещение данных для загрузки

В каталог /srv/tftp поместить содержимое каталога netinst и библиотеку ldlinux.c32 с установочного диска:

sudo cp /var/www/html/astra/netinst/* /srv/tftp/
sudo cp /var/www/html/astra/isolinux/ldlinux.c32 /srv/tftp/

Создать в /srv/tftp директорию pxelinux.cfg

sudo mkdir /srv/tftp/pxelinux.cfg

В этой директории создать файл default . Содержимое файла default для полной автоматизации должно содержать параметры, передаваемые файлу preseed.cfg:

/srv/tftp/pxelinux.cfg/default

*В примере предполагается, что IP-адрес сервера для загрузки 10.0.2.15

DEFAULT astra
LABEL astra
kernel linux
append initrd=initrd.gz vga=788 auto=true priority=critical astra-license/license=true url= http://10.0.2.15/preseed.cfg interface=auto netcfg/dhcp_timeout=60
TIMEOUT 5

Файл preesed.cfg из вложения является рабочим образцом. Подготовленный файл ответов preseed.cfg (можно скачать по ссылке https://edu.fors.ru/preseed.cfg ) и положить в директорию /var/www/html

В файле preseed.cfg с помощью текстового редактора изменить источник, из которого должны будут скачиваться пакеты при установке, например репозиторий, а также иные параметры!

Выставить права на этот файл:

chmod 664 /var/www/html/preseed.cfg

Получить файл ответов на вашей системе с эталонной инсталляцией можно, выполнив команду:

sudo debconf-get-selections —installer > preseed.cfg из пакета debconf-utils на ранее установленной типовой системе.

Поздравляю! Ваша система прокачана готова к безошибочной установке по сети!

Устанавливайте в BIOS на клиентской машине загрузку по сети и наслаждайтесь!

Источник

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