Инсталиране на Linux PXE сървър за зареждане на Windows PE. PXE - зарежда всичко! Овладяване на мултистартиране през локална мрежа Настройка на DHCP сървър

Днес все повече и повече задачи се автоматизират и виртуализацията се използва все по-често за увеличаване на ефективността на сървърите. Но все пак трябва да инсталирате операционни системи. Всеки го прави по свой начин: някои имат джобове, пълни с различни изображения за всякакви поводи, други носят „чанта“ с дискове или дори две, по стария начин. Като правило администраторите вършат тази работа с малко удоволствие. Нека да разгледаме как да намалим времето за тривиални задачи, как да научим компютрите да инсталират системи сами, без участието на администратор изобщо, използвайки само локална мрежа.

И така, днес ще научим: инсталирайте Windows и Linux по мрежата, зареждайте малки ISO изображения, полезен софтуер (всички видове Kaspersky, Acronis, WinPE, memtests), внедрявайте тънки клиенти и ги управлявайте. Така че, например, счетоводител, работещ с 1C чрез RDP, да не ви победи, защото нейният Windows се срина, а отчетът трябваше да бъде изготвен вчера ... Или стиснат шеф, който не иска да актуализира компютъра си, се възхити на вашия професионализъм, когато ще видим как Windows 8 лети на стари компютри... Сървър, който осигурява зареждане по мрежата (PXE), ще ни помогне да постигнем коварните си цели.

Всеки системен администратор има универсално USB устройство в скривалището си за спешна компютърна реанимация. Съгласете се, би било много по-добре да имате същата функционалност, като използвате само една мрежова карта. Трябва също да се отбележи, че е възможно да се работи едновременно с няколко възела наведнъж. Така че, въз основа на нашите нужди, имаме две решения: използване на PXE или LTSP.

LTSP не е много подходящ за нас: той е предназначен да зарежда операционната система, инсталирана на самия сървър през мрежата, което позволява използването на LTSP сървърни приложения. Това не е точно това, от което се нуждаем. PXE е инструмент за зареждане на компютър през мрежа без използване на локални носители за съхранение, точно като LTSP. PXE ви позволява да организирате меню за зареждане с няколко зареждания, подобно на универсален „USB реаниматор“.


Какво ще приложим?

Всичко започна с необходимостта да имате под ръка инструмент за отдалечено инсталиране на Ubuntu/Debian Server през мрежата, с възможност за зареждане на Live CD на малка система, като SliTaz или Kolibri OS.
Както се казва, апетитът идва с яденето: нямахме време да изпълним това, което планирахме, и към плана бяха добавени редица „желания“. В резултат на това списъкът се оказа доста впечатляващ.

  1. Тънки клиенти, базирани на Thinstation Linux.
  2. Linux раздел.
    1. Инсталиране на Ubuntu 14.04 x86.
    2. Инсталиране на Ubuntu 14.04 x64.
    3. Инсталиране на Ubuntu 12.04 x86.
    4. Инсталиране на Ubuntu 12.04 x64.
  3. Windows дял.
    1. Инсталиране на Windows 2012.
    2. Инсталиране на Windows 7.
  4. Acronis.
    1. Windows PE с пакет полезен софтуер.
    2. Acronis True Image.
      1. Наследен BIOS.
      2. UEFI.
    3. Acronis Disk Director.
      1. Наследен BIOS.
      2. UEFI.
  5. Kaspersky Rescue v10.
  6. ERD Commander от 5 на 8 чрез ISO изображение.
  7. Memtest.

Сглобяваме всичко и излитаме

Като дистрибуция за сървъра изборът падна върху Ubuntu Server 14.04.2 LTS. Можете да изберете всяка друга операционна система, единствената разлика ще бъде в синтаксиса. Така че да започваме. Ще ни трябват TFTP, DHCP (не е задължително да са инсталирани на същия сървър; рутер може да действа като DHCP сървър), услуга за организиране на NFS мрежова файлова система. Ще разгледаме само тези настройки, които ни интересуват в рамките на темата. Първо, нека инсталираме всичко необходимо, след като направим всички актуализации:

Продължението е достъпно само за членове

Вариант 1. Присъединете се към общността на сайта, за да прочетете всички материали на сайта

Членството в общността в рамките на посочения период ще ви даде достъп до ВСИЧКИ хакерски материали, ще увеличи личната ви кумулативна отстъпка и ще ви позволи да натрупате професионален рейтинг на Xakep Score!

Е, време е да продължим да изтегляме нещо друго интересно и най-важното полезно в мрежата. В него разгледахме стартирането на програми на Acronis, инсталирането на Debian/Ubuntu Linux, изтеглянето на малки ISO и стартирането на готови WIM изображения.

И така, плановете за днес!

  1. Инсталиране на Windows в ръчен и автоматичен режим.
    1. Изграждане на WIM изображение.
    2. Подготовка на файла с отговори.
  2. Стартиране на ERD Commander (MSDaRT).
  3. Като бонус ще реализираме стартирането на инсталацията на Debian с по-нататъшна инсталация чрез SSH.

Да започнем с Windows

ВНИМАНИЕ

Всички по-нататъшни действия, свързани с подготовката на Windows, се извършват в средата на Windows.

Първата стъпка е да подготвим средата WinPE, с която ще стартираме инсталации на различни системи от семейството Windows. За целта се нуждаем от пакета Windows AIK, който може да бъде изтеглен безплатно от официалния сайт на Microsoft.


След като инсталирате пакета Windows AIK, отворете конзолата на командния ред на инструментите за разполагане. Нека копираме WIM изображението и буутлоудъра и да го монтираме в системата:

Copype.cmd amd64 c:\winpe mkdir c:\pe\win\boot imagex /mountrw winpe.wim 1 монтиране xcopy c:\winpe\mount\windows\boot\pxe\pxeboot.n12 c:\npe\win xcopy c :\winpe\mount\windows\boot\pxe\bootmgr.exe c:\pe\win xcopy c:\winpe\iso\boot\boot.sdi c:\pe\win\boot

Скриптът на менюто на WinPE се стартира от файла startnet.cmd. За да изведете правилно кирилицата, трябва да промените кодирането на този файл на CP866. Следващата стъпка е да редактирате файла със скрипта, ако е необходимо.

Добавяне на параметри към менюто на PXE сървъра

Менюто е готово. Както можете да видите от параметрите в скрипта, на всеки етап се свързва определена мрежова папка. На PXE сървър, чието инсталиране и стартиране беше описано в предишната статия, трябва да публикувате папка чрез Samba, която ще бъде само за четене (в противен случай инсталаторът може да се опита да постави нещо там или да го презапише).

След това трябва да подготвите файлове с отговори за автоматични инсталации. Гледайки напред, ще кажа, че благодарение на същите тези файлове можете да постигнете абсолютно всеки резултат, например да приложите автоматична инсталация с 40/60% разделяне на първия диск с връзка към домейна и след това всички необходимият софтуер може да бъде доставен чрез групови правила на домейн (но това е съвсем различен въпрос). история).

Imagex.exe / демонтиране / ангажиране на монтиране

Полученото WinPE изображение - winpe.wim - се копира на PXE сървъра. След това в менюто за стартиране на PXE, създадено в /var/lib/tftpboot/pxelinux.cfg/default, свързваме дъщерния файл, който ще съдържа дяла на Windows.

Етикет Инсталиране на Windows меню passwd qwerty етикет на менюто Инсталиране/Стартиране на ядрото на Windows boot/vesamenu.c32 добавяне на pxelinux.cfg/windows

Етикет на меню WinPE Инсталиране на Windows Всички меню passwd my_password com32 linux.c32 boot/wimboot APPEND initrdfile=/images/windows/bootmgr.exe,/images/windows/boot/BCD,/images/windows/boot/boot.sdi,/images /windows/boot/winpe.wim

Подготовка на файл с отговори

Да започнем с Windows 7 Pro. За да подготвите файла с отговори, ще ви трябва файлът install.wim, който може да бъде намерен на инсталационния диск на Windows 7 в папката източник. Грабваме го и го копираме на удобно достъпно място. След това стартирайте Windows System Image Manager.

Продължението е достъпно само за членове

Вариант 1. Присъединете се към общността на сайта, за да прочетете всички материали на сайта

Членството в общността в рамките на посочения период ще ви даде достъп до ВСИЧКИ хакерски материали, ще увеличи личната ви кумулативна отстъпка и ще ви позволи да натрупате професионален рейтинг на Xakep Score!

Напомняме ви, че опитите за повторение на действията на автора могат да доведат до загуба на гаранция за оборудването и дори до неговата повреда. Материалът е предоставен само за информационни цели. Ако възнамерявате да възпроизведете стъпките, описани по-долу, силно ви съветваме да прочетете внимателно статията до края поне веднъж. Редакторите на 3DNews не носят отговорност за евентуални последствия.

Спомняте ли си, когато веднъж разглеждахме създаването на универсален USB „комплект за първа помощ“ за спешен компютърен ремонт? В последната статия се запознахме с мрежовото натоварване и програмата DRBL. Е, този път ще създадем аналог на multiboot носител, само че ще стартираме не от флаш устройство, а през мрежата с помощта на PXE. Това се прави съвсем просто. Както обикновено, ще ни трябва машина с Ubuntu Server 11.10 с две мрежови карти, която ще действа като сървър. Поддръжката за мрежово зареждане трябва да бъде активирана в BIOS на клиентските машини.

За да опростим задачата си и да не се занимаваме отделно с инсталирането и конфигурирането на различни мрежови услуги като DHCP и TFTP сървъри, ще използваме по-универсално решение - dnsmasq. Това е лек DNS/DHCP/TFTP сървър, който е перфектен за мрежови зареждащи машини. Както миналия път, съгласни сме, че мрежовият интерфейс eth0 автоматично получава IP адрес от рутера и има достъп до интернет. На свой ред eth1 разглежда вътрешната мрежа и има статичен IP адрес 192.168.0.1. Редактирайте мрежовите настройки във файла /etc/network/interfaces с помощта на nano текстовия редактор, ако още не сте го направили.

Sudo nano /etc/network/interfaces

В края на файла добавете настройките за интерфейса eth1 и го запазете (F2, Y, Enter).

Auto eth1 iface eth1 inet статичен адрес 192.168.0.1 мрежова маска 255.255.255.0

Ако трябва да предоставите достъп до мрежата за локални клиенти, тогава ще трябва да направите нещо друго. Първо разкоментирайте (премахнете # в началото) на реда net.ipv4.ip_forward=1във файла /etc/sysctl.conf. Второ, изпълнете няколко команди. Последната команда трябва да се добави в края на файла /etc/rc.local преди реда изход 0така че мрежовото препращане да започне при стартиране.

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

Сега трябва да инсталирате dnsmasq, както и няколко помощни програми, за да улесните работата си - файловия мениджър Midnight Commander и помощни програми за разопаковане на ISO изображения и ZIP/RAR/7ZIP архиви.

Sudo apt-get инсталирате dnsmasq mc genisoimage разархивирайте unrar p7zip-пълен

Нека започнем да настройваме dnsmasq.

Sudo nano /etc/dnsmasq.conf

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

Интерфейс=eth1 dhcp-диапазон=192.168.0.10,192.168.0.100,255.255.255.0,24h сървър=8.8.8.8 enable-tftp tftp-root=/pxe dhcp-boot=pxelinux.0

Какво е какво? Интерфейсният параметър указва с кой мрежов интерфейс dnsmasq ще работи. В dhcp-диапазон, първите два параметъра показват началото и края на диапазона от адреси, издадени на клиентските компютри, след това идва маската на подмрежата и времето за наемане на адреса. Полето сървър показва IP адресите на DNS сървърите нагоре по веригата (например доставчика), но ако желаете, можете да използвате Google DNS или OpenDNS. Директивата enable-tftp активира вградения TFTP сървър, а tftp-root указва основната директория за него. Накрая се регистрира буутлоудър в dhcp-boot, който ще бъде разпространен по мрежата.

Нека да запазим настройките и да рестартираме сървъра, да създадем необходимите папки и да стартираме Midnight Commander (mc), където ще продължим основната работа. /pxe/images/ ще съхранява изображения на помощни програми или дистрибуции, които ще бъдат изтеглени през локалната мрежа. Директорията /pxe/pxelinux.cfg е за съхраняване на PXE настройки.

Sudo mkdir -p /pxe/images/ sudo mkdir /pxe/pxelinux.cfg sudo услуга dnsmasq рестартирайте sudo mc

Първата стъпка е да получите програмите за зареждане от проекта syslinux. Изтеглете най-новия архив във вашата домашна папка. Командите могат да се въвеждат директно в mc или, за удобство, можете да превключвате между конзолата и панелите, като използвате клавишната комбинация Ctrl+O. Най-удобният начин за изтегляне на файлове е с програмата wget. Например така:

Wget http://www.kernel.org/pub/linux/utils/boot/syslinux/syslinux-4.05.tar.gz

Влизаме в изтегления архив, като просто преместваме селекцията в него и натискаме Enter. От него трябва да копирате няколко файла в директорията /pxe - pxelinux.0 от папката /core, menu.c32 от /com32/menu и memdisk от едноименната директория.

Започваме бавно да попълваме настройките по подразбиране на pxelinux.

Sudo nano /pxe/pxelinux.cfg/default

Нека добавим следните редове към този файл:

DEFAULT menu.c32 TIMEOUT 600 MENU TITLE PXE BOOT MENU LABEL HDDBoot MENU LABEL Local Boot MENU DEFAULT LOCALBOOT 0

Като цяло, цялата документация относно формирането на параметри за зареждащи програми за зареждане на syslinux и по-специално менюто за зареждане на PXE се намира в текстовите файлове на директорията docs на архива на syslinux. Нека да разгледаме параметрите, които току-що използвахме. По подразбиране се стартира файлът menu.c32, който показва нашето PXE меню. TIMEOUT указва времето за изчакване (в 1/10 s), след което елементът по подразбиране ще бъде зареден. MENU TITLE съдържа заглавието на нашето меню. Можете да въведете каквото искате там.

След това има описание на първия елемент от менюто. За по-лесно боравене на всеки елемент е присвоен етикет (ЕТИКЕТ). В MENU LABEL, името на етикета, който потребителят ще види при зареждане. MENU DEFAULT означава, че този елемент от текущото меню ще се стартира по подразбиране. Е, директивата LOCALBOOT 0 показва, че трябва да изключите PXE и ​​да се върнете към нормално зареждане на компютъра. По-добре е да оставите този елемент по подразбиране.

Нека разнообразим нашия мултибутър с някои помощни програми. Да вземем например известната програма за тестване на паметта Memtest86+. Изтеглете архива с предварително компилиран Bootable Binary от сайта. Записваме файла memtest.bin от него като memtest (без разширение!) в папката /pxe/images. Тук сме изправени пред две характеристики наведнъж. Първо, за набора syslinux редица файлове (.0, .bin, .bs и т.н.) трябва да имат строго определен формат. Същият .bin за isolinux се чете като CD зареждащ сектор, но memtest.bin не е. Второ, този файл директно поддържа зареждане с syslinux, така че можем безопасно да го посочим като "ядро", което да се изпълнява.

ЕТИКЕТ Memtest86+ ЕТИКЕТ МЕНЮ Memtest86+ KERNEL images/memtest

Друга полезна опция за зареждане е да използвате memdisk. В този случай носителят (iso изображение, необработено изображение на дискета, HDD изображение) се копира напълно в RAM паметта на компютъра и от него се извършва по-нататъшно зареждане. Ето пример за стартиране на KolibriOS. От архива за разпространение трябва да копирате файла kolibri.img в папката /pxe/images и да добавите следните редове към /pxe/pxelinux.cfg/default.

ЕТИКЕТ Kolibri MENU ЕТИКЕТ KolibriOS KERNEL memdisk APPEND initrd=images/kolibri.img


Можете да направите нещо „по-сериозно" - да заредите Boot CD на Hiren. Вече можете да познаете, че iso изображението трябва да бъде записано като /pxe/images/hirens.iso. На клиентската машина ще трябва да изчакате минута или две, докато половин гигабайт iso се копира в паметта Естествено самият компютър трябва да има поне един гигабайт RAM.Но след зареждане работата с Boot CD на Hiren е изключително бърза. Вероятно обаче е по-добре да избягвате такива екстремни опции.

ЕТИКЕТ Hirens MENU ЕТИКЕТ Hiren's Boot CD KERNEL memdisk APPEND iso initrd=images/hirens.iso


Да вземем по-сложен пример - заредете Clonezilla Live чрез PXE. Създайте папка /pxe/images/clonezilla. Там ще трябва да копирате всички файлове от папката /live, която е в ISO изображението. В настройките посочваме зареждането на Linux ядрото (vmlinuz), а в APPEND му подаваме параметри. Те могат да се видят във файла isolinux/isolinux.cfg в ISO изображението (ключовете ocs_* са свързани директно с Clonezilla, а не със самото ядро). В нашия случай ще има малка разлика от него - просто трябва да посочите, че файлът със системното изображение в Squashfs трябва да бъде взет при изтегляне от TFTP сървъра.

ЕТИКЕТ Clonezilla MENU ЕТИКЕТ Clonezilla KERNEL images/clonezilla/vmlinuz APPEND initrd=images/clonezilla/initrd.img boot=live config noprompt noswap nomodeset nolocales/nosplash edd=on vga=788 ocs_live_run="ocs-live-general" ocs_live_extra_param="" ocs_live_keymap="" ocs_live_bash="no" ocs_lang="" fetch=tftp://192.168.0.1/images/clonezilla/filesystem.squashfs ТЕКСТ ПОМОЩ Clonezilla Live — Зареждане от RAM ENDTEXT

внимание! Всичко след APPEND е един ред без тирета. Текстът между директивите TEXT HELP и ENDTEXT ще бъде показан като подсказка, когато изберете съответния елемент от менюто за зареждане. Други базирани на Linux дистрибуции или помощни програми се добавят към изтеглянето по подобен начин. Като загрявка опитайте да зададете настройките за олекотената дистрибуция SliTaz.

ЕТИКЕТ Slitaz MENU ЕТИКЕТ SliTaz Linux KERNEL /boot/bzImage APPEND initrd=/boot/rootfs4.gz,/boot/rootfs3.gz,/boot/rootfs2.gz,/boot/rootfs1.gz rw root=/dev/null vga= нормално автоматично влизане


Както можете да видите, всичко е доста просто и доста гъвкаво за конфигуриране. За да проучите допълнително PXE зареждането на Ubuntu Server, би било добра идея да се запознаете с wiki на syslinux и документацията, включена в архива за тази помощна програма. Сред интересните решения, използващи PXE, можете да прочетете например за мрежова инсталация на Windows 7 без използване на RIS/WDS. Сред полезните допълнения трябва да разгледате по-отблизо дистрибуторския комплект Thinstation за създаване на тънки клиенти, както и мениджъра за изтегляне на Plop. Несъмнено помощните програми ще бъдат полезни за тестване на хардуер и диагностициране на проблеми, за възстановяване на данни и създаване на резервни копия, за... Като цяло, зависи от вас. Късмет!

Преглед на технологията PXE

PXE (Pre Execution Environment), произнасяно Pixie, е подход, който позволява на компютър (клиентски компютър) да стартира, използвайки само своята мрежова карта. Този метод на зареждане е създаден през 1999 г. и ако компютърът е свързан към мрежа (и поддържа този стандарт), тогава е възможно да заобиколите нормалната процедура за зареждане (т.е. включване -> BIOS -> HD/CD) и да направите някои чисти неща, като се започне с отстраняване на проблеми, за което обикновено се използва live OS, и дори заснемане на изображение на машината... но изпреварваме - нека се върнем в началото.

Когато се използва PXE подходът, процесът на зареждане се променя от нормален на следния:

Включване -> BIOS -> NIC PXE стек -> Програма за мрежово зареждане (NBP), заредена чрез TFTP от паметта на сървъра към клиентската машина -> NBP отговаря за следващата стъпка (2-ра стъпка за зареждане)).

С помощта на програмата PXElinux NBP можем да конфигурираме сървъра да прави повече от просто да зарежда една PXE програма за нашите клиенти. В известен смисъл това е тайната съставка, която ще ни позволи да направим всичко по-горе и повече. За по-подробно обяснение на целия процес, неговата история и някои от наличните настройки за тази програма и програмата gPXE (която е по-усъвършенстван клонинг на първата програма), вижте тази лекция в YouTube, предложен от разработчиците на тези програми. Освен това по-долу има видеоклип от 2008 г., който ви превежда през настройката, така че можете бързо да преминете към някои от опциите за изтегляне.

Забележка: Това видео използва наследения UDA проект като основа за сървъра и анотациите имаха за цел да обяснят, че той е актуализиран с най-новите (по това време) допълнения.

Мишена

Този урок ще бъде първият от поредица от ръководства, обхващащи PXE. В това ръководство ще положим основите, върху които ще надграждаме в следващите статии.

  • Клиентската машина, на която тествате, поддържа PXE зареждане и вие знаете как да го активирате.
  • Това ръководство е написано и тествано с помощта на Debian Squeeze, Ubuntu Server 9.10 и Linux Mint10. Следователно се предполага, че имате и система, базирана на Debian.
  • Имате възможност да разгледате статията „Как да конфигурирате софтуерен RAID“ за „Прост файлов сървър“ и „Как да конфигурирате цяла мрежа (802.3ad)“, тъй като скоростта на диска и честотната лента за тази опция за сървър трябва да са много Високо. Силно се препоръчва да се сглоби такава мрежа, като се използва сървър с много устойчиви на грешки мрежови и дискови подсистеми.
  • Ще видите, че използваме VIM като редактор, това е просто защото съм свикнал с него... Можете да използвате всеки друг редактор, който желаете.

Монтаж - труден старт при използване на системата FOG

Използването на FOG като основа за вашия PXE сървър е добър начин да разполагате с всички необходими елементи, като TFTP и, ако е необходимо, DHCP, без да се налага да ги инсталирате и конфигурирате ръчно, като същевременно ви предоставя всички функции на FOG пакет като бонус.

Тъй като нашата цел е да добавим нови функции към тази вече голяма система, няма да навлизаме в подробности за това как да използваме самия пакет FOG, нито ще разгледаме процедурата по инсталиране. FOG wiki, както текстови, така и видео инструкции, са достатъчни за подробна информация, ако искате да навлезете в детайлите. Като цяло стъпките са както следва:

Това е всичко, което трябва да направите по време на инсталирането на пакета FOG. Отново, тъй като FOG е голяма система, използването й е извън обхвата на това ръководство и за да ви помогнем да разберете по-добре възможностите на системата FOG и как тя може да ви помогне да управлявате жизнения цикъл на вашите клиентски компютри, ние ви насърчаваме да се обърнете към към wiki страниците, описващи тази система.

Ако всичко върви добре, трябва да можете да заредите вашата клиентска машина в режим PXE (обикновено с помощта на F12) и да получите подканващо меню по подразбиране на FOG.


Изображение чрез Hotfortech.

За да се докоснете до възможностите веднага, можете да изберете опцията „Изпълни Memtest86+“ и да бъдете подканени от програмата Memtest, която разглеждаме в нашата статия Диагностициране на хардуерни проблеми на компютър с помощта на Ubuntu Live CD.

Файлове и директории

Както отбелязахме по-рано, нашата цел е да разширим възможностите на системата FOG и за тази цел трябва да добавим някои файлове и директории.

Създайте следните поддиректории:

Sudo mkdir -p /tftpboot/howtogeek/менюта sudo mkdir -p /tftpboot/howtogeek/linux sudo mkdir -p /tftpboot/howtogeek/pics sudo mkdir -p /tftpboot/howtogeek/utils

Тези поддиректории ще служат като шаблони за всички изображения, програми и конфигурации, които ще използваме за разширяване на системата FOG.

Задайте конфигурационния файл по подразбиране, който да се използва по подразбиране

Ще създадем ново главно меню и ще поставим всички функции на системата FOG в нейно собствено подменю.

Копирайте конфигурационния файл /tftpboot/pxelinux.cfg/default в howtogeek/menus/fog.cfg.

Sudo cp /tftpboot/pxelinux.cfg/default /tftpboot/howtogeek/menus/fog.cfg

Сега редактирайте съдържанието на файла източник по подразбиране:

Sudo vim /tftpboot/pxelinux.cfg/default

Нека съдържанието му да изглежда така:

ПО ПОДРАЗБИРАНЕ vesamenu.c32 ЗАГЛАВИЕ НА МЕНЮ FOG 0.32 + Подобрения на HowToGeek МЕНЮ ВКЛЮЧВА /pxelinux.cfg/master.cfg заглавие на цвят на менюто 1;36;44 #ff8c00 #00000000 std ЕТИКЕТ FOG МЕНЮ ЕТИКЕТ Ръчно МЕНЮ МЪГЛА ПО ПОДРАЗБИРАНЕ ЯДРО vesamenu.c32 ДОБАВЯНЕ howtogeek /menus/fog.cfg LABEL Utils MENULABEL Помощни програми KERNEL vesamenu.c32 APPEND howtogeek/menus/utils.cfg LABEL Linux MENU LABEL Linux неща KERNEL vesamenu.c32 APPEND howtogeek/menus/linux.cfg LABEL fog.local localboot 0 MENU LABEL Стартиране от твърд диск ТЕКСТ ПОМОЩ Стартиране от локалния твърд диск Ако не сте сигурни изберете тази опция ENDTEXT PROMPT 0 TIMEOUT 300 ONTIMEOUT fog.local

Когато приключим, тази конфигурация ще ви даде следните 3 подменюта: Помощни програми, Ръчно FOGing, Linux неща (Linux).

Създайте главен файл

Главният файл ще ви позволи да правите глобални промени във външния вид на менюто, без да ги въвеждате отново в отделен ред отново и отново. Функции като тапет по подразбиране, стилове на граници, позиции и т.н. всички ще бъдат комбинирани в този файл master.cfg.

Създайте файл:

Sudo vim /tftpboot/pxelinux.cfg/master.cfg

Уверете се, че съдържанието му е както следва:

MENU BACKGROUND fog/genie.png цветен екран на менюто 37;40 #80ffffff #00000000 рамка на стандартния цвят на менюто 30;44 #9370db #00000000 заглавие на стандартния цвят на менюто 1;36;44 #ff8c00 #00000000 стандартен цвят на менюто unsel 37;44 #ffffffff #00000000 стандартен клавиш за цвят на менюто 1;37;44 #ffffffff #00000000 избор на стандартен цвят на менюто 7;37;40 #4eee94 #9370db всички цветове на менюто hotsel 1;7;37;40 #e0400000 #20ff8000 всички цветове на менюто са деактивирани 1;30 ;44 #60cccccc #00000000 стандартен цвят на менюто лента за превъртане 30;44 #40000000 #00000000 стандартен цвят на менюто tabmsg 31;40 #90ffff00 #00000000 стандартен цвят на менюто cmdmark 1;36;40 #c000ffff #00000000 стандартно меню цвят cmdline 37;40 # c0ffffff #00000000 стандартен цвят на менюто pwdborder 30;47 #80ffffff #20ffffff стандартен цвят на менюто pwdheader 31;47 #80ff8080 #20ffffff стандартен цвят на менюто pwdentry 30;47 #80ffffff #20ffffff стандартен цвят на менюто timeout_msg 37;40 #80ffffff #0 0000000 st d цвят на менюто изчакване 1;37;40 #c0ffffff #00000000 стандартен цвят на менюто помощ 37;40 #c0ffffff #00000000 стандартен цвят на менюто msg07 37;40 #90ffffff #00000000 стандартен МАРЖИН НА МЕНЮТО 0 МАРЖИН НА МЕНЮТО ПАРОЛА 3 РЕДА В МЕНЮ 15 НАРАСТВАНЕ НА РАЗДЕЛИ НА МЕНЮ 21 МЕНЮ CM DLINEROW 20 МЕНЮ PASSWORDROW 11 MENU TIMEOUTROW 20 MENU HSHIFT 0 MENU VSHIFT 0

Конфигурацията по-горе ще създаде лилави граници и подчертаване на текст; ако искате различен външен вид, просто променете стойностите.

За да зададете фонова картина, поставете снимката в каталога /tftprootи задайте MENU BACKGROUND на относителен път към изображението (препоръчваме да използвате изображения с разделителна способност 640*480). Например, пълният път до картината, конфигурирана по-горе, ще бъде /tftproot/fog/bg.png.

Свържете подменюто FOG към главното меню

защото направихме просто копие на оригиналния конфигурационен файл в поддиректория на менюто (запазвайки цветовата схема, изчакванията и т.н.), ако сега отидете в това подменю от зареден PXE клиент, то ще работи, но няма да сте може да се върне към главното меню без рестартиране на машината.

Така че редактирайте файла /tftpboot/howtogeek/menus/fog.cfg:

Sudo vim /tftpboot/howtogeek/menus/fog.cfg

Добавете следния запис след записа "menu color title" и преди функциите FOG:

ЕТИКЕТ обратно ЕТИКЕТ НА МЕНЮ .. ЯДРО vesamenu.c32 ДОБАВЯНЕ pxelinux.cfg/default

Създаване на шаблони за подменюта

Създадохме 4 подменюта, три от които ще бъдат попълнени от нас. За да направите това, нека създадем шаблон, който ще използваме в бъдеще.

Създайте шаблонен файл:

Sudo vim /tftpboot/howtogeek/menus/template.cfg

Съдържанието му трябва да бъде както следва:

МЕНЮ ВКЛЮЧВА /pxelinux.cfg/master.cfg #МЕНЮ ФОН howtogeek/pics/fog-sub.jpgЕТИКЕТ обратно ЕТИКЕТ МЕНЮ .. ЯДРО vesamenu.c32 ДОБАВЯНЕ pxelinux.cfg/default

Нека да настроим шаблони за допълнителни подменюта, които ще ни трябват в следните статии:

Cd /tftpboot/howtogeek/menus/ sudo cp template.cfg ./utils.cfg sudo cp template.cfg ./linux.cfg

Това е всичко, основното оформление вече е готово и сега ще трябва да го използваме, което ще направим в следващите статии. Тъй като тези статии все още не са публикувани, препоръчваме ви да се запознаете със системата FOG, тъй като... Самата тази система е изключително интересна.

PXE има една много полезна функция; всичко, което е конфигурирано в него, е доста трудно да се загуби, защото всичко това се съхранява на сървъра, а не на сменяеми носители, които са склонни да се изгубят, откраднат, забравят в DVD устройства/у дома, оставят да се използват и „завършват“, така че вероятността да ви го вземат и "play" клони към нула , добре, може би заедно със сървъра... Чрез свързване на устройство, което има възможност да зарежда PXE, можете да правите доста полезни неща, а именно: диагностициране на оборудване, разполагане на операционни системи, зареждане жива система и др. за какво са достатъчни знания и въображение?
За да направим това, ще трябва да конфигурираме DHCP сървър и TFTP сървър.
По-рано вече писах за това как да настроя сървър за, силно го препоръчвам за преглед, основните точки бяха пренесени от него.
Какво ще получим в резултат?!
И ще получим меню за зареждане с възможност за избор на приложението, което ще изтеглим на клиентската машина, както и действията по подразбиране, които ще бъдат извършени от системата, ако не бъдат получени команди от потребителите.

За работа ще ни трябва:
1) Инсталиран Ubuntu сървър
2) Конфигуриран DHCP сървър, пример за конфигурация може да се намери в статията:
3) Диск или ISO образ на инсталационната дистрибуция на Ubuntu - битовата дълбочина няма значение, но е по-добре да вземете по-нова версия.

Всичко останало ще инсталираме по пътя... Няма да се спирам на настройките на DHCP, ако приемем, че сте го конфигурирали, според статията, връзката към която е предоставена в системните изисквания.

Инсталиране на tftp сървър
Нека инсталираме необходимия пакет:
Повишаваме правата за root:
sudo su

Да инсталираме необходимия пакет
aptitude инсталира tftpd-hpa

Сега всички файлове, които се отнасят до нашия tfpt сървър, трябва да са в директорията /var/lib/tftpboot/, всички пътища са посочени спрямо него.

Нека да преминем към създаването на менюто за зареждане
Първо, трябва да вземем заместник-товарач, как да стане това?! Може да се намери на всеки диск с ubuntu, в други Linux дистрибуции местоположението е почти винаги едно и също. Ще ни трябва инсталационен ISO образ или диск, поставен в DVD устройството, в който отиваме в следната директория:
Ако инсталационният диск е x86 архитектура:
/install/netboot/ubuntu-installer/i386
Интересуваме се от файла pxelinux.0това е буутлоудъра, вземете го и го копирайте в директорията:
/var/lib/tftpboot/
Тогава пътят до него изглежда така:
/var/lib/tftpboot/pxelinux.0
Също така ще ни трябва самото меню за зареждане, което може да бъде взето на същия диск, в директорията зареждащи екраниинтересуваме се от файл с име vesamenu.c32

Копирайте го в същата директория като товарача, така че пътят да изглежда така:
/var/lib/tftpboot/vesamenu.c32

Конфигуриране на съдържанието на PXE менюто

Като пример ще направим меню за зареждане, състоящо се от 2 елемента.
Първа точка:Зареждане от локален твърд диск. Този елемент ще бъде елементът по подразбиране, ако потребителят зареди компютъра чрез PXE и ​​в рамките на 15 секунди. не извърши никакви действия, системата автоматично ще стартира от локалния диск.
Втора точка:да му се обадим ТестванеВ това меню ще има елемент с възможност за изтегляне на Memtest x86+. Тази програма винаги ще бъде полезна при диагностициране на проблеми с работни станции и сървъри; като цяло това е необходимо нещо и ще бъде полезно за всички във фермата...

Първо, трябва да създадем директория за конфигурационни файлове, наречена pxelinux.cfg - името е критично за работа!
mkdir /var/lib/tftpboot/pxelinux.cfg

Сега нека създадем конфигурационен файл с параметрите на елементите от менюто, наречени по подразбиране
nano /var/lib/tftpboot/pxelinux.cfg/default

Със следното съдържание:
подкана vesamenu.c32 по подразбиране 0 заглавие на менюто PXE Меню за стартиране MENU AUTOBOOT Стартиране на локална система за # секунди label Boot from local drive menu label ^Boot from local drive menu default localboot 0 timeout 150 TOTALTIMEOUT 9000 LABEL Testing MENU LABEL ^Testing KERNEL vesamenu.c32 APPEND pxelinux.cfg/testing.menu

Най-наблюдателните забелязаха, че в предишния файл имаме запис, който касае друг файл тестване.меню, в него ще имаме настройките за арт Тестване
Нека създадем този файл:

Със следното съдържание:
ЗАГЛАВИЕ НА МЕНЮ Тестване ЕТИКЕТ Тестване на софтуер MENU ЕТИКЕТ ^Връщане към главното меню KERNEL vesamenu.c32 APPEND pxelinux.cfg/default етикет Етикет на менюто Тест на паметта ^Тест на паметта: Memtest86+ v4.20 kernel memtest/mt86plus

Първият елемент от менюто ще отговаря за връщане към предишното меню, а вторият за зареждане Memtest86+ v4.20

Всичко е наред, но не създадохме директорията, в която се съхранява файлът Memtest, сега ще поправим това, нека създадем подходящата директория.
Хайде да го направим:
mkdir /var/lib/tftpboot/memtest
Всичко, което трябва да направим, е да добавим изпълнимия файл на самия Memtest86+, той може да бъде намерен на инсталационния диск, в директорията /Инсталирай/ние се интересуваме от файла mt86plusтрябва да го копираме в директорията memtest, така че пътят до него да изглежда така:
/var/lib/tftpboot/memtest/mt86plus

На този етап сме готови с tftp сървъра, просто трябва да довършим малко DHCP сървъра.

Настройка на DHCP сървър

Този елемент може да се нарече настройка само с удължение; ако сте конфигурирали DHCP сървъра според статията, тогава трябва да добавите само един запис към:
nano /etc/dhcp/dhcpd.conf

Намираме елемента с настройките на набора от IP адреси, който изглежда така:
подмрежа 192.168.10.0 мрежова маска 255.255.255.0 ( диапазон 192.168.10.10 192.168.10.254; опция домейн-име-сървъри 192.168.10.1; опция име на домейн "example.org"; опция рутери 192.168.10.1; опция излъчване-адрес s 19 2.168. 10.255; време за лизинг по подразбиране 604800; максимално време за лизинг 604800; )

И добавяме запис, сочещ към нашия PXE буутлоудър:
ping-проверка = 1; име на файл = "pxelinux.0";
Пътят до файла е относителен към директорията /var/lib/tftpboot/тези. счита се за главна директория, както писах по-рано...

Целият запис изглежда така:
ping-проверка = 1; име на файл = "pxelinux.0"; подмрежа 192.168.10.0 мрежова маска 255.255.255.0 ( диапазон 192.168.10.10 192.168.10.254; опция домейн-име-сървъри 192.168.10.1; опция име на домейн "example.org"; опция рутери 192.168.10.1; опция излъчване-адрес s 19 2.168. 10.255; време за лизинг по подразбиране 604800; максимално време за лизинг 604800; )

Запазете промените и рестартирайте DHCP сървъра:
/etc/init.d/isc-dhcp-сървър рестартиране

Сега можем да свържем към нашата локална мрежа устройство, което поддържа PXE зареждане и в което тази функция е активирана (вижте документацията за вашето оборудване) или да свържем виртуална машина с адаптометър, свързан в мостов режим и без стартиращ носител.

Ако сте направили всичко правилно, менюто ще изглежда така:

И ако отидете в менюто Тестване:


Ако изберете елемента с Memtest, ще се извърши тест на паметта.
Други елементи от менюто се добавят съответно.

Нека си представим ситуация, в която трябва да предоставите достъп до едно от менютата на ограничен брой хора, например имате комплект за разпространение там, който струва много пари. За тази цел можете да зададете парола за елемент от менюто, как да направите това?!
Нека си представим ситуация, в която трябва да зададете парола (например: парола) на Memory Test, лесно се прави

Nano /var/lib/tftpboot/pxelinux.cfg/testing.menu

Трябва да добавим запис:
MENU PASSWD парола

Тогава файлът изглежда така:
ЗАГЛАВИЕ НА МЕНЮ Тестване ЕТИКЕТ Тестване на софтуер MENU ЕТИКЕТ ^Връщане към главното меню KERNEL vesamenu.c32 APPEND pxelinux.cfg/default етикет memtest MENU PASSWD парола етикет на менюто ^Тест на паметта: Memtest86+ v4.20 kernel memtest/mt86plus

Защитата, разбира се, е така, но може да помогне на обикновените потребители.

След това, когато се опитате да стартирате, ще се появи следният прозорец:


Ако въведете правилната парола, Memtest ще стартира.
По този начин можете да скриете цели менюта или да блокирате достъпа до отделни елементи.
Ако се направят промени в тези конфигурационни файлове, няма нужда да рестартирате DHCP сървъра; достатъчно е да рестартирате клиентския компютър, ако е стартиран чрез PXE.
Що се отнася до скоростта на tftp, скоростта не е висока и ако решите да прехвърляте големи количества информация, опитайте се да използвате WEB или FTP сървър за това, бъдете готови да отделите известно време за това. Ако има нужда да изтеглите някаква дистрибуция, тогава е по-добре да изтеглите малка операционна система, например Windows PE, или миниатюрна Linux дистрибуция.
Май ще свърша тук...

Дял