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


Стартиращо флаш устройство с набор от необходим софтуер е чудесен инструмент за системен администратор. Изглежда, какво може да бъде по-добре? Сървърът за зареждане може да е по-добър!

Представете си, че сте избрали да зареждате през мрежата в BIOS и можете да инсталирате ОС/излекувате компютъра си от вируси/реанимирате дискове/тествате RAM/и т.н. от PXE Boot сървър, защото това е много по-удобно, отколкото да работите с флаш шофиране от машина на машина.
А в случай на голям компютърен парк, такъв инструмент е напълно незаменим.

Писахме по-рано за това как да подготвим Windows за инсталиране с PXE.
Единствената разлика с тази инсталация е, че тук можем да инсталираме както Windows 2008R2, така и Windows 2012R2 (както и Windows 7/8, просто трябва да подготвите съответно дистрибуцията и winpe файловете). След като изтеглим winpe, монтираме папката /srv/tftp/images/, която съдържа файлове за инсталиране на операционната система от Microsoft:
ls -l /srv/tftp/images/ общо 8 drwxr-xr-x 6 root root 4096 17 февруари 22:19 w2k12r2 drwxr-xr-x 7 tftp tftp 4096 17 февруари 19:05 w2k8r2
и стартирайте необходимия инсталатор.
За автоматизация, чрез startnet.cmd, скицирах следното меню:

Сега остава само да се справим с VMware.
Както забелязахте, конфигурацията за инсталиране на хипервайзори е малко по-различна от другите - тук се нуждаем от HTTP сървър.
В /var/www ще създадем папки vmw5.5, vmw5.0, а в папките ще направим символни връзки към конфигурацията
# cd /var/www # mkdir vmw5.5 # cd vmw5.5/ # ln -s /srv/tftp/vmw/5.5/ks.cfg # mkdir ../vmw5.0 # cd ../vmw5.0/ # ln -s /srv/tftp/vmw/5.0/ks.cfg
Написано е как да подготвите например Debian за инсталация с PXE, но няма да се спирам на това.

Нека добавим възможността за зареждане на различни дискови помощни програми и тест на паметта

Този раздел ще съдържа:
  1. Memtest86+
  2. Clonezilla-на живо
  3. SystemRescueCD

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

по подразбиране
ui vesamenu.c32 PROMPT 0 menu background background.jpg заглавие на менюто ServerClub PXE меню за стартиране LABEL bootlocal menu label Зареждане от първия HDD kernel chain.c32 append hd0 0 timeout 120000 TEXT HELP Системата ще се зареди след изтичане на времето. ЕТИКЕТ НА КРАЙНИЯ ТЕКСТ Windows -> ЯДРОТО vesamenu.c32 ДОБАВЯНЕ НА ЕТИКЕТА pxelinux.cfg/windows Linux -> ЯДРОТО vesamenu.c32 ДОБАВЯНЕ НА ЕТИКЕТА pxelinux.cfg/linux FreeBSD -> ЯДРОТО vesamenu.c32 ДОБАВЯНЕ НА ЕТИКЕТА pxelinux.cfg/bsd VMvare -> ЯДРО ve samenu c32 ДОБАВЯНЕ pxelinux.cfg/vmware ЕТИКЕТ HDD и RAM помощни средства -> ЯДРО vesamenu.c32 ДОБАВЯНЕ pxelinux.cfg/du
ду
PROMPT 0 UI vesamenu.c32 ФОН НА МЕНЮ background.jpg ЗАГЛАВИЕ НА МЕНЮ HDD и RAM utils ЕТИКЕТ<- Main Menu KERNEL vesamenu.c32 APPEND pxelinux.cfg/default LABEL Memtest86+ kernel memtest/memtest label Clonezilla-live MENU LABEL Clonezilla Live KERNEL clonezilla/vmlinuz APPEND initrd=clonezilla/initrd.img boot=live config noswap nolocales edd=on nomodeset ocs_live_run="ocs-live-general" ocs_live_extra_param="" keyboard-layouts="" ocs_live_batch="no" locales="" vga=788 nosplash noprompt fetch=tftp://10.0.10.1/clonezilla/filesystem.squashfs label SystemRescueCD kernel SystemRescueCD/isolinux/rescue64 append initrd=SystemRescueCD/isolinux/initram.igz dodhcp nfsboot=10.0.10.1:/srv/tftp/SystemRescueCD LABEL MHDD kernel memdisk initrd mhdd/mhdd32ver4.6.iso append iso raw LABEL <- Main Menu KERNEL vesamenu.c32 APPEND pxelinux.cfg/default


И ще ви кажа защо инсталирахме и NFS сървър.
Както можете да видите от конфигурацията за зареждане на SystemRescueCD, тя изтегля файловете, необходими на този LiveCD, като монтира директорията с помощта на NFS протокола. Сървърът вече е инсталиран, остава само да редактирате /etc/exports и да рестартирате демона на сървъра.
# cat >> /etc/exports /srv/tftp/SystemRescueCD/ 10.0.10.1/255.255.255.0(ro,no_subtree_check,all_squash,insecure,anonuid=1000,anongid=1000) # service nfs-kernel-server restart
Предполагам, че имате разумен въпрос - „Какво прави LiveCD тук, ако има отделен елемент за тях?“
SystemRescueCD съдържа много полезни програми за работа с диск (например GParted и testdisk) и затова е достъпен както тук, така и в LiveCD.

LiveCD

Нашият LiveCD комплект ще включва:
  1. Debian 7 Live CD
  2. HirensBootCD
  3. CD със спасителен комплект Trinity
  4. SystemRescueCD
  5. Плъскайте на живо

Конфигурации

В края по подразбиранедобавен
ЕТИКЕТ LiveCDs -> KERNEL vesamenu.c32 APPEND pxelinux.cfg/livecds
livecds
PROMPT 0 UI vesamenu.c32 ФОН НА МЕНЮ background.jpg ЗАГЛАВИЕ НА МЕНЮ LiveCDs ЕТИКЕТ<- Main Menu KERNEL vesamenu.c32 APPEND pxelinux.cfg/default LABEL Debian LiveCD KERNEL Debian7live/vmlinuz APPEND initrd=Debian7live/initrd boot=live fetch=tftp://10.0.10.1/Debian7live/filesystem.squashfs root=/dev/ram0 rw LABEL HirensBootCD MENU LABEL Hiren"s Boot CD KERNEL memdisk APPEND iso initrd=hirens/hirens.iso LABEL Trinity Rescue Kit CD kernel trk/kernel.trk append initrd=trk/initrd.trk ramdisk_size=65536 root=/dev/ram0 vga=788 splash=verbose pci=conf1 trkmenu timeout 100 trknfs=10.0.10.1:/srv/tftp/trk ip=dhcp LABEL SystemRescueCD kernel SystemRescueCD/isolinux/rescue64 append initrd=SystemRescueCD/isolinux/initram.igz dodhcp nfsboot=10.0.10.1:/srv/tftp/SystemRescueCD LABEL Plop Live KERNEL plop/bzImage APPEND initrd=plop/initramfs.gz vga=normal nfsmount=10.0.10.1:/srv/tftp/plop LABEL <- Main Menu KERNEL vesamenu.c32 APPEND pxelinux.cfg/default

За да заредите компактдиска Trinity Rescue Kit и Plop Live, трябва да добавите следните редове към /etc/exports:
/srv/tftp/trk/ 10.0.10.1/255.255.255.0(ro,no_subtree_check,all_squash,insecure,anonuid=1000,anongid=1000) /srv/tftp/plop/ 10.0.10.1/255.255.255.0(ro,no_subtree_check , all_squash,несигурен,anonuid=1000,anongid=1000)
и изпратете командата за рестартиране на NFS към демона.


Няколко думи за избраните LiveCD.
Debian 7 Live CD
Този компактдиск е създаден от един от нашите инженери и включва следното:

Вход/парола: root/ServerClub

HirensBootCD
Едва ли се нуждае от представяне и съдържа много полезни помощни програми.
Повече подробности можете да намерите.
Отнема много време за зареждане, MiniXP и Linux не работят. Други помощни програми са налични за използване.

CD със спасителен комплект Trinity
Според разработчиците той е създаден за възстановяване на операционната система Windows.
Съдържа помощни програми за нулиране на пароли, антивируси, програма за клониране на „компютър“ през мрежа (и на няколко компютъра едновременно) и много други.
Прочетете още.

SystemRescueCD
Базиран на Gentoo, предназначен за възстановяване на Linux системи.
Той включва голям брой различни административни програми, списъкът може да бъде намерен на връзката.

Плъскайте на живо
LiveCD с три пълноценни DE за избор, както и необходимия административен софтуер.

Крайният конфигурационен файл на главното меню, както и файла с антивирусното меню

по подразбиране
ui vesamenu.c32 PROMPT 0 menu background background.jpg заглавие на менюто ServerClub PXE меню за стартиране LABEL bootlocal menu label Зареждане от първия HDD kernel chain.c32 append hd0 0 timeout 120000 TEXT HELP Системата ще се зареди след изтичане на времето. ЕТИКЕТ НА КРАЙНИЯ ТЕКСТ Windows -> ЯДРОТО vesamenu.c32 ДОБАВЯНЕ НА ЕТИКЕТА pxelinux.cfg/windows Linux -> ЯДРОТО vesamenu.c32 ДОБАВЯНЕ НА ЕТИКЕТА pxelinux.cfg/linux FreeBSD -> ЯДРОТО vesamenu.c32 ДОБАВЯНЕ НА ЕТИКЕТА pxelinux.cfg/bsd VMvare -> ЯДРО ve samenu c32 ДОБАВЯНЕ НА ЕТИКЕТ pxelinux.cfg/vmware Помощни средства за HDD и RAM -> ЯДРО vesamenu.c32 ДОБАВЯНЕ НА ЕТИКЕТ pxelinux.cfg/du LiveCDs -> ЯДРО на vesamenu.c32 ДОБАВЯНЕ НА ЕТИКЕТ pxelinux.cfg/livecds Антивируси -> ЯДРО vesamenu.c32 ДОБАВЯНЕ на pxel inux .cfg /ср
ср
PROMPT 0 UI vesamenu.c32 ФОН НА МЕНЮ background.jpg ЗАГЛАВИЕ НА МЕНЮТО Antivirus ЕТИКЕТ<- Main Menu KERNEL vesamenu.c32 APPEND pxelinux.cfg/default LABEL Kaspersky Antivirus KERNEL kav/rescue APPEND initrd=kav/rescue.igz root=live rootfstype=auto vga=791 init=/init kav_lang=ru udev liveimg doscsi nomodeset LABEL Kaspersky Antivirus (text mode) KERNEL kav/rescue APPEND initrd=kav/rescue.igz root=live rootfstype=auto vga=791 init=/init kav_lang=ru udev liveimg nox kavshell noresume doscsi nomodeset label AVG menu label AVG Rescue CD kernel avg/vmlinuz append max_loop=255 vga=791 initrd=avg/initrd.lzm init=linuxrc reboot=bios label AVG nofb menu label AVG Rescue CD with Disabled Framebuffer kernel avg/vmlinuz append max_loop=255 video=vesafb:off initrd=avg/initrd.lzm init=linuxrc reboot=bios label AVG vgask menu label AVG Rescue CD with Resolution Selection kernel avg/vmlinuz append max_loop=255 initrd=avg/initrd.lzm init=linuxrc vga=ask reboot=bios LABEL <- Main Menu KERNEL vesamenu.c32 APPEND pxelinux.cfg/default

Заключение, също е изненада

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

Като изненада ви предлагам два варианта за нашето сглобяване, достъпни на линковете по-долу:

  1. Архив с цялото съдържание /srv/tftp (връзка към торент файл, директна връзка)
  2. Архив на цялата ОС (линк към торент файл, директен линк)
В първия случай трябва сами да подготвите сървъра (главата „Началото“ на този епос ще ви помогне с това), да разархивирате съдържанието на архива и да направите корекции в съответствие с реалностите на вашата среда.

Вторият случай включва инсталиране на гол метал или виртуална машина.
Накратко, стъпките за внедряване на сборка от пълен архив на ОС ще бъдат както следва:
1. Стартирайте от Linux LiveCD.
2. Разделете диска и форматирайте дяловете.
3. Монтирайте дяла "/".
4. Разопаковайте архива.
5. Инсталирайте буутлоудъра.
6. Рестартирайте.
7. Конфигурирайте операционната система така, че да отговаря на вашата мрежа и започнете да я използвате.
Вход/парола: root/ServerClub.
ВАЖНО: Ако имате работещ dhcp сървър във вашата мрежа, тогава преди да стартирате нашата компилация, деактивирайте автоматичното стартиране на dhcp в него.

Ще завърша с това, благодаря ви за вниманието!

За тези, които нямат акаунт в Хабре.
Ако имате някакви въпроси/коментари, моля, пишете ми на имейл - erserverclub.com.

Напомняме ви, че опитите за повторение на действията на автора могат да доведат до загуба на гаранция за оборудването и дори до неговата повреда. Материалът е предоставен само за информационни цели. Ако възнамерявате да възпроизведете стъпките, описани по-долу, силно ви съветваме да прочетете внимателно статията до края поне веднъж. Редакторите на 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 има една много полезна функция; всичко, което е конфигурирано в него, е доста трудно да се загуби, защото всичко това се съхранява на сървъра, а не на сменяеми носители, които са склонни да се изгубят, откраднат, забравят в 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; опция излъчван адрес 192. 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; опция излъчван адрес 192. 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 дистрибуция.
Май ще свърша тук...

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

И така, днес ще научим: инсталирайте 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!

AOMEI PXE Boot е безплатен софтуер за зареждане на компютри от ISO през LAN. Тъй като е много лесна за използване, тази програма ви позволява да използвате изображение на стартиращ диск (ISO) за отдалечено зареждане на множество компютри, при условие че са свързани към една и съща локална мрежа. Това прави AOMEI PXE Boot изключително полезен инструмент за задачи като отдалечено внедряване и поддръжка на приложения, особено в предприятия.

Работата с AOMEI PXE Boot е доста проста: инсталирате програмата на системата, която ще се използва като сървър, монтирате ISO и изчаквате клиентските машини да се заредят. И най-хубавото е, че AOMEI PXE Boot поддържа синхронно зареждане на множество компютри едновременно. Нека научим повече за тази невероятна програма и как можете да я използвате за зареждане на компютри от ISO през кабелна LAN.

AOMEI PXE Boot: основна цел и няколко думи за Windows PE

Важно е да се отбележи, че AOMEI PXE Boot е предназначен основно за отстраняване на проблеми с компютрите в мрежата. Можете да използвате програмата за зареждане на неработеща система в ограничена среда. За тази цел AOMEI PXE Boot работи най-добре с дискови изображения за зареждане на Linux или Windows PE. Последната е операционна система с ограничени услуги, която се използва за зареждане на компютъра с цел възстановяване или инсталиране. Базиран на ядрото на Vista, Windows PE не е пълноценна операционна система. Вместо това осигурява безопасна среда за отстраняване на неизправности на вашия компютър и възстановяването му в работно състояние.

Няма абсолютно никаква причина да вярваме, че AOMEI PXE Boot няма да работи с друго дисково изображение. По време на тестването успях дистанционно да стартирам Damn Small Linux (DSL) на клиентска система, използвайки стартиращо ISO изображение.

Как да стартирате компютри с помощта на ISO през локална мрежа

След като вече знаете много за AOMEI PXE Boot, е време да видите как работи това нещо. По същество процесът се състои от два етапа. Първата част включва настройка на клиентския компютър за стартиране през мрежата, а втората се състои от настройка и стартиране на приложението в системата, действаща като сървър.

Моля, имайте предвид, че и двата компютъра трябва да са свързани към една и съща мрежа. В моя случай сървърът беше свързан към мрежата безжично, но клиентската машина беше свързана по кабел.

Част 1: Конфигуриране на клиентски компютър(и) за мрежово зареждане

Както подсказва името, първото нещо, което трябва да направите, е да конфигурирате клиентския компютър или компютри да стартират през кабелна мрежа. За да направите това, трябва да влезете в BIOS менюто на компютъра. Ето как да го направите (процесът е повече или по-малко същият, независимо от производителя на компютъра):

1. Включете клиентския компютър и натиснете клавиш за достъп до менюто на BIOS (обикновено Del, Esc, F8 или F12). В BIOS отидете в подменюто „Boot“ и в секцията „Boot Options Priorities“ изберете „PXE“ (на някои компютри „Legacy LAN“, „Realtek PXE B02 D00“, „Network boot from Intel“ и т.н.) като първо устройство за зареждане. Може също да се наложи да активирате опцията PXE ROM, ако е деактивирана.

2. AOMEI PXE Boot поддържа само Legacy режим на зареждане, така че трябва също да деактивирате опцията UEFI Boot, ако се поддържа от дънната платка на вашия компютър. Тази опция може да бъде намерена в подменюто Boot.

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

Част 2: Изтеглете ISO и стартирайте приложението на сървърния компютър

Тази част всъщност е още по-проста. За да започнете, изтеглете и инсталирайте AOMEI PXE Boot (около 5 MB) на компютъра, който ще се използва като сървър. В допълнение към това трябва също да изтеглите изображение на стартиращ диск, за да стартирате клиентския компютър или компютри. Стъпките по-долу обясняват какво се изисква от вас:

1. Стартирайте AOMEI PXE Boot. На първия екран на програмата изберете опцията „Зареждане от персонализиран файл с изображение“ и отидете до вашия ISO файл (можете също да използвате другата опция, за да изтеглите Windows PE или Linux ISO от уебсайта на AOMEI, ако желаете). След като изображението е избрано, щракнете върху бутона „Стартиране на услугата“, за да стартирате услугата.

2. Прозорецът за стартиране на AOMEI PXE вече ще показва информация за дейността, извършвана на сървъра и клиентските компютри. Няма нищо друго, което трябва да правите на сървъра. За да видим истинското действие, нека продължим напред. И, разбира се, приложението и, разбира се, сървърът трябва да работят.

Всичко, което трябва да направите, е да стартирате клиентския компютър и да изчакате да стартира през мрежата, като използвате ISO изображението, което сте избрали чрез AOMEI PXE Boot на сървърния компютър. Ето една напълно работеща Damn Small Linux дистрибуция, работеща на клиентска машина:

Последни думи

Ако сте мрежов администратор, който търси прост и ефективен (и безсмислен) начин за дистанционно внедряване и управление на операционна система, AOMEI PXE Boot може да е точно това, от което се нуждаете. Това е качествен инструмент, който е абсурдно лесен за настройка и работи изненадващо добре.

Приятен ден!