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

Не запускаются файлы из сети | Samba

Раз вы тут, значит у вас возникла проблема с запуском исполняемых файлов по сети, расположенных на сервере Ubuntu.




После настройки и запуска файлового сервера Samba на Ubuntu Server, а также открытие общего доступа к определенным директориям на нем, может возникнуть проблема с доступом для запуска исполняемых файлов по сети.




Рассмотрим пример данной проблемы.




Домашняя сеть




Имеем настроенный файловый сервер Samba на Ubuntu Server 18.04.




Также установлен transmission-daemon для скачивания чего либо через торрент. Transmission настроен для автоматического сканирования определенной директории на сервере и запуску данного торрент-файла после появления его в данной директории. После завершения скачивания файл помещается в директорию, которая открыта в Samba для общего доступа по сети.




Также в наличии имеется два ноутбука с установленной Windows 7 и один ПК на Windows 10.




Ошибка открытия файла по сети




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




Но вот запустить и установить что-либо через локальную сеть не получается (для установки программ с расширением .exe, .iso и т.д. их приходится скачивать с сервера к себе на ПК)




Решаем проблему открытия файла по сети




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




Было обнаружено, что после скачивания файлов transmission сохраняет их в директории с правами 644, т.е. запрещает их запуск. Настроенный файловый сервер Samba, также сохраняет файлы с правами 644.




Я полез в настройки Samba. Найдя параметр create mask в которой было выставлено 644, я изменил значения на 755, но не тут то было. Попробовав сохранить тестовый файл в расшаренную директорию с Window машины, самбо сохранил его с правами 744. Ладно, роем дальше. Почитав man Samba я нашёл ещё один параметр отвечающий за назначение прав доступа на файл – force create mode. Добавляю этот параметр в файл smb.conf




sudo nano /etc/samba/smb.conf




force creat mode = 777




После этих манипуляций файловый сервер Samba всем файлам прошедшим через него стал назначать права доступа 777.




Конечный результат выглядит следующим образом:




[Downloads]
   path = /home/Downloads
   writeable = yes       
   guest ok = yes               
   comment = Общая папка        
   create mask = 0777        
   directory mask = 0777    
   force create mode = 0777  
   force directory mode = 0777




Что же касается transmission, то в его настройках присутствует параметр umask. Этот параметр записывается в десятичном коде, то есть umask = 18 назначит права на файл 755.




Пример перевода из восьмеричной системы в десятичную:




1234 = (1·83)+(2·82)+(3·81)+(4·80) = 1·512 + 2·64 + 3·8 + 4·1 = 668




Чтобы поменять права на 777, необходимо выставить значение umask равной 0, также на директорию в самой ОС Ubuntu, в которую будут сохраняться наши скачанные файлы, необходимо выставить права на доступ равной 777. Для этого подключитесь к серверу через ssh и наберите следующее:




sudo chmod -R 777 /home/Downloads




Путь /home/Downloads измените на свой.




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



[endtxt]




RSS




2019-09-29T07:00:21
Samba

Установка transmission – torrent клиент на Ubuntu Server

Сегодня рассмотрим Установка transmission на Ubuntu Server 18.04/20.04




Transmission – простой BitTorrent-клиент c открытым исходным кодом. Transmission – свободное программное обеспечение, большей частью под лицензией GNU GPL с небольшими фрагментами под лицензией MIT.




Transmission на Ubuntu Server




В этой статье я опишу как можно запустить полноценный торрент клиент на серверной части дистрибутива Ubuntu. В качестве торрента будем использовать transmission-daemon. Основное отличие Transmission-daemon от Transmission заключается в том, что это все таки демон, а значит наш торрент может работает в серверной части дистрибутива Ubuntu.




Установка transmission-daemon




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




sudo apt update && sudo apt upgrade -y
sudo apt install transmission-daemon -y




Настройка transmission-daemon




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




sudo service transmission-daemon stop




Далее настроим файла конфигурации transmission-daemon.

Переходим в директорию с программой:




cd /etc/transmission-daemon




Открываем файл settings.json для его изменения:




sudo nano settings.json




Пример файла с настройками:




{
    "alt-speed-down": 50, 
    "alt-speed-enabled": false, 
    "alt-speed-time-begin": 540, 
    "alt-speed-time-day": 127, 
    "alt-speed-time-enabled": false, 
    "alt-speed-time-end": 1020, 
    "alt-speed-up": 50, 
    "bind-address-ipv4": "0.0.0.0", 
    "bind-address-ipv6": "::", 
    "blocklist-enabled": false, 
    "blocklist-url": "http://www.example.com/blocklist", 
    "cache-size-mb": 4, 
    "dht-enabled": true, 
    "download-dir": "/home/Ваш_пользователь/Downloads", 
    "download-limit": 100, 
    "download-limit-enabled": 0, 
    "download-queue-enabled": true, 
    "download-queue-size": 5, 
    "encryption": 1, 
    "idle-seeding-limit": 30, 
    "idle-seeding-limit-enabled": false, 
    "incomplete-dir": "/home/Ваш_пользователь/Downloads/.incomplete", 
    "incomplete-dir-enabled": false, 
    "lpd-enabled": false, 
    "max-peers-global": 200, 
    "message-level": 2, 
    "peer-congestion-algorithm": "", 
    "peer-limit-global": 240, 
    "peer-limit-per-torrent": 60, 
    "peer-port": 51413, 
    "peer-port-random-high": 65535, 
    "peer-port-random-low": 49152, 
    "peer-port-random-on-start": false, 
    "peer-socket-tos": "default", 
    "pex-enabled": true, 
    "port-forwarding-enabled": false, 
    "preallocation": 1, 
    "prefetch-enabled": 1, 
    "queue-stalled-enabled": true, 
    "queue-stalled-minutes": 30, 
    "ratio-limit": 2, 
    "ratio-limit-enabled": false, 
    "rename-partial-files": true, 
    "rpc-authentication-required": false, 
    "rpc-bind-address": "0.0.0.0", 
    "rpc-enabled": true, 
    "rpc-password": "Пароль", 
    "rpc-port": 9091, 
    "rpc-url": "/transmission/", 
    "rpc-username": "Пользователь", 
    "rpc-whitelist": "127.0.0.*,192.168.1.*", 
    "rpc-whitelist-enabled": true, 
    "scrape-paused-torrents-enabled": true, 
    "script-torrent-done-enabled": false, 
    "script-torrent-done-filename": "", 
    "seed-queue-enabled": false, 
    "seed-queue-size": 10, 
    "speed-limit-down": 1500, 
    "speed-limit-down-enabled": false, 
    "speed-limit-up": 1000, 
    "speed-limit-up-enabled": false, 
    "start-added-torrents": true, 
    "trash-original-torrent-files": true, 
    "umask": 18, 
    "upload-limit": 100, 
    "upload-limit-enabled": 0, 
    "upload-slots-per-torrent": 14, 
    "utp-enabled": true, 
    "watch-dir": "/home/Ваш_пользователь/Torrents", 
    "watch-dir-enabled": true
}




  • download-dir – задаем путь куда будут размещены скачиваемые файлы. В данном случае в директорию Multimedia.
  • incomplete-dir – задаем путь, где будут располагаться не довершившие закачку торренты. Точка впереди директории говорит что она должна быть скрыта.




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




  • rpc-enabled – включает или отключает вход по пользователю и паролю в web-интерфейс.
  • rpc-username – Имя пользователя для входа в web-интерфейс transmission-daemon.
  • rpc-password – Пароль для входа в web-интерфейс transmission-daemon. После сохранения настройки, пароль будет зашифрован,
  • rpc-port – задается номер порта, обычно 9091.
  • rpc-whitelist – Задаем пул IP-адресов которым разрешенно подключаться к Web-интерфейсу нашего демона.
  • watch-dir – Данные пункты указывают на директорию которую наш демон будет постоянно сканировать на наличие торрент файлов.
  • watch-dir-enabled – включает или отключает сканирование директории с файлами торрент.




Добавляем каталоги, если не создали их заранее.




sudo mkdir -p /home/ваш_пользователь/Multimedia/.incomplete
sudo mkdir -p /home/ваш_пользователь/Torrents




Назначаем права




sudo chmod -R 777 /home/ваш_пользователь/Multimedia
sudo chmod 777 /home/ваш_пользователь/Torrents




По окончании всех настроек запускаем службу




sudo service transmission-daemon start




Теперь можно зайти по адресу 127.0.0.1:9091, ну или вписать IP-адрес вашего сервера. И мы попадете в web-интерфейс transmission-daemon, в котором сможем наблюдать и управлять нашими торрентами.




Скачиваем торрент файл и размещаем его в директории /home/Ваш_пользователь/torrents, демон автоматически запустит скачивание, а по окончанию разместит его в директории /home/Ваш_пользователь/Downloads.




Также можете почитать о qbittorrent



[endtxt]




RSS



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


2019-09-26T11:35:33
torrents

Защита SSH с помощью Fail2Ban

Сегодня рассмотрим защиту SSH-сервиса от  Brute Force – атака перебором, при помощи программы Fail2Ban.

При покупки VPS или вы организуете свой сервер на Linux. Для администрирования данного сервера предоставляется/организуется доступ по SSH протоколу. Но как известно, если есть открытый порт, то его можно скомпрометировать (взломать). Для защиты от таких попыток взлома протокола SSH в Linux системах используется утилита Fail2Ban. Читать

Работа с HDD через терминал на Ubuntu/Debian

Сегодня рассмотрим ряд команд для работы с HDD через терминал на Ubuntu/Debian и других Linux системах.




Прочитав несколько статей я конечно нашел нужную информацию о том как работать с HDD через терминал, но она была раскидана по просторам интернета и если вам дорого ваше время, то вы пришли по адресу. В данной статье я решил объединить команды и написать удобную шпаргалку для администрирования Ubuntu/Debian систем.




Как посмотреть UUID для HDD через терминал на Ubuntu/Debian




Посмотреть uuid диска для разделов можно с помощью команды:




sudo blkid




Вывод должен быть приблизительно такой:




/dev/sda5: UUID="461a03a9-a5f1-449a-8775-43afa0f455b6" TYPE="ext4" PARTUUID="62f972de-05"
/dev/sda6: UUID="572889de-8528-4e42-8a9d-1066e121b8de" TYPE="ext4" PARTUUID="62f972de-06"
/dev/sdb2: UUID="42fdec1c-3e51-11e9-b09f-1078d27639b3" TYPE="ext4" PARTUUID="32432dfd-0a2a-4c71-bf6c-2d207ae9b6b2"
/dev/sdb1: PARTUUID="a6d316f4-7282-4420-9cf5-56cb14878f22"




Как посмотреть список дисков через терминал на Ubuntu/Debian




Самый простой способ увидеть все подключённые диски – это посмотреть содержимое каталога /dev/ и отфильтровать устройства по начальному названию sd или vd. Ну это уже зависит от того, какой диск и на какой системе выищите.




sudo ls -l /dev | grep sd




brw-rw---- 1 root disk      8,   0 сен 17 08:41 sda
brw-rw---- 1 root disk      8,   2 сен 17 08:41 sda2
brw-rw---- 1 root disk      8,   5 сен 17 08:41 sda5
brw-rw---- 1 root disk      8,   6 сен 17 08:41 sda6
brw-rw---- 1 root disk      8,  16 сен 17 08:41 sdb
brw-rw---- 1 root disk      8,  17 сен 17 08:41 sdb1
brw-rw---- 1 root disk      8,  18 сен 17 08:41 sdb2




Смотрим подключенные HDD с выводом информации о размере через терминал




Посмотреть подключённые диски с выводом информации о размере, точке монтирования и свободном пространстве на Ubuntu/Debian, можно с помощью утилиты df:




sudo df -h




udev            898M     0  898M   0% /dev
/dev/sdb2       110G   11G   93G  11% /
tmpfs           187M     0  187M   0% /run/user/1000
/dev/sda6       184G   60M  174G   1% /home/Music
/dev/sda5       719G  357G  326G  53% /home/Fims




Или так:




lsblk




NAME   MAJ:MIN RM   SIZE RO TYPE MOUNTPOINT
sda      8:0    0 931,5G  0 disk 
├─sda2   8:2    0     1K  0 part 
├─sda5   8:5    0 730,2G  0 part /home/Fims
└─sda6   8:6    0 186,3G  0 part /home/Music
sdb      8:16   0 111,8G  0 disk 
├─sdb1   8:17   0     1M  0 part 
└─sdb2   8:18   0 111,8G  0 part /




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




sudo fdisk -l




....
Device     Boot     Start        End    Sectors   Size Id Type
 /dev/sda2        19535870 1951168511 1931632642 921,1G  5 Extended
 /dev/sda5       419919872 1951168511 1531248640 730,2G 83 Linux
 /dev/sda6        29296640  419907583  390610944 186,3G 83 Linux
....
Device     Start       End   Sectors   Size Type
 /dev/sdb1   2048      4095      2048     1M BIOS boot
 /dev/sdb2   4096 234438655 234434560 111,8G Linux filesystem




Форматирование HDD через терминал на Ubuntu/Debian




Для форматирования разделов дисков в системе используем команду parted.




Будьте внимательны с данной командой, т.к. она может затереть весь ваш диск.




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




После вывода информации определяем наш диск и набираем:




sudo parted /dev/sdb




  • sdb – это наш диск




Далее создаем новую таблицу разделов:




(parted) mklabel msdos




После можно создавать разделы. Если вам нужно создать один большой раздел, который будет занимать весь объем диска, то команда будет такой:




(parted) mkpart primary ext4 1MiB 100%




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




(parted) mkpart primary ext4 1MibGB 5GB
(parted) mkpart primary ext4 5GB 20GB
(parted) mkpart primary ext4 20GB 100%




После данной команды у вас будут три раздела с соответствующими размерами в 5 Гб, 15 Гб, а третий займет все оставшееся пространство на данном диске.




Для вывода информации набираем:




(parted) print




Если вас все устраивает, то выходим из программы форматирования:




(parted) quit




Давайте теперь отформатируем получившиеся разделы в файловую систему ext4:




sudo mkfs.ext4 /dev/sdb1




или в случае с несколькими разделами диска:




sudo mkfs.ext4 /dev/sdb1
sudo mkfs.ext4 /dev/sdb2
sudo mkfs.ext4 /dev/sdb3




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




Монтирование HDD через терминал на Ubuntu/Debian




Ручное монтирование дисков через терминал




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




sudo mount /dev/sdb1 /home/Music




Директория /home/Music должна существовать.




Монтирование директорий




Если при монтировании директорий терминал выдает следующее




mount: /home/Music: /home/old/Music is not a block device.




Значит Вы пытаетесь примонтировать одну директорию в другую. Для исправления данной ошибки наберите следующую команду используя опцию – -bind:




sudo mount --bind /home/old/Music /home/Music




Монтирование файлов




Возможно, не только монтирование разделов linux, но и монтирование
файлов, если они содержат файловую систему, например, образов дисков.
Монтирование образа диска linux работает точно так же:




sudo mount ~/file.iso /home/user/iso




Автоматическое монтирование диска при загрузке системы




Для автоматического монтирования разделов диска воспользуемся файлом fstab. Также вам необходимо знать UUID вашего диска.




sudo nano /etc/fstab




и редактируем в соответствии с моим листингом:




....
UUID=Ваш_UUID_диска /home/Music ext4 defaults 0 0




  • Ваш_UUID_диска – смотрим командой в начале статьи




Чтобы неперезагружать систему набираем команду:




sudo mount -a




Теперь после перезагрузки системы раздел диска автоматически будет примонтирован в директорию /home/Music.




Восстановление дисков через терминал




Восстановление файловой системы




Если ваша файловая система находится на разделе с адресом /dev/sda1 выполните:




sudo fsck -y /dev/sda1




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




Восстановление поврежденного суперблока




Обычно эта команда справляется со всеми повреждениями на ура. Но если вы сделали что-то серьезное и повредили суперблок, то тут fsck может не помочь. Суперблок – это начало файловой системы. Без него ничего работать не будет.




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




sudo mkfs -t ext4 -n /dev/sda1




На самом деле эта команда создает новую файловую систему. Вместо ext4 подставьте ту файловую систему, в которую был отформатирован раздел, размер блока тоже должен совпадать иначе ничего не сработает. С опцией -n никаких изменений на диск не вноситься, а только выводится информация, в том числе о суперблоках.




Теперь у нас есть резервные адреса суперблоков и мы можем попытаться восстановить файловую систему с помощью каждого из них, например:




sudo fsck -b 98304 /dev/sda




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




Битые сектора




Или еще мы можем найти битые сектора и больше в них ничего не писать:




sudo fsck -c /dev/sda1




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




Вывод




И так, сегодня мы научились работать с HDD через терминал на Ubuntu/Debian подобных системах.



[endtxt]




RSS




2019-09-17T15:10:32
HDD/SSD

Правильная настройка SSH на Ubuntu Server

Сегодня в статье поговорим о правильной настройке SSH на Ubuntu Server 18.04 LTS.




Практически сразу после запуска сервера на порту 22 наблюдается бурная активность ботов-брутфорсчиков. Для того чтобы защититься от их атак и снизить нагрузку на сервер первым делом устанавливаем и настраиваем Fail2Ban для SSH.




Далее переходим к настройке конфигурационного файла ssh




Настройка sshd_config




Открываем в терминале конфигурационный файл SSH




sudo nano /etc/ssh/sshd_config




Первое что нужно сделать, так это сменить порт ssh с 22 на любой другой. Ищем строку Port 22 и заменяем её например на Port 2222




Port 2222




Порты 21, 22, 80, 139, 443, 1194, 3306, 8080 — советую не использовать.




Второе – ограничим тип адресов для подключения (IPv6 либо IPv4). Если у вас на сервере не используется IPv6, то дописываем в файл:




AddressFamily inet




Третье – запретим root авторизацию




PermitRootLogin no




Четвертое – разрешаем подключение только под определенным логином:




AllowUsers user




где список пользователей пишется через пробел.




Пятое – запрещаем попытку входа с пустым паролем:




PermitEmptyPasswords no




Шестое – настраиваем вход по ключу.




PubkeyAuthentication yes




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




ssh-keygen 




Будет предложено указать место размещения пары ключей, парольная фраза на них и их название. Можете оставить все как есть просто нажимая Enter.




Далее копируем наш публичный ключ на сервер:




ssh-copy-id ваш_user@IP_сервера.ru




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




ssh ваш_user@IP_сервера.ru




Седьмое – запрещаем вход по паролю




PasswordAuthentication no




Не забываем до выполнения этого пункта настроить вход по ключу, иначе можете остаться без сервера!!!




Восьмое – сохраняем правки и перезапускаем ssh демон:




sudo /etc/init.d/ssh restart




Соединение по SSH с сервером




Теперь можем перезайти с новыми параметрами на ваш сервер. В терминале набираем:




ssh -p 2222 user@sshserver




На всякий случай посмотрим открытые порты:




netstat -tupln | grep LISTEN




Вы должны увидеть порт 2222




В случае ошибок полезно бывает смотреть лог /var/log/secure либо использовать опции -v, -vv или -vvv для вывода детального лога соединения:




ssh -vvv user@sshserver



[endtxt]




RSS



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


2019-09-15T21:49:19
SSH

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