Windows.  Virus.  Anteckningsböcker.  Internet.  kontor.  Verktyg.  Förare

Vi påminner dig om att försök att upprepa författarens handlingar kan leda till att garantin för utrustningen går förlorad och till och med att den inte fungerar. Materialet tillhandahålls endast i informationssyfte. Om du ska återskapa stegen som beskrivs nedan rekommenderar vi starkt att du läser artikeln noggrant till slutet minst en gång. Redaktörerna för 3DNews ansvarar inte för eventuella konsekvenser.

Kom ihåg att vi en gång övervägde att skapa ett universellt USB "första hjälpen kit" för akut datorreparation? I den förra artikeln bekantade vi oss med nätverksstart och DRBL-programmet. Tja, den här gången kommer vi att skapa en analog av multi-boot media, bara vi kommer att starta inte från ett USB-minne, utan över nätverket med PXE. Detta görs helt enkelt. Som vanligt kommer vi att behöva en bil under kör Ubuntu Server 11.10 med två nätverkskort, som kommer att fungera som en server. Nätverksstartstöd måste vara aktiverat i klientdatorernas BIOS.

För att förenkla din uppgift och inte krångla med att installera och konfigurera olika nätverkstjänster som en DHCP- och TFTP-server kommer vi att använda en mer universell lösning - dnsmasq. Detta är en lätt DNS/DHCP/TFTP-server som är perfekt för nätverksstartmaskiner. Som förra gången kommer vi överens om att eth0 nätverksgränssnitt automatiskt får en IP-adress från routern och har tillgång till Internet. I sin tur tittar eth1 på internt nätverk och har en statisk IP-adress 192.168.0.1. Redigera nätverksinställningar i filen /etc/network/interfaces med textredigerare nano om du inte redan har gjort det.

Sudo nano /etc/network/interfaces

I slutet av filen lägger du till inställningarna för eth1-gränssnittet och sparar det (F2, Y, Enter).

Auto eth1 iface eth1 inet statisk adress 192.168.0.1 nätmask 255.255.255.0

Om du behöver ge åtkomst till nätverket för lokala kunder måste du göra något annat. Avkommentera först (ta bort # i början). net.ipv4.ip_forward=1 i filen /etc/sysctl.conf. För det andra, kör ett par kommandon. Det sista kommandot måste läggas till i slutet av filen /etc/rc.local före raden utgång 0 så att vidarebefordran av nätverk startar vid uppstart.

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

Nu måste du installera dnsmasq, samt flera verktyg för att underlätta arbetet - fil midnattschef Commander och verktyg för att packa upp ISO-bilder och ZIP/RAR/7ZIP-arkiv.

sudo apt-get install dnsmasq mc genisoimage unzip unrar p7zip-full

Låt oss börja konfigurera dnsmasq.

sudo nano /etc/dnsmasq.conf

Lägg till följande rader i slutet:

Interface=eth1 dhcp-range=192.168.0.10,192.168.0.100,255.255.255.0,24h server=8.8.8.8 enable-tftp tftp-root=/pxe dhcp-boot=pxelinux0.

Vad är vad? Gränssnittsparametern anger vilket nätverksgränssnitt dnsmasq kommer att fungera med. I dhcp-range indikerar de två första parametrarna början och slutet av intervallet av adresser som utfärdas till klientdatorer, följt av subnätmasken och adressleasetid. Serverfältet innehåller IP-adresserna för uppströms DNS-servrar (till exempel en leverantör), men om du vill kan du använda Google DNS eller OpenDNS. Direktivet enable-tftp aktiverar den inbyggda TFTP-servern och tftp-root anger rotkatalogen för den. Slutligen skrivs en bootloader till dhcp-boot, som kommer att distribueras över nätverket.

Låt oss spara inställningarna och starta om servern, och även skapa nödvändiga mappar och springa Midnattschef(mc), där vi fortsätter huvudarbetet. /pxe/images/ kommer att lagra bilder av verktyg eller distributioner som kommer att laddas via lokalt nätverk. Katalogen /pxe/pxelinux.cfg är till för att lagra PXE-inställningar.

sudo mkdir -p /pxe/images/ sudo mkdir /pxe/pxelinux.cfg sudo-tjänst dnsmasq starta om sudo mc

Först och främst måste du få startprogram från syslinux-projektet. Ladda ner det senaste arkivet till din hemmapp. Kommandon kan skrivas direkt i mc eller, för enkelhetens skull, växla mellan konsolen och panelerna med kortkommandot Ctrl + O. Det är mest bekvämt att ladda ner filer med programmet wget. Till exempel, så här:

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

Vi går in i det nedladdade arkivet genom att helt enkelt flytta markeringen till det och trycka på Enter. Flera filer måste kopieras från den till /pxe-katalogen - pxelinux.0 från /core-mappen, menu.c32 från /com32/menu och memdisk från katalogen med samma namn.

Vi börjar sakta fylla i standardinställningarna för pxelinux.

sudo nano /pxe/pxelinux.cfg/default

Låt oss lägga till följande rader till den här filen:

DEFAULT menu.c32 TIMEOUT 600 MENY TITEL PXE BOOT MENY ETIKET HDDBoot MENY ETIKET Lokal Boot MENY DEFAULT LOCALBOOT 0

I allmänhet all dokumentation om bildandet av parametrar för syslinux bootloaders, och startmenyn Särskilt PXE finns i textfiler docs-katalogen i syslinux-arkivet. Låt oss ta en titt på parametrarna vi just använde. Som standard startas filen menu.c32, som visar vår PXE-meny. TIMEOUT anger tidsgränsen (i 1/10s) efter vilken standardobjektet kommer att laddas. MENY TITLE innehåller titeln på vår meny. Där kan du skriva in vad du vill.

Sedan kommer beskrivningen av det första menyalternativet. Varje artikel tilldelas en etikett (LABEL) för enkel hantering. I MENU LABEL namnet på etiketten som användaren kommer att se när den laddas. MENY DEFAULT betyder att det här alternativet från den aktuella menyn kommer att startas som standard. Tja, LOCALBOOT 0-direktivet indikerar att du måste stänga av PXE och återgå till normal datorstart. Det är bättre att låta det här objektet köras som standard.

Låt oss diversifiera vår multiloader med några verktyg. Ta till exempel det berömda minnestestprogrammet Memtest86+. Ladda ner arkivet från webbplatsen med Pre-Compiled Bootable Binary. Vi sparar memtest.bin-filen från den som memtest (utan förlängning!) till /pxe/images-mappen. Här står vi inför två funktioner samtidigt. För det första, för syslinux-sviten, måste ett antal filer (.0, .bin, .bs och så vidare) ha ett strikt definierat format. Samma .bin för isolinux lyder som boot sektor CD, men memtest.bin är det inte. För det andra stöder den här filen direkt uppstart med syslinux, så vi kan säkert ange den som "kärnan" som ska köras.

LABEL Memtest86+ MENY LABEL Memtest86+ KERNEL images/memtest

Ett annat användbart startalternativ är att använda memdisk . I det här fallet, media (iso-bild, rå diskettbild, HDD-bild) är helt kopierad till Bagge dator och ytterligare laddning sker från den. Här är ett exempel för att köra KolibriOS. Kopiera filen kolibri.img från distributionsarkivet till mappen /pxe/images och lägg till följande rader till /pxe/pxelinux.cfg/default.

ETIKET Kolibri MENY ETIKET KolibriOS KERNEL memdisk APPEND initrd=images/kolibri.img


Du kan göra det "mer allvarligt" - lägg Hirens Boot CD i boot. Du kan redan gissa att iso-avbildningen ska sparas som /pxe/images/hirens.iso. På klientdatorn måste du vänta en minut eller två tills en halv gigabyte iso kopieras till minnet Naturligtvis måste själva PC:n ha minst en gigabyte RAM, men efter att ha laddats går det extremt snabbt att arbeta med Hirens Boot CD. Men sådana extrema alternativ är förmodligen bäst att undvika.

ETIKET Hirens MENY ETIKET Hirens Boot CD KERNEL memdisk APPEND iso initrd=images/hirens.iso


Låt oss ta ett mer komplicerat exempel - starta upp Clonezilla Live via PXE. Skapa en mapp /pxe/images/clonezilla. Där måste du kopiera alla filer från mappen /live, som ligger i ISO-bilden. I inställningarna anger vi nedladdningen Linux-kärnor(vmlinuz), och i APPEND skickar vi parametrar till den. Du kan se dem i filen isolinux/isolinux.cfg inuti ISO-bilden (nycklarna ocs_* refererar direkt till Clonezilla, inte till kärnan som sådan). I vårt fall kommer det att vara liten skillnad från det - du behöver bara ange att filen med systembilden i Squashfs ska tas när du laddar ner från TFTP-servern.

ETIKET Clonezilla MENY ETIKET Clonezilla KERNEL images/clonezilla/vmlinuz BILAGA initrd=images/clonezilla/initrd.img boot=live config noprompt noswap nomodeset nolocales/nosplash edd=on vga=788 ocs_live_live_run="ocs_live_live_run="ocs_gener-elivex" ocs_live_keymap="" ocs_live_bash="no" ocs_lang="" fetch=tftp://192.168.0.1/images/clonezilla/filesystem.squashfs TEXT HJÄLP Clonezilla Live — Starta till RAM ENDTEXT

Uppmärksamhet! Allt efter APPEND är en enda rad utan bindestreck. Texten mellan TEXT HELP och ENDTEXT-direktiven kommer att visas som ett verktygstips när motsvarande startmenyalternativ är valt. På liknande sätt läggs andra distributioner eller verktyg till i nedladdningen på Linux baserad. Testa att värma upp inställningarna för den lätta SliTaz-distributionen.

ETIKET Slitaz MENY ETIKET SliTaz Linux KERNEL /boot/bzImage APPEND initrd=/boot/rootfs4.gz,/boot/rootfs3.gz,/boot/rootfs2.gz,/boot/rootfs1.gz rw root=/dev/null vga= normal autoinloggning


Som du kan se är allt ganska enkelt och ganska flexibelt konfigurerat. För att lära dig mer om PXE-start på Ubuntu bas Server, det skulle vara trevligt att bekanta sig med syslinux-wikin och dokumentationen som ingår i arkivet för detta verktyg. Av de intressanta lösningar som använder PXE kan du till exempel läsa om nätverksinstallation Windows 7 utan RIS/WDS. Och från användbara tillägg är det värt att ta en närmare titt på Thinstation-distributionspaketet för att skapa tunna klienter, såväl som Plop-nedladdningshanteraren. Utan tvekan, verktyg för att testa hårdvara och diagnostisera problem, för att återställa data och skapa säkerhetskopior, för ... I allmänhet är det upp till dig. Lycka till!

Ett startbart USB-minne med en uppsättning nödvändig programvara är ett underbart verktyg systemadministratör. Det verkar, vad kan vara bättre? Och startservern kan bli bättre!

Föreställ dig att du har valt BIOS-startöver nätverket och du kan installera ett OS / bota en dator från virus / reanimera diskar / testa RAM / etc från en PXE Boot-server, eftersom det är mycket bekvämare än att köra med en flashenhet från maskin till maskin.
Och i fallet med en stor datorpark är ett sådant verktyg helt oumbärligt.

Vi skrev tidigare om hur man förbereder Windows för installation med PXE.
Den enda skillnaden med den här installationen är att vi här kan installera både Windows 2008R2 och Windows 2012R2 (men även Windows 7/8 behöver du bara förbereda distributionen och winpe-filerna därefter). Efter att ha laddat ner winpe monterar vi mappen /srv/tftp/images/, som innehåller filerna för att installera operativsystemet från Microsoft:
ls -l /srv/tftp/images/ totalt 8 drwxr-xr-x 6 rotrot 4096 17 feb 22:19 w2k12r2 drwxr-xr-x 7 tftp tftp 4096 17 feb 19:05 w2k8r2
och kör det nödvändiga installationsprogrammet.
För automatisering, genom startnet.cmd, skissade jag följande meny:

Nu återstår att ta itu med VMware.
Som du märkte är konfigurationen för att installera hypervisorer något annorlunda än resten - det är här vi behöver en HTTP-server.
I /var/www kommer vi att skapa mapparna vmw5.5, vmw5.0, och i mapparna kommer vi att skapa symboliska länkar till konfigurationen
# 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
Hur man förbereder till exempel Debian för installation med PXE skrivs, men jag slutar inte där.

Lägg till möjligheten att ladda olika diskverktyg och ett minnestest

Det här avsnittet kommer att innehålla:
  1. Memtest86+
  2. clonezilla-live
  3. SystemRescueCD

konfigurationer finns här

standard
ui vesamenu.c32 PROMPT 0 menu background background.jpg menytitel ServerClub PXE startmeny LABEL bootlocal menyetikett Boot från första hårddiskkärnan chain.c32 append hd0 0 timeout 120000 TEXT HJÄLP Systemet startar när tiden är slut. Endtext Label Windows -> Kernel Vesamenu.C32 Append Pxelinux.cfg/Windows Label Linux -> Kernel Vesamenu.c32 Append Pxelinux.cfg/Linux Label FreeBSD -> Kernel Vesamenu.c32 append Pxelinux c32 BILAGA pxelinux.cfg/vmware ETIKET Hårddisk och RAM-verktyg -> KERNEL vesamenu.c32 BILAGA pxelinux.cfg/du
du
PROMPT 0 UI vesamenu.c32 MENY BACKGROUND background.jpg MENY TITEL Hårddisk och RAM-användar LABEL<- 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


Och jag ska berätta varför vi också installerade en NFS-server.
Som kan ses från SystemRescueCD-startkonfigurationen, hämtar den upp de filer som behövs för denna LiveCD genom att montera katalogen med NFS-protokollet. Servern är redan installerad, allt som återstår är att redigera /etc/exports och starta om serverdemonen.
# 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-server restart-kernel
Jag antar att du har en rimlig fråga - "Vad gör LiveCD här om det finns ett separat objekt för dem?"
SystemRescueCD innehåller mycket användbara program att arbeta med disken (som GParted och testdisk) och därför finns den tillgänglig både här och i LiveCD.

live-CD

Vårt LiveCD-set kommer att innehålla:
  1. Debian 7 LiveCD
  2. HirensBootCD
  3. Trinity Rescue Kit CD
  4. SystemRescueCD
  5. Plopp Live

konfigurationer

I slutet standard Lagt till
LABEL LiveCDs -> KERNEL vesamenu.c32 BILAGA pxelinux.cfg/livecds
livecds
PROMPT 0 UI vesamenu.c32 MENY BACKGROUND background.jpg MENY TITEL LiveCDs LABEL<- 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

För att ladda ner Trinity Rescue Kit CD och Plop Live, lägg till följande rader till /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.550.50.1/10.0.550.50,sub all_squash,insecure,anonuid=1000,anongid=1000)
och skicka NFS-omstartskommandot till demonen.


Några ord om de utvalda LiveCD-skivorna.
Debian 7 LiveCD
Denna CD är en konstruktion av en av våra ingenjörer, inklusive följande:

Inloggning / lösenord: root / ServerClub

HirensBootCD
Den behöver knappast en introduktion, den innehåller många användbara verktyg.
Mer information kan hittas.
Det tar lång tid att ladda, MiniXP och Linux fungerar inte. Andra verktyg är tillgängliga för användning.

Trinity Rescue Kit CD
Enligt utvecklarna skapades den för att återställa Windows OS.
Innehåller verktyg för att återställa lösenord, antivirus, ett program för att klona en "dator" över nätverket (desutom på flera datorer samtidigt), samt mycket mer.
Läs mer.

SystemRescueCD
Baserat på Gentoo, designad för att återställa Linux-system.
Den innehåller ett stort antal olika program för administration, listan finns på länken.

Plopp Live
LiveCD med tre fullfjädrade DE:er att välja mellan, samt den nödvändiga administratörsmjukvaran.

Den slutliga konfigurationsfilen för huvudmenyn, såväl som antivirusmenyfilen

standard
ui vesamenu.c32 PROMPT 0 menu background background.jpg menytitel ServerClub PXE startmeny LABEL bootlocal menyetikett Boot från första hårddiskkärnan chain.c32 append hd0 0 timeout 120000 TEXT HJÄLP Systemet startar när tiden är slut. Endtext Label Windows -> Kernel Vesamenu.C32 Append Pxelinux.cfg/Windows Label Linux -> Kernel Vesamenu.c32 Append Pxelinux.cfg/Linux Label FreeBSD -> Kernel Vesamenu.c32 append Pxelinux c32 BILAGA pxelinux.cfg/vmware ETIKET Hårddisk och RAM-hjälpmedel -> KERNEL vesamenu.c32 BILAGA pxelinux.cfg/du LABEL LiveCDs -> KERNEL vesamenu.c32 BILAGA pxelinux.cfg/livecds pxelinux.cfg/livecds pxelinux.cfg/livecds pxelinux.cfg/livecds LABELLINXmenu 3 APPLINX. .c fg /av
av
PROMPT 0 UI vesamenu.c32 MENY BACKGROUND background.jpg MENY TITEL Antivirus LABEL<- 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

Slutsats, det är också en överraskning

Genom hela artikeln gav jag medvetet inga förklaringar om var man kan få tag i och hur man förbereder innehållet, eftersom dessa åtgärder är väldigt triviala och skulle bara överbelasta texten.

Som en överraskning erbjuder jag dig två alternativ för vår montering, tillgängliga från länkarna nedan:

  1. Arkiv med allt innehåll /srv/tftp (länk till torrentfil, direktlänk)
  2. Arkiv för hela operativsystemet (länk till torrentfil, direktlänk)
I det första fallet måste du förbereda servern själv (kapitlet "Början" av detta epos hjälper dig med detta), packa upp innehållet i arkivet och göra justeringar enligt verkligheten i din miljö.

Det andra fallet involverar installation på ren metall eller en virtuell maskin.
Kortfattat skulle stegen för att distribuera en sammansättning från ett fullständigt OS-arkiv vara:
1. Starta från Linux LiveCD.
2. Partitionera disken och formatera partitionerna.
3. Montera "/"-partitionen.
4. Packa upp arkivet.
5. Installera starthanteraren.
6. Starta om.
7. Ställ in OS efter ditt nätverk och börja använda.
Inloggning / lösenord: root / ServerClub.
VIKTIGT: Om ditt nätverk har en fungerande dhcp-server, inaktivera dhcp autostart i den innan du startar vår montering.

Detta är slutet, tack för din uppmärksamhet!

För dig som inte har ett konto på Habré.
Om du har några frågor/kommentarer, skriv till mig via mail - erserverclub.com.

Idag automatiseras fler och fler uppgifter och virtualisering används allt mer för att maximera serverns prestanda. Men du måste fortfarande installera OS. Alla gör det på sitt eget sätt: någon har fulla fickor med olika bilder för alla tillfällen, någon på gammaldags vis bär med sig en "väska" med skivor, eller till och med två. Som regel utför administratörer detta arbete med lite nöje. Låt oss se hur man minskar tiden för triviala uppgifter, hur man lär datorer att installera system på egen hand, utan deltagande av en administratör alls, med bara ett lokalt nätverk.

Så idag kommer vi att lära oss hur man: installerar Windows och Linux över nätverket, laddar små ISO-bilder, användbar programvara (alla typer av Kaspersky, Acronis, WinPE, memtest), distribuerar tunna klienter och hanterar dem. Så att till exempel en revisor som arbetar med 1C via RDP inte slår dig för att hennes Windows kraschade, och rapporten var tvungen att förberedas igår ... Eller en snål chef som inte vill uppdatera sin dator beundrade din professionalism när han kommer att se hur Windows 8 flyger på gamla datorer ... För att uppnå våra lömska mål kommer en server som tillhandahåller uppstart över nätverket (PXE) att hjälpa oss.

Alla systemadministratörer har en universell USB-enhet i sitt förråd för akut återupplivning av datorer. Håller med, det skulle vara mycket bättre att ha samma funktionalitet med bara ett nätverkskort. Samtidigt är det omöjligt att inte notera möjligheten att arbeta samtidigt med flera noder samtidigt. Så baserat på våra behov har vi två lösningar: använd PXE eller LTSP.

LTSP är inte särskilt lämplig för oss: den är utformad för att ladda operativsystemet som är installerat på själva servern över nätverket, vilket tillåter användning av LTSP-serverapplikationer. Det är inte precis vad vi behöver. PXE är ett verktyg för att starta upp en dator över ett nätverk utan att använda lokala lagringsmedia, precis som LTSP. PXE låter dig organisera en startmeny för flera startar, liknande den universella "USB-resuscitator".


Vad ska vi implementera?

Det hela började med behovet av att ha ett verktyg till hands för fjärrinstallation av Ubuntu/Debian Server över nätverket, med möjligheten att starta en Live CD från ett litet system, som SliTaz eller Kolibri OS.
Som de säger kommer aptiten med att äta: de lyckades inte inse vad som var planerat, och ett antal "önskelistor" lades till planen. Som ett resultat visade sig listan vara ganska imponerande.

  1. Tunna klienter baserade på Thinstation Linux.
  2. Linux-sektionen.
    1. Installera Ubuntu 14.04 x86.
    2. Installera Ubuntu 14.04 x64.
    3. Installera Ubuntu 12.04 x86.
    4. Installera Ubuntu 12.04 x64.
  3. Windows avsnitt.
    1. Installera Windows 2012.
    2. Installera Windows 7.
  4. Acronis.
    1. Windows PE med ett paket med användbar programvara.
    2. Acronis True Image.
      1. äldre BIOS.
      2. UEFI.
    3. Acronis Disk Manager.
      1. äldre BIOS.
      2. UEFI.
  5. Kaspersky Rescue v 10.
  6. ERD Commander 5 till 8 via ISO-bild.
  7. memtest.

Vi samlar allt i en hög och lyfter

Som distributionskit för servern föll valet på Ubuntu Server 14.04.2 LTS. Du kan stanna vid vilket annat operativsystem som helst, skillnaden kommer bara att finnas i syntaxen. Så låt oss börja. Vi behöver TFTP, DHCP (valfritt installerad på samma server, en router kan fungera som en DHCP-server), en tjänst för att organisera ett NFS-nätverksfilsystem. Vi kommer endast att överväga de inställningar som intresserar oss inom ramen för ämnet. Först av allt, installera allt du behöver, efter att ha gjort alla uppdateringar tidigare:

Fortsatt tillgänglig endast för medlemmar

Alternativ 1. Gå med i "site"-gemenskapen för att läsa allt material på sajten

Medlemskap i communityn under den angivna perioden ger dig tillgång till ALLT hackermaterial, ökar din personliga kumulativa rabatt och låter dig samla ett professionellt Xakep-poängbetyg!

Översikt över PXE-teknik

PXE (Pre Execution Environment), uttalas Pixie (Fairy Dust), är ett tillvägagångssätt som tillåter en dator (klientdator) att starta med endast sitt nätverkskort. Denna startmetod skapades redan 1999 och om datorn är ansluten till ett nätverk (och stöder denna standard), så är det möjligt att kringgå den normala startproceduren (dvs slå på -> BIOS -> HD / CD) och göra några snygga saker, att börja med felsökning, vilket är vad liveOS vanligtvis används för, och till och med ta en bild av maskinen... men vi går före oss själva - låt oss gå tillbaka till början.

När PXE-metoden används ändras startprocessen från normal till följande:

Slå på -> BIOS -> NIC PXE-stack -> Network Boot Program (NBP) som laddas ner via TFTP från servern till klientmaskinens minne -> NBP ansvarar för nästa steg (2nd stage boot ).

Genom att använda NBP:s "PXElinux"-program är det möjligt att sätta upp en server för mer än att bara ladda ner ett enda PXE-program för våra kunder. På ett sätt är detta den hemliga ingrediensen som gör att vi kan göra allt ovan och mer. Ser denna föreläsning på YouTube som erbjuds av utvecklarna av dessa program. Nedan är också en video från 2008 som visar installationen så att du snabbt kan hoppa till några av nedladdningsalternativen.

Obs: Den här videon använder det äldre UDA-projektet som bas för servern, och kommentarerna var avsedda att förklara att det var det senaste (vid den tiden) tillägget.

Mål

Denna handledning kommer att vara den första i en serie PXE-handledningar. I den här guiden lägger vi grunden som vi kommer att bygga vidare på i efterföljande artiklar.

  • Klientmaskinen du testar på stöder PXE-start och du vet hur du aktiverar den.
  • Den här guiden skrevs och testades med Debian Squeeze, Ubuntu Server 9.10 och Linux Mint10. Därför antas det att du också har ett Debian-baserat system.
  • Du har möjlighet att titta på artikeln "How to set up software RAID" för en "Simple file server" och "How to set up a whole network (802.3ad)", eftersom diskhastigheten och genomströmningen för detta serveralternativ måste vara mycket hög. Det rekommenderas starkt att bygga ett sådant nätverk med hjälp av en server med mycket feltoleranta nätverk och diskundersystem.
  • Du kommer att se att vi använder VIM som redigerare, det är bara för att jag är van vid det... Du kan använda vilken annan redigerare du vill.

Installationen är en svår start med FOG-systemet

Att använda FOG som grund för din PXE-server är ett bra sätt att ha alla nödvändiga delar på plats, såsom TFTP och, om så krävs, DHCP, utan att behöva installera och konfigurera dem manuellt, samtidigt som du får alla funktioner i FOG. paket som bonus.

Eftersom vårt mål är att lägga till nya funktioner till detta redan stora system, kommer vi inte att gå in på detaljerna om hur man använder själva FOG-paketet, och vi kommer inte heller att täcka installationsproceduren. FOG-wikin, både text- och videoinstruktioner, räcker för att få detaljerna om du vill gå in i detaljerna. I allmänhet är stegen:

Detta är allt som behöver göras under installationen av FOG-paketet. Återigen, eftersom FOG är ett stort system ligger dess användning utanför omfattningen av denna guide, och för att du bättre ska förstå FOG-systemets funktioner och hur det kan hjälpa dig att hantera livscykeln för dina klientdatorer, uppmuntrar vi dig för att hänvisa till wikisidorna som beskriver detta system.

Om allt går bra bör du kunna starta din klientdator i PXE-läge (vanligtvis med F12) och få standard FOG-systemprompt.


Bild med tillstånd av Hotfortech.

För en omedelbar smak av möjligheterna kan du välja alternativet "Kör Memtest86+" (kör ett Memtest86+-test) och bli tillfrågad av Memtest-programmet som vi täcker i vår artikel "Diagnosing PC Hardware Problems Using the Ubuntu Live CD".

Filer och kataloger

Som nämnts tidigare är vårt mål att utöka funktionerna i FOG-systemet, och för detta ändamål måste vi lägga till några filer och kataloger.

Skapa följande underkataloger:

sudo mkdir -p /tftpboot/howtogeek/menyer sudo mkdir -p /tftpboot/howtogeek/linux sudo mkdir -p /tftpboot/howtogeek/pics sudo mkdir -p /tftpboot/howtogeek/utils

Dessa underkataloger kommer att fungera som mallar för alla bilder, program och konfigurationer som vi kommer att använda för att utöka FOG-systemet.

Anpassa standardkonfigurationsfilen

Vi kommer att skapa en ny huvudmeny och lägga alla funktioner i FOG-systemet i vår egen undermeny.

Kopiera konfigurationsfilen /tftpboot/pxelinux.cfg/default till howtogeek/menus/fog.cfg.

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

Redigera nu innehållet i standardkällfilen:

sudo vim /tftpboot/pxelinux.cfg/default

Få det att se ut så här:

Standard Vesamenu.c32 Meny Titel FOG 0.32 + HOWTOGEEK: s förbättringsmeny Inkludera /pxelinux.cfg/master.cfg Menu Color Title 1; 36; 44 #FF8C00 #00000000 STD Label Label Fog Meny Manual Fog Meny Kernel Vesamenu /menus/fog.cfg LABEL Utils MENULABEL Utilities KERNEL vesamenu.c32 BILAGA howtogeek/menus/utils.cfg ETIKET Linux MENY ETIKET Linux-grejer KERNEL vesamenu.c32 BILAGA howtogeek/menus/linuxboot.cfg MENY LABEL local fog0 från MElocal LABEL fog. hårddisk TEXT HJÄLP Starta från den lokala hårddisken.Om du är osäker, välj det här alternativet.ENDTEXT PROMPT 0 TIMEOUT 300 ONTIMEOUT fog.local

När vi är klara kommer den här konfigurationen att ge dig följande 3 undermenyer: Utilities, Manual FOGing, Linux stuff (Linux).

Skapa en masterfil

Masterfilen låter dig göra globala ändringar i utseendet på menyn utan att gå in igen i en separat ordning om och om igen. Funktioner som standardbakgrundsbilden, kantstilar, positioner etc. kommer alla att slås samman till denna master.cfg-fil.

Skapa en fil:

sudo vim /tftpboot/pxelinux.cfg/master.cfg

Gör det så att innehållet är som följer:

MENY BACKGROUND fog/genie.png meny färgskärm 37;40 #80ffffff #00000000 std meny färg kantlinje 30;44 #9370db #00000000 std meny färg titel 1;36;44 #ff8c00 #00000000 #ffd meny färg 4 stff meny färg nr ;44 #60cccccc #00000000 std meny färg rullningslist 30;44 #40000000 #00000000 std meny färg tabmsg 31;40 #90ffff00 #000000000 std meny färg cmdmark 1;30;040 #00 std 0ff #00 std 3; 40 # c0ffffff #00000000 std meny färg pwdborder 30;47 #80ffffff #20ffffff std meny färg pwdheader 31;47 #80ff8080 #20ffffff std meny färg pwdentry 30;47 #80ffffout_std #20ffffout_0msg meny time 00ffff; 00 000 std meny färg timeout 1;37;40 #c0ffffff #00000000 std meny färghjälp 37;40 #c0ffffff #00000000 std meny färg msg07 37;40 #90ffffff #00000000 std MENY MARGINAL 0 MENY MENY LÖSENORD 3AB 2 MENY MENY LÖSENORD 3AB 2 CMDLINEROW 20 MENY LÖSENORD 11 MENY TIMEOUTROW 20 MENY HSHIFT 0 MENY VSHIFT 0

Konfigurationen ovan kommer att skapa lila ramar och textmarkeringar; om du vill ha ett annat utseende, ändra bara värdena.

För att ställa in en bakgrundsbild, placera en bild i katalogen /tftroot och ställ MENU BACKGROUND till den relativa sökvägen till bilden (vi rekommenderar att du använder bilder med en upplösning på 640*480). Till exempel skulle den fullständiga sökvägen till bilden som konfigurerats ovan vara /tftroot/fog/bg.png.

Anslut FOG-undermenyn till huvudmenyn

Därför att vi gjorde en enkel kopia av den ursprungliga konfigurationsfilen till en underkatalog av menyn (bevarade färgschemat, timeouts, etc.), sedan om du nu går till denna undermeny från en laddad PXE-klient, kommer det att fungera, men du kommer inte att kunna återgå till huvudmenyn utan att starta om maskinen.

Så redigera filen /tftpboot/howtogeek/menus/fog.cfg:

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

Lägg till följande post efter "menyfärgsrubrik" och före FOG-funktionerna:

ETIKET tillbaka MENY ETIKET .. KERNEL vesamenu.c32 BILAGA pxelinux.cfg/default

Skapa undermenymallar

Vi har skapat 4 undermenyer, varav tre kommer att fyllas i av oss. För att göra detta, låt oss skapa en mall som vi kommer att använda i framtiden.

Skapa en mallfil:

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

Dess innehåll bör vara följande:

MENY INKLUDERA /pxelinux.cfg/master.cfg #MENY BACKGROUND howtogeek/pics/fog-sub.jpgLABEL tillbaka MENY ETIKET .. KÄRNA vesamenu.c32 BILAGA pxelinux.cfg/default

Låt oss skapa mallar för ytterligare undermenyer som vi behöver i följande artiklar:

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

Det är allt, den grundläggande layouten är nu klar och nu måste vi använda den, vilket vi kommer att göra i följande artiklar. Eftersom dessa artiklar ännu inte har publicerats rekommenderar vi att du bekantar dig med FOG-systemet, eftersom. detta system i sig är oerhört intressant.

PXE har en mycket användbar funktion, allt som är konfigurerat i det är ganska svårt att förlora. allt detta lagras på servern, och inte på flyttbara media, som tenderar att gå vilse, stulna, glömmas bort i DVD/hemenheter, ges för att använda och "tillfredsställa", så sannolikheten att du kommer att användas och "spela " tenderar till noll , ja, kanske tillsammans med servern ... Genom att ansluta en enhet som har förmågan att starta PXE kan du göra en hel del användbara saker, nämligen: utföra hårdvarudiagnostik, distribuera operativsystem, starta upp Live system osv. Vad är tillräckligt med kunskap och fantasi.
För att göra detta måste vi konfigurera en DHCP-server och en TFTP-server.
Tidigare skrev jag redan om hur man ställer in en server för, jag rekommenderar den starkt för granskning, huvudpunkterna har migrerats från den.
Vad får vi som resultat?!
Och vi kommer att få en startmeny med möjligheten att välja applikationen som vi ska ladda ner till klientdatorn, såväl som standardåtgärderna som kommer att utföras av systemet om inga kommandon tas emot från användare.

För arbete behöver vi:
1) Installerad Ubuntu-server
2) Konfigurerad DHCP-server, ett exempel på konfiguration finns i artikeln:
3) En disk eller ISO-avbildning av Ubuntu-installationsdistributionen - bitdjupet spelar ingen roll, men det är bättre att ta en fräschare version.

Allt annat kommer vi att installera längs vägen... Jag tänker inte uppehålla mig vid DHCP-inställningarna, förutsatt att du har det konfigurerat, enligt artikeln som länkas till i systemkraven.

Installera en tftp-server
Installera det nödvändiga paketet:
Vi höjer rätten till root:
sudo su

Installera det nödvändiga paketet
aptitude installera tftpd-hpa

Nu ska alla filer relaterade till vår tfpt-server finnas i katalogen /var/lib/tftpboot/, alla vägar är relativa till den.

Låt oss gå vidare till att skapa startmenyn
Först och främst måste vi skaffa den ställföreträdande bootloadern, hur gör man det?! Den kan hittas på vilken ubuntu-disk som helst, i andra Linux-distributioner är platsen nästan alltid densamma. Vi kommer att behöva en ISO-installationsavbildning eller en skiva insatt i DVD-enheten, där vi går till följande katalog:
Om installationsskivan är x86-arkitektur:
/install/netboot/ubuntu-installer/i386
Vi är intresserade av filen pxelinux.0 det här är starthanteraren, plocka upp den och kopiera den till katalogen:
/var/lib/tftpboot/
Då ser vägen dit ut så här:
/var/lib/tftpboot/pxelinux.0
Vi behöver också själva startmenyn, som kan tas på samma disk, i katalogen boot-skärmar vi är intresserade av en fil som heter vesamenu.c32

Kopiera den till samma katalog som starthanteraren så att sökvägen ser ut så här:
/var/lib/tftpboot/vesamenu.c32

Anpassa innehållet i PXE-menyn

Som ett exempel kommer vi att göra en startmeny som består av 2 objekt.
Punkt ett: Starta från lokal hårddisk. Detta objekt kommer att vara standardobjektet om användaren startade datorn via PXE och inom 15 sekunder. inte utförde någon åtgärd, kommer systemet automatiskt att starta från den lokala disken.
Punkt två: låt oss ringa honom testning Inuti den här menyn kommer det att finnas ett objekt med möjlighet att ladda ner Memtest x86+. Det här programmet kommer alltid att vara användbart för att diagnostisera problem med arbetsstationer och servrar, i allmänhet en nödvändig sak, det kommer att vara användbart för alla i hushållet ...

Först måste vi skapa en katalog för de namngivna konfigurationsfilerna pxelinux.cfg - namn är avgörande för att fungera!
mkdir /var/lib/tftpboot/pxelinux.cfg

Låt oss nu skapa en konfigurationsfil med parametrar för menyalternativ, med namnet standard
nano /var/lib/tftpboot/pxelinux.cfg/default

Med följande innehåll:
standard vesamenu.c32 prompt 0 menytitel PXE Boot Menu MENY AUTOBOOT Startar lokalt system om # sekunder etikett Boot från lokal enhet meny etikett ^Starta från lokal enhet meny standard localboot 0 timeout 150 TOTALTIMEOUT 9000 ETIKET Test MENY ETIKET ^Test KERNEL vesamenu.c32 APPEND pxelinux.cfg/testing.menu

Den mest observanta, märkte att vi i den föregående filen hade en post som hänvisar till en annan fil test.menyn, i den kommer vi att ha inställningarna för objektet testning
Låt oss skapa den här filen:

Med följande innehåll:
MENY TITEL Testa ETIKET Testprogramvara MENY ETIKET ^Återgå till huvudmenyn KERNEL vesamenu.c32 BILAGA pxelinux.cfg/default label Minnestest menyetikett ^Minnetest: Memtest86+ v4.20 kernel memtest/mt86plus

Det första menyalternativet kommer att ansvara för att återgå till föregående meny och det andra för att laddas Memtest86+v4.20

Allt är bra, men vi har inte skapat katalogen där Memtest-filen är lagrad, vi kommer att fixa detta nu, låt oss skapa lämplig katalog.
Vi gör det:
mkdir /var/lib/tftpboot/memtest
Det återstår för oss att lägga till den körbara filen för Memtest86+ själv, den kan hittas på installationsskivan, i katalogen /Installera/ vi är intresserade av filen mt86 plus vi måste kopiera den till memtest-katalogen så att sökvägen till den ser ut så här:
/var/lib/tftpboot/memtest/mt86plus

Det var här vi avslutade med tftp-servern, vi behöver bara göra klart DHCP-servern lite.

Konfigurera en DHCP-server

Det här objektet, inställningen kan bara kallas en sträcka, om du konfigurerade DHCP-servern enligt artikeln, behöver du bara lägga till en post till:
nano /etc/dhcp/dhcpd.conf

Vi hittar objektet med inställningarna för poolen av IP-adresser, som ser ut så här:
subnät 192.168.10.0 nätmask 255.255.255.0 ( intervall 192.168.10.10 192.168.10.254; option domännamn-servrar 192.168.10.1; option domännamn "exempel1. org. 9 router 1. sändning; 9 router -adress 19 2.168. 10.255 ; default-lease-time 604800; max-lease-time 604800;)

Och lägg till en post som pekar på vår PXE bootloader:
ping-check = 1; filnamn="pxelinux.0";
Sökvägen till filen är relativ till katalogen /var/lib/tftpboot/ de där. det anses vara rotkatalogen, som jag skrev om tidigare ...

Hela inlägget ser ut så här:
ping-check = 1; filnamn="pxelinux.0"; subnät 192.168.10.0 nätmask 255.255.255.0 ( intervall 192.168.10.10 192.168.10.254; option domännamn-servrar 192.168.10.1; option domännamn "exempel1. org. 9 router 1. sändning; 9 router -adress 19 2.168. 10.255 ; default-lease-time 604800; max-lease-time 604800;)

Spara ändringarna och starta om DHCP-servern:
/etc/init.d/isc-dhcp-server omstart

Nu kan vi ansluta till vårt lokala nätverk en enhet som stöder PXE-start och där denna funktion är aktiverad (se dokumentationen för din utrustning) eller ansluta en virtuell maskin med en adapter ansluten i bryggläge och utan startbar media.

Om du gjorde allt korrekt kommer menyn att se ut så här:

Och om du går till menyn testning:


Om du väljer objektet med Memtest, startar minnestestet.
Andra menyalternativ läggs till i enlighet med detta.

Låt oss föreställa oss en situation där du behöver ge tillgång till en av menyerna till en begränsad krets av personer, där har du till exempel ett distributionspaket som kostar mycket pengar. För detta ändamål kan du ställa in ett lösenord för menyalternativet, hur gör man det?!
Föreställ dig en situation, du måste ange ett lösenord (till exempel: Lösenord) på Minnestestet görs detta enkelt

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

Vi måste lägga till en post:
MENY PASSWD lösenord

Då ser filen ut så här:
MENY TITEL Testa ETIKET Testprogramvara MENY ETIKET ^Återgå till huvudmenyn KERNEL vesamenu.c32 BILAGA pxelinux.cfg/default label memtest MENY PASSWD lösenord menyetikett ^Minnetest: Memtest86+ v4.20 kernel memtest/mt86plus

Skydd är förstås så som så, men från vanliga användare kan det hjälpa.

Sedan, när du försöker starta, kommer ett fönster upp:


om du anger rätt lösenord startar Memtest.
På så sätt kan du dölja hela menyer eller blockera åtkomst till enskilda menyalternativ.
Om ändringar görs i dessa konfigurationsfiler finns det inget behov av att starta om DHCP-servern, det räcker med att starta om klientdatorn om den startade via PXE.
När det gäller hastigheten på tftp är arbetshastigheten inte hög, och om du bestämmer dig för att överföra stora mängder information, försök att använda en WEB- eller FTP-server för detta, gör dig redo att lägga lite tid på detta. Om det finns ett behov av att ladda ner någon distribution, är det bättre att ladda ner ett litet OS, ett exempel är Windows PE, ja, eller en Linux-distribution i miniatyr.
Det är här jag ska sluta...

Om du upptäcker ett fel, välj en textbit och tryck på Ctrl + Retur
DELA MED SIG: