top
logo


Загрузка iso образа linux по сети PDF Печать E-mail
Автор: adm   
06.05.15 13:52

Загрузка iso образа настроенной под себя Ubuntu по сети.


Создание настроенного под себя ISO образа (LiveCD) Ubuntu 14,02 и загрузка оной по сети.Перегружаем DHCP

 

 

Данная инструкция или лучше ее назвать памятка была написана дабы не вспоминать через энное количество лет - как же я это делал. :-)

Больше семи лет назад  данная структура была реализована и успешно работала в публичной библиотеке. (возможно  и по сей день работает). И вот спустя столько лет,  появилась необходимость  -  на существующем железе (а это в большинстве ноутбуки) настроить доступ к серверу терминалов.  При этом на компьютерах не должно быть ничего кроме RDP клиента и Skype. Что бы вы понимали, пользователи должны иметь возможность подключаться к терминальному серверу и общаться в скайпе. Никакой информации на компьютерах быть не должно.

Попытка реализовать RDP клиента средствами Thinstation была неудачной.  Образ был создан, загружался и подключение к серверу терминалов происходило безупречно. Но вот незадача. На ноутбуках Lenovo G50-30 перестали работать функциональные клавиши регулирующие яркость и звук. Вдосталь проигравшись с Thinstation, установил на ноутбук Lenovo G50-30 Ubuntu 14.02. Функциональные кнопки яркости и громкости работали. Скорость работы и функционал устроил. ISO образ настроенной Убунты получился  1,4 Гб. и работал стабильно. Сервер был настроен, HDD вытянуты из лептопов и парк из 25 компьютеров теперь не требовал администрирования.

Не нужно пугаться такого большого объема! Весь ISO образ не будет загружаться по сети, загрузится лишь малая часть.  В моей тестовой среде со 100 мб.с сетью,  от момента загрузки образа по сети и до полной готовности ноутбука к работе проходит не более 1,5 минуты.

 

Теперь приступим к настройке.

Нам понадобится системный блок с двумя сетевыми интерфейсами для настройки сервера.

Тестовый компьютер, на котором будет установлена десктоп версия Ubuntu.

Компьютер с PUTTY и Winscp.

И ваше терпение и желание.

 

1. Устанавливаем  Ubuntu  14.04 server x32 с SSHD  сервером.

 

2. Меняем пароль root

sudo passwd root

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

 

3.Обноляем  Убунту и устанавливаем MC.

sudo apt-get -f install

sudo apt-get update

sudo apt-get upgrade

sudo apt-get install mc

 

4. Даем доступ по SSH для пользователя root (для тек кому мало SU и он привык редактировать файлы WINSCP)

Правим  файл /etc/ssh/sshd_config

Находим:  PermitRootLogin .....

Заменяем на:  PermitRootLogin=yes

5. Настраиваем сетевые интерфейсы (их два) и делаем простейший NAT.

Приводим файл /etc/network/ interfaces к вот такому виду

# The loopback network interface

auto lo

iface lo inet loopback

 

# WAN The primary network interface

auto eth0

iface eth0 inet static

address 10.1.4.35

netmask 255.255.254.0

network 10.1.4.0

broadcast 10.1.5.255

gateway 10.1.4.10

dns-nameservers 8.8.8.8

 

#LAN

auto eth1

iface eth1 inet static

address 192.168.85.1

netmask 255.255.255.0

 

 

 

Перезагружаем Убунту.

 

NAT.

Создаем файл  /etc/profile.d /masq.sh  с содержимым :

#!/bin/sh

IPTABLES=/sbin/iptables

DEPMOD=/sbin/depmod

MODPROBE=/sbin/modprobe

EXTIF="eth0"

INTIF="eth1"

$DEPMOD -a

$MODPROBE ip_tables

$MODPROBE ip_conntrack

$MODPROBE ip_conntrack_ftp

$MODPROBE ip_conntrack_irc

$MODPROBE iptable_nat

$MODPROBE ip_nat_ftp

$MODPROBE ip_nat_irc

echo "1" > /proc/sys/net/ipv4/ip_forward

echo "1" > /proc/sys/net/ipv4/ip_dynaddr

$IPTABLES -P INPUT ACCEPT

$IPTABLES -F INPUT

$IPTABLES -P OUTPUT ACCEPT

$IPTABLES -F OUTPUT

$IPTABLES -P FORWARD DROP

$IPTABLES -F FORWARD

$IPTABLES -t nat -F

$IPTABLES -A FORWARD -i $EXTIF -o $INTIF -m state --state ESTABLISHED,RELATED -j ACCEPT

$IPTABLES -A FORWARD -i $INTIF -o $EXTIF -j ACCEPT

$IPTABLES -A FORWARD -j LOG

$IPTABLES -t nat -A POSTROUTING -o $EXTIF -j MASQUERADE

echo -e "done.\n"

 

Делаем masq.sh исполняемым :

sudo chmod +x /etc/profile.d/masq.sh

 

Запускаем NAT скрит:

sudo sh /etc/profile.d/masq.sh

 

Если при запуске скрипта вы увидите ошибку вида:

^M: плохой интерпретатор: No such file or directory

Откройте файл  в mcedit (это редактор встроенный в Midnight Commander) и удалите лишние знаки в конце всех строк!

Проверяем работоспособность NAT. Вы должны получить доступ к интернет.

 

Добавим скрипт в автозагрузку:

Открываем файл /etc/rc.local и перед exit 0

вписать /etc/profile.d/masq.sh

Теперь наш скрипт будет запускаться после перезагрузки системы.

 

 

 

5. Устанавливаем и настраиваем LTSP Server

Устанавливаем пакеты ltsp-server-standalone
sudo apt-get install ltsp-server-standalone

 

6. Далее создаем клиента LTSP.
sudo ltsp-build-client

 

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

Приводим файл /etc/ltsp/dhcpd.conf к виду

 

authoritative;

subnet 192.168.85.0 netmask 255.255.255.0 {

range 192.168.85.20 192.168.85.250;

option domain-name "example.com";

option domain-name-servers 8.8.8.8;

option broadcast-address 192.168.85.255;

option routers 192.168.85.1;

#    next-server 192.168.85.1;

#    get-lease-hostnames true;

option subnet-mask 255.255.255.0;

option root-path "/opt/ltsp/i386";

if substring( option vendor-class-identifier, 0, 9 ) = "PXEClient" {

filename "/ltsp/i386/pxelinux.0";

} else {

filename "/ltsp/i386/nbi.img";

}

}

 

После этого нужно сказать нашему DHCP серверу слушать один из интерфейсов. Для этого откройте файл /etc/default/isc-dhcp-server и добавьте в параметр INTERFACES имя нужного интерфейса.  И путь к конфигурационному файлу DHCP.

INTERFACES="eth1"

DHCPD_CONF=/etc/ltsp/dhcpd.conf

 

 

 

Перегружаем DHCP
sudo /etc/init.d/isc-dhcp-server restart

Если dhcp сервер запустился  и все было сделано правильно, клиенты ltsp должны грузиться.

Желательно проверить это на данном этапе настройки!

 

8. Теперь создание сервер для установки операционной системы по сети.

Устанавливаем веб сервер apache2
sudo apt-get install apache2

Проверяем работоспособность веб сервера http://192.168.85.1/


9. Создаем директорию /var/lib/tftpboot/ltsp/i386/setup/

и копируем в нее содержимое инсталляционного CD либо ISO образ который вы создали при помощи  Remastersys.

 

10. Делаем симлинк  директории куда скопирован образ в корневую директорию apache
cd /var/www
sudo ln -s /var/lib/tftpboot/ltsp/i386/setup/

 

 

11. Настраиваем tftp сервер


/var/lib/tftpboot/ltsp/i386/pxelinux.cfg/default
Содержимое старого конфига удаляем  (лучше переименовать и создать новый).

И вставляем такое содержимое:

DEFAULT localboot
TIMEOUT 100
PROMPT 1
DISPLAY display.msg

LABEL linux
KERNEL vmlinuz
APPEND ro initrd=initrd.img quiet splash

LABEL install
KERNEL setup/install/netboot/ubuntu-installer/i386/linux
append vga=normal initrd=setup/install/netboot/ubuntu-installer/i386/initrd.gz --

LABEL localboot
LOCALBOOT 0

 

 

12. создаем файлик /var/lib/tftpboot/ltsp/i386/display.msg
добавим в него текстовое сообщение для пользователей.

==============================================================================

Welcome to the Multiboot System (SGMS)

The system will start in 10 seconds...

linux            : Load ltsp thin client (Ubuntu Desktop 14.04 x32)
install          : Ubuntu 14.04 NetBoot Installation
live              : Ubuntu 14.02
at the boot: prompt and press <enter>

==============================================================================

 

13. Добавим возможность загружать LiveCD по сети.
для этого нам понадобится NFS сервер. Установим его.

sudo apt-get install nfs-kernel-server

копируем содержимое нашего ISO в /var/lib/tftpboot/ltsp/i386/live/

правим конфиги NFS
/etc/default/nfs-kernel-server
NEED_SVCGSSD=no

/etc/default/nfs-common
NEED_IDMAPD=yes

NEED_GSSD=no



добавим шару на нашу директорию содержащую файлы ISO образа.
для этого в конфиге /etc/exports добавляем строчку
/var/lib/tftpboot/ltsp/i386/live 192.168.85.0/24(rw,nohide,insecure,no_subtree_check,async)

в конфиг /var/lib/tftpboot/ltsp/i386/pxelinux.cfg/default добавляем
LABEL live
kernel live/casper/vmlinuz
append vga=normal initrd=live/casper/initrd.gz boot=casper netboot=nfs nfsroot=192.168.85.1:/var/lib/tftpboot/ltsp/i386/live  --

перегружаем NFS демона
sudo /etc/init.d/nfs-kernel-server restart

 

14. Создание ISO образа настроенной системы для загрузки по сети.

Теперь мы переходим к десктопу (в моей ситуации к ноутбуку). Настраиваем по желанию linux систему.  Удаляем все лишнее и устанавливаем Remastersys.

Установка Remastersys в Ubuntu 11.10/12.04-12.10/13.04-13.10/14.04-14.10

Добавляем репозиторий в список источников приложений и устанавливаем:

sudo add-apt-repository ppa:inameiname/stable

sudo apt-get update

sudo apt-get install remastersys

(Добавить фрлык на рабочий стол Ubuntu - открываем в Файловом менеджере Наутилус папку, где находятся все ярлыки:

/usr/share/applications )
Установка TeamViewer в Ubuntu.

 

15. Теперь можно создать ISO образ системы.

На десктопе (или по SSH) запускаем команду:

sudo remastersys backup

После окончания процедуры создания резервной копии нашего linux

Вы увидите сообщение:

 

Creating md5sum.txt for the livecd/dvd

Creating custom-backup.iso in /home/remastersys/remastersys

Creating custom-backup.iso.md5 in /home/remastersys/remastersys

/home/remastersys/remastersys/custom-backup.iso which is 1,4G in size is ready to be burned or tested in a virtual machine.

 

Заходим при помощи winscp в директорию /home/remastersys/remastersys

 

Копируем получившийся ISO образ custom.iso  (или custom-backup.iso) на свой компьютер. Распаковываем архиватором 7zip и загружаем все содержимое custom.iso  (custom-backup.iso) в /var/lib/tftpboot/ltsp/i386/live/

 

Для информации: Очистка временных файлов и файлов резервных копий:
sudo remastersys clean

 

16. Теперь настроим в биосе  десктопа или ноутбука сетевую закрузку (PXE). Подключаем десктоп к сети и HDD можно снимать.

 

17. После загрузки Ubuntu по сети, запускаем  утилиту Remmina для подключения к удаленному рабочему, вносим реквизиты терминального сервера и работаем.

Вот пожалуй и все!

 

P.S.

Для тех кто захочет пользоваться Windowы либо каким либо другим DHCP сервером вместо LTSP.

Вам не нужна будет вторая сетвая карточка. Пунты по настройке NAT также можно исключить. После настройки и проверки LTSP сервера и сетвой загрузки iso браза, удалите из автзагрузки DHCP сервер.

service --status-all

sudo update-rc.d -f isc-dhcp-server remove

 

Для интеграции в локальную сеть офиса, я изменил подсеть на 10.1.4.0/23 Директивы DHCP сервера в Cisco выглядят так.

ip dhcp pool LAN
network 10.1.4.0 255.255.254.0
bootfile /ltsp/i386/pxelinux.0
next-server 10.1.4.35
default-router 10.1.4.10
dns-server 10.1.0.52 10.4.0.52 8.8.8.8
option 17 ascii 10.1.4.35:/opt/ltsp/i386

 

Установка Skype: http://www.linuxrussia.com/2013/04/skype-ubuntu-1210-1304-1204.html

Допы:
http://help.ubuntu.ru/

http://unixforum.org/

{jcomments on}

Последнее обновление 12.05.15 12:40
 
Интересная статья? Поделись ей с другими:

bottom

 

Unreal Commander PfSense по русски Яндекс.Метрика