Архив метки: Linux

Настройка 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




Для начала приведем систему в актуальное состояние:




sudo apt update && sudo apt dist-upgrade -y




Теперь давайте добавим официальный репозиторий LTSP сервера.




Ubuntu




sudo add-apt-repository ppa:ltsp --yes && sudo apt update




Debian




sudo wget https://ltsp.org/misc/ltsp-ubuntu-ppa-focal.list -O /etc/apt/sources.list.d/ltsp-ubuntu-ppa-focal.list
sudo wget https://ltsp.org/misc/ltsp_ubuntu_ppa.gpg -O /etc/apt/trusted.gpg.d/ltsp_ubuntu_ppa.gpg
sudo apt update




Теперь можно приступить к установке LTSP сервера и его зависимостей.




sudo apt install --yes --install-recommends ltsp ltsp-binaries dnsmasq nfs-kernel-server openssh-server squashfs-tools ethtool net-tools epoptes




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




Добавляем пользователей в ltsp сервер




Добавим нашего пользователя в группу epoptes c правами sudo




sudo gpasswd -a ${SUDO_USER:-$USER} epoptes




Для добавления обычного пользователя набираем:




sudo gpasswd -a user1 epoptes




Конечно пользователь user1 должен существовать на машине “родители”. Добавить пользователя в систему:




sudo adduser user1




После внесения изменений (пользователей) необходимо пересобрать образ и initrd. Об этом ниже по статье!




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




Для начала настроим нашу сеть для LTSP сервера. Если у вас один сетевой интерфейс, то команда конфигурирования будет выглядеть так:




sudo ltsp dnsmasq




Если же у вас два сетевых интерфейса, то необходимо сначала назначить интерфейсу который будет смотреть в сторону клиентов статический IP-адрес (например 192.168.67.1 с маской 255.255.255.0). После назначения статического IP-адреса конфигурируем сеть:




sudo ltsp dnsmasq --proxy-dhcp=0




Если dnsmasq отказывается запускаться (ругается на используемый порт), то необходимо отключить systemd-resolver. Для этого набираем следующие команды:




sudo systemctl stop systemd-resolver.service
sudo systemctl disable systemd-resolver.service




И пробуем запустить dnsmasq




sudo /etc/init.d/dnsmasq restart
sudo ltsp dnsmasq --proxy-dhcp=0




Создаем образ для клиента




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




sudo ltsp image /




Приведенная выше команда установит по умолчанию 64-битный образ ubuntu. Если вы предпочитаете 32-разрядный образ, наберите такую команду:




sudo ltsp image x86_32




Также можно использовать образы виртуальных машин от VirtualBox. Тогда команда примет вид:




sudo ln -s "/home/user/VirtualBox VMs/debian/debian-flat.vmdk" /srv/ltsp/debian.img
ltsp image debian




Данной командой мы создаем симлинк на виртуальную машину debian, которая расположена в директории по пути /home/user/VirtualBox VMs/debian/. И сконфигурировали LTSP сервер на этот образ.




Настройка iPXE




Теперь настроим iPXE:




sudo ltsp ipxe




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




sudo ltsp nfs




Теперь необходимо настроить NFS-сервер. После ввода команды ltsp nfs в директории /etc генерируется директория с конфигурационным файлом для nfs сервера. Откроем её:




sudo nano /etc/exports.d/ltsp-nfs.exports




В данном файле должны быть указаны следующие параметры:




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




Директория /srv/ltsp разрешена только для чтения.Если Вы хотите разрешить её ещё и для записи, то укажите вместо параметра ro параметр rw




/srv/ltsp    *(rw,no_root_squash,async,no_subtree_check)




После, сохраняем файл и перезапускаем NFS-сервер:




sudo /etc/init.d/nfs-kernel-server restart




либо




sudo exportfs -ra




Создадим ltsp.img




sudo ltsp initrd




Имейте в виду, что вам нужно запускать ltsp initrd после каждого обновления пакета LTSP, или при добавлении новых пользователей, или при создании и изменении /etc/ltsp/ltsp.conf




Установка DNS




Если вы выбрали вместо dnsmasq пакет isc-dhcp-server, то вам также понадобится DNS сервер. Самый распространенный на данный момент считается BIND9.




sudo apt install bind9




Как настроить зону для DNS на Ubuntu 18.04 смотрим статью – Установка и настройка DNS (bind9) на Ubuntu.




Установка DHCP




Устанавливаем пакет isc-dhcp-server вместо dnsmasq




sudo apt install isc-dhcp-server -y




Как настроить DHCP на Ubuntu 18.04 смотрим статью – Установка и настройка DHCP (isc-dhcp-server) на Ubuntu.




Конфиг ltsp.conf




Вот мы и подобрались к самому главному. Все доработки с LTSP сервером необходимо делать в конфигурационном файле который находится по адресу /etc/ltsp/ltsp.conf и представляет собой нечто иное как описание глобальных переменных.




Чтобы создать начальный ltsp.conf, выполните следующую команду:




sudo install -m 0660 -g sudo /usr/share/ltsp/common/ltsp/ltsp.conf /etc/ltsp/ltsp.conf




Файл конфигурации разделен на секции:




  • Секция [server] оценивается только сервером ltsp.
  • Секция [common] оценивается как сервером, так и клиентами ltsp.
  • В специальном разделе [clients] можно определить параметры для всех клиентов.Большинство параметров должны быть размещены здесь.
  • Разделы MAC-адрес, IP-адрес или имя хоста можно использовать для применения параметров к определенным клиентам. По умолчанию (192.168.67.*).
  • Также можно сгруппировать параметры в именованные разделы, такие как [crt_monitor]




Синтаксис данного файла подразумевает что вы не должны использовать пробелы после и до знака =, также вы можете закомментировать строку, используя символ #.




Для проверки ltsp.conf используйте все туже команду




sudo ltsp initrd




Подробно о параметрах ltsp.conf Вы можете почитать на официальной странички проекта.




Пример настройки ltsp.conf




Чтобы указать имя хоста и пользователя для авторегистрации в клиенте:




[3c:07:71:a2:02:e3]
HOSTNAME=pc01
AUTOLOGIN=user01
PASSWORDS_PC01="user01/cGFzczAxCg=="




Пароль – “pass01” указывается в кодировке base64. Чтобы вычислить его, запускаем в терминале следующие команды:




base64
pass01
<press Ctrl+D at this point>
cGFzczAxCg==







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




sudo ltsp initrd
sudo ltsp image /




После того как вы установили и настроили сервер тонких клиентов, его надо проверить. Для этого на компьютерах, которые используются в качестве тонких клиентов, надо в 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команды:




iPXE> ifstat




и получить IP-адрес с помощью dhcp команда:




iPXE> dhcp




Вы можете изучить конфигурацию IP и другие параметры DHCP:




iPXE> route




Вы можете загрузить что-либо по сети. В отличие от традиционного PXE ROM, iPXE может загружаться через сеть интернет. Если тестируемая машина подключена к Интернету, вы можете загрузить iPXE демонстрационный скрипт:




iPXE> chain http://boot.ipxe.org/demo/boot.php




Настройка NAT для раздачи интернета тонким клиентам




Если необходимо дать доступ в Сеть для тонких клиентов, то придётся сделать ещё кое-что.




Во-первых, раскомментироваться (убрать # в начале) файла строчку #net.ipv4.ip_forward=1:




sudo nano /etc/sysctl.conf




net.ipv4.ip_forward=1




Во-вторых, выполнить пару команд. Последнюю команду надо добавить в конец файла /etc/rc.local перед строчкой exit 0, чтобы проброс Сети запускался при старте.




sudo nano /etc/rc.local




sudo sysctl -p sudo iptables -t nat -A POSTROUTING -o enp4s0 -j MASQUERADE




  • enp4s0 – интерфейс который смотрит в интернет.




На этом на сегодня всё!!!



[endtxt]




RSS



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


2019-09-14T16:10:33
LTSP

Защита PostgreSQL с помощью Fail2ban

В сегодняшней статье я расскажу как можно защитить PostgreSQL от атак перебора паролем или как его ещё называют – от Брутфорса (Brute Force).

После установки и настройки PostgreSQL Вы скорее всего задумывались о том, каким способом защитить вашу базу данных.

Один из способов это установка fail2ban, который на Ubuntu доступен в официальном репозитории. Но из коробки он работает только для SSH.

Давайте же разберемся, как включить его дня защиты postgresql. Читать

Команда history в Linux

В операционной системе Linux в терминальном режиме есть возможность посмотреть историю команд. Все последние команды (около 1000 по умолчанию), которые вводились в командной строке сохраняются, их можно вывести на экран. Чтобы не вводить сложные названия утилит вместе с опциями, система позволяет вернуть раннее введенную команду и выполнить ее еще раз.

Читать

Чем создавать бэкапы на Linux?

Вряд ли нужно говорить об этом, но хранение и поддержание целостности вашей операционной системы, личной информации и личных файлов — это основа управления данными. Хотя в Linux бедствия случаются редко, защита ваших данных от сбоев системы, поврежденных файлов и утерянных или украденных компьютеров все еще является абсолютной необходимостью.

Резервное копирование ваших файлов защищает ваши данные от повреждения и восстанавливает ваши данные в маловероятном случае, если что-то пойдет не так. Linux упрощает резервное копирование файлов для новых пользователей на своей платформе. Если вы хотите включить все это в автопилот или управлять мелкими элементами резервного файла по файлу или по папке за папкой, Linux может предоставить точные резервные копии с высокой степенью настройки.

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

Ниже приведены несколько способов автоматизации резервного копирования файлов в Linux.

Используйте Dropbox

Одна из популярных платформ облачного хранения — Dropbox. Он будет размещать и синхронизировать ваши данные на нескольких устройствах.

Когда вы загружаете Dropbox в вашу систему Linux, он создает специальную папку на вашем компьютере. Он также синхронизирует ваши файлы со всеми устройствами и компьютерами, на которых установлен клиент Dropbox.

Существует бесплатная версия, которая позволяет 2 ГБ свободного места. У вас также есть возможность обновить, если вам нужно больше.

Ниже приведены простые шаги по установке Dropbox для Ubuntu 18.04. Чтобы использовать установщик Dropbox, сначала необходимо установить GDebi .

Сначала откройте терминал и наберите:

  $ sudo apt-get install gdebi

Это установит GDebi, который вам нужен для запуска установки Dropbox. Теперь скачайте Dropbox с официального сайта. Выберите подходящий пакет для вашего рабочего стола Linux.

Когда вы сначала установили GDebi, вы должны увидеть всплывающее окно из установщика пакетов с кнопкой, чтобы нажать «Установить пакет».

Если вы сначала не установили GDebi, вы можете использовать эту команду для ручной установки Dropbox в Терминале.

  $ sudo gdebi dropbox_2015.10.28_amd64.deb

Теперь вы увидите всплывающее окно с просьбой запустить Dropbox для завершения установки. Нажмите Запуск Dropbox.

Чтобы загрузить демон свойства (фоновый процесс), нажмите кнопку ОК.

После завершения загрузки выйдите из всплывающего окна. Страница входа в Dropbox автоматически откроется в вашем веб-браузере.

Если у вас уже есть аккаунт Dropbox, войдите в систему. Если у вас его нет, зарегистрируйтесь.

В процессе установки на рабочем столе Ubuntu появится папка Dropbox . Данные в этой папке будут синхронизироваться на всех устройствах, на которых вы установили Dropbox, а также на веб-сайте Dropbox.

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

Bacula

Bacula — одно из самых популярных и широко используемых решений для восстановления и резервного копирования в Linux. Это открытый исходный код и позволяет пользователям:

  • Резервные данные.
  • Проверьте данные в сети.
  • Восстановление поврежденных или потерянных файлов быстро.

Есть две версии Bacula. Базовая версия включает в себя все функции, необходимые для резервного копирования и восстановления ваших файлов. Если вы ищете более продвинутые функции, они также предлагают корпоративное решение.

С помощью Bacula вы можете запускать его целиком на одном компьютере и выполнять резервное копирование данных на другие типы носителей, например на диск и ленту. Это эффективный и относительно простой в использовании. Bacula масштабируется благодаря модульной конструкции и работает на одном компьютере, а также в обширной сети с сотнями машин.

Bacula не требует вмешательства, поскольку это автоматизированная задача, если она настроена через веб-интерфейс, консоль командной строки или графический интерфейс.

Чтобы узнать, как установить Bacula, прочитайте Руководство по установке Bacula Community.

Программное обеспечение FlyBack

FlyBack — это программа, которая создает резервные копии и восстанавливает ваши файлы. Это инструмент для создания снимков, основанный на rsync (команда для копирования и синхронизации каталогов и файлов как локально, так и удаленно).

Функциональность похожа на Mac OS Time Machine, создавая последовательные каталоги резервного копирования, которые отражают файлы, которые вы хотите сделать резервную копию.

Он также жестко связывает неизмененные файлы с вашей предыдущей резервной копией. Используя Flyback, пользователи не будут тратить впустую дисковое пространство, в то же время это позволяет им иметь доступ к своим файлам без программы восстановления.

Если вы выполняете резервное копирование на внешний диск, и ваш компьютер дает сбой, вы можете перенести внешний диск на новое устройство. Используя любой браузер, вы можете скопировать свою последнюю резервную копию.

Некоторые функции включают в себя возможность:

  • Расписание нескольких резервных копий.
  • Автоматически запускать выборочные резервные копии.
  • Расписание, когда автоматически удалять старые резервные копии.
  • Имейте контроль над расположением резервной копии, а также над тем, что включать или исключать.
  • Сканирование структуры каталогов в процессе резервного копирования.
  • Выполните резервное копирование любого каталога в любое место, включая внешний диск.

Relax-и-Recover

Также называемый ReaR, Relax-and-Recover — это инструмент для резервного копирования ваших файлов в Linux. Это верно для его имени в том, что после того, как вы установите и настроите его, вам больше ничего не нужно делать. Резервное копирование и восстановление ваших файлов выполняется автоматически.

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

fwbackups

Еще один бесплатный инструмент с открытым исходным кодом — fwbackups. Это простой, но мощный инструмент, позволяющий легко выполнять резервное копирование.

Планируйте резервное копирование на удаленные компьютеры и никогда не беспокойтесь о потере данных. Некоторые из его многочисленных функций включают в себя:

  • Гибкая конфигурация резервного копирования.
  • Простой интерфейс
  • Возможность резервного копирования всех ваших файлов.
  • Исключение каталогов или файлов из резервной копии.

Бесплатное программное обеспечение Fwbackups с открытым исходным кодом является кросс-платформенным и обладает широкими возможностями. Простой и интуитивно понятный интерфейс позволяет легко создавать резервные копии файлов.



2019-08-30T12:31:52
Вопросы читателей

Как в fail2ban удалить заблокированный ip-адрес

Как в fail2ban удалить заблокированный ip-адрес с установленной операционной системой Linux

Для того, чтобы удалить, нужно вывести список адресов, которые были заблокированы. Читать

Ubuntu Linux: добавление и удаление пользователей в группы

Даже если вы относительно опытный пользователь Linux, группы могут быть не тем, о чем вы часто думаете. Во многих случаях основные группы, созданные при создании нового пользователя при настройке системы, — это все, что вам нужно.

Тем не менее, когда вы управляете своей системой, вы можете столкнуться с ситуациями, когда вам нужно добавить пользователя в группу. Добавить или удалить пользователя из группы в Ubuntu легко, вы, возможно, еще не знаете, как это сделать.

Какие группы используются в Linux

Группа в Linux — это как раз то, на что это похоже: группа пользователей. Они используются для управления разрешениями для нескольких пользователей вместо их изменения для каждого пользователя. Стоит разбираться в группах, так как эта концепция используется в Unix-подобных операционных системах в целом, а не только в Linux.

Пользователь должен принадлежать хотя бы к одной группе. Это основная группа пользователя. Пользователь может и обычно принадлежит к другим группам, известным как вторичные группы. Часто существует ограничение на количество вторичных групп, к которым может принадлежать пользователь, но это не то, с чем вы часто сталкиваетесь.

Добавить пользователя в группу в Ubuntu

Есть две команды, которые вы должны знать, когда хотите добавить пользователя в группу в Linux. Это команда groups и команда usermod. Первый позволяет увидеть, какие группы вы уже назначены. Просто запустите следующее:

groups

Прежде чем добавить пользователя в группу, вы хотите убедиться, что пользователь действительно существует. Для этого вы можете использовать команду getent. Чтобы получить список всех групп, выполните следующее:

getent group

Вы увидите список групп, а также список назначенных им пользователей.

Чтобы добавить пользователя в группу, используйте команду usermod. Как правило, вы делаете это с помощью команды, подобной следующей:

sudo usermod -a -G group username

С помощью приведенной выше команды замените group на имя группы, в которую вы хотите добавить пользователя, и username на имя пользователя. Например:

sudo usermod -a -G sudo kwouk

Это позволило бы пользователю использовать команду sudo. Поскольку только пользователи в этой группе могут использовать sudo , вы можете запустить команду usermod если вы уже в этой группе.

Хотя это руководство посвящено Ubuntu, для добавления пользователя в группу в других дистрибутивах вы должны использовать те же самые шаги.

Создание новой группы в Ubuntu

Иногда вы сталкиваетесь с ситуациями, когда вам нужно добавить пользователя в группу, но эта группа не существует. В этом случае вам нужно будет создать группу самостоятельно, куда входит команда groupadd.

Эта команда очень проста в использовании. Просто запустите его под sudo с названием группы, которую вы хотите создать. Например:

sudo groupadd newgroup

Вышеприведенное приведет к созданию группы, известной как «новая группа». Эта команда может не выполняться, но для установки определенного программного обеспечения может потребоваться создание новых групп. Чтобы добавить пользователя в группу, которую вы только что создали, выполните те же действия, как описано выше.

Удалить пользователя из группы в Ubuntu

Теперь вы знаете, как добавить пользователя в группу в Linux, но как насчет удаления его из группы? Это может варьироваться в разных дистрибутивах Linux, но, к счастью, в Ubuntu легко удалить пользователя из группы.

Команда deluser, как следует из названия, часто используется для полного удаления пользователя. Вы также можете использовать его в Ubuntu для удаления пользователя из группы, а также в других дистрибутивах, таких как Debian, где также доступен пакет. Чтобы удалить пользователя из группы, используйте команду следующим образом:

sudo deluser username groupname

Всегда проверяйте, что имя группы присутствует дважды. Если вы запустите команду без имени группы, она просто полностью удалит пользователя. Например, следующая команда удалит пользователя из группы «sudo».

sudo deluser kwouk sudo

Если вы опустите последний «sudo» в приведенной выше команде, он удалит пользователя «kwouk».

Это может помочь дважды проверить, к каким группам уже назначен пользователь. Для этого просто запустите следующее:

sudo groups username

Простой способ добавления и удаления пользователей из групп

Многие люди предпочли бы использовать графический инструмент в Ubuntu для добавления пользователей и удаления их из групп. Если вам часто приходится это делать и вы не предпочитаете работать из командной строки, это может значительно облегчить вашу работу. К счастью, это не только возможно, но и просто.

Для этого вам необходимо установить пакет «gnome-system-tools», который содержит несколько различных утилит. Нас интересует только приложение «Пользователи и группы», но нам все равно нужно установить весь пакет. Для этого выполните следующую команду:

sudo apt install gnome-system-tools

Ответьте «да» на запросы, затем дождитесь загрузки и установки пакетов. После завершения установки запустите приложение «Пользователи и группы».

С левой стороны вы увидите список пользователей вашей системы. Чтобы добавить и удалить пользователей из групп, нажмите «Управление группами». Вы увидите список всех групп, доступных в вашей установке Ubuntu. Чтобы добавить пользователей в группы, нажмите «Свойства» и установите флажок рядом с их именами. Удалить пользователей из групп, сняв флажок.

Новые способы управления разрешениями в Ubuntu

Хотя его Unix-корни восходят к 1970-м годам, Linux постоянно развивается. Это не только означает лучшую аппаратную поддержку и настройки производительности. По мере развития Linux мы видим все больше способов управления пользователями и разрешениями.

Помимо прочего, в Ubuntu 19.10 добавлена ​​версия 3.32 для Gnome, в которую добавлен контроль прав доступа к приложениям. Это позволит вам использовать разрешения приложения в стиле смартфона. Хотя эта функция все еще находится в зачаточном состоянии, она может сделать рабочий стол Linux более безопасным.



2019-08-19T09:41:04
Вопросы читателей