Üdv!
Még ilyet sem csináltam című műsor.
Tegyük fel, hogy van egy telepített Linux (vagy live iso, kb mindegy is) és azt szeretném hálózatról bootolni ha valami gány va na géppel, akkor ne kelljen már mindig usb-ket meg optikákat heggeszteni, hanem lenne egy állandóan frissített disztró erre a célra, amivel lehet vírust kergetni, particionálni és a kecske...
DHCP szerveren vannak különféle opciók. Gondolom nem elég beállítani egy fájl helyét a DHCP szerveren, hogy aztán azt bootolva a többi komponensét már megtalálja a rendszer és elinduljon szépen.
TFTP szervert eddig is használtam ip telefon configok és fw frissítéséhez, talán így már közelebb vagyok a megoldáshoz, de újszülött vagyok a témában.
Ha valakinek van ezzel kapcsolatban infója, ne kíméljen.
Köszönöm!
- 1510 megtekintés
Hozzászólások
Szia!
ISC-DHCP server esetében a konfighoz a következőket kell hozzáadni:
(TFTP szerver lehet a DHCP szerveren is)
option tftp-server-name "192.168.1.1";
option bootfile-name "pxelinux.0";
next-server 192.168.1.1;
filename "pxelinux.0";
Továbbá a TFTP szerveren a "pxelinux.0" fájl a "SYSLINUX" csomagban találod,
TFTP szervernek megadod a könyvtárat, abba bemásolod a SYSLINUX fájlokat,
TFTP gyökérkönyvtárban létrehozol egy "pxelinux.cfg" könyvtárat és abban egy "default" fájlt,
azt fogja betölteni a "pxelinux.0" bináris fájl a PXE-boot során.
"default" fájl minta:
default menu.c32
propmpt 1
NOESCAPE 1
ALLOWOPTIONS 1
MENU TITLE MAIN-MENU
MENU BEGIN memtest
MENU TITLE memtest
LABEL memtest-x86
KERNEL memdisk
APPEND iso raw
INITRD http://192.168.1.1/iso/memtestx86.iso
LABEL memtest-x86-64
KERNEL memdisk
APPEND iso raw
INITRD http://192.168.1.1/iso/memtestx86-64.iso
LABEL ..
MENU EXIT
MENU END
MENU BEGIN clonezilla
MENU TITLE clonezilla
LABEL clonezilla-x86
KERNEL memdisk
APPEND iso raw
INITRD http://192.168.1.1/iso/clonezillax86.iso
LABEL clonezilla-x86
KERNEL memdisk
APPEND iso raw
INITRD http://192.168.1.1/iso/clonezillax64.iso
LABEL ..
MENU EXIT
MENU END
Fentiek alapján tudsz pl.: Windows ISO telepítőt is betölteni, persze ahhoz szükség van az adott gépen annyi memóriára hogy beleférjen a fájl.
Másik lehetőség, hogy egy Samba megosztásba bemásolod a Windows telepítőjét, és a WINPE iso csinálsz (töredéke egy Windows ISO telepítőnek), ami betölti a Samba megosztásból a "setup.exe"-t, ennél a megoldásnál viszont előfordúlhat egy "probléma", hogy a betöltött WINPE rendszer a hálózati-kártyát nem látja, onnantal marad a "kézi" telepítés. :D
- A hozzászóláshoz be kell jelentkezni
Igen :D
De én nem akarok windózozni, mert itt alapvetően karbantartási munkálatok folynának. A legjobb igazából az lenne, mint pl. egy multiboot pendrive, ahol kiválasztom melyik iso-t bootoljam be. Az már csak extra, ha van perzisztens tárhely is és akkor pl. egy vírusdef-et nem kell állandóan letölteni, ha naponta 5x haszálom a rendszert.
Néha kell egy Live Kaspersky, néha egy gparted, néha egy kis klónozás vagy image-elés (tiszta telepítéssel nem mostanában szórakoztunk). Jó ideig a Acronist használtuk, de 1-2 éve nagyon megbízhatatlan. Sokszor lefagy vagy végez és nem bootol a gép meg ilyenek és így egy csomó idő el van vesztegetve. Rescuezilla ilyenben pl. tök jól teszi a dolgát, csak arra kell figyelni, hogy a rendszer lehetőleg normálisan legyen leállítva, tehát a gyors rendszerindítást kikapcsoltam a windowsban. PartedMagic-re szoktam rá mostanában, mert abban majdnem minden van ami kell, de kicsit bugos (pont a rescuezilla nem megy) és ha frissíteném mondjuk egy perzisztens partícióval, akkor az összes rendszergazdámnak egyesével el kéne juttatnom mindig a friss verziót pl. úgy, hogy image-elem a pendriveomat és ők felírják maguknak egy sajátra. Ez fingreszelés. Ha meg lenne egy OS, amit szükség esetén mindenki bebootol hálózatról out-of box, akkor azt bármikor bővíthetem, frissíthetem, az mindenkinél ugyanaz lesz azonnal. Nyilbán törekedni kell a méret minimalizálására, de binárisok elférnek a hálózaton is. Meglátjuk mit tudok összehozni. Köszi!
- Indítsd újra a gépet! - Az egészet? - Nem, a felét...
- A hozzászóláshoz be kell jelentkezni
Ez BIOS boot-hoz korrekt, de manapság (kb. 10 éve) a gépek inkább UEFI-vel szoktak bootolni.
SYSLINUX esetén a syslinux.efi fájl játszik, leginkább a disztribúció efi64 könyvtára alól. Praktikus lehet egy feltételt berakni a dhcpd.conf-ba az architektúráknak megfelelően:
class "Intel x86 PC" {
match if substring(option vendor-class-identifier, 0, 20) = "PXEClient:Arch:00000";
filename "pxelinux/pxelinux.0";
}
class "EFI x86-64" {
match if substring(option vendor-class-identifier, 0, 20) = "PXEClient:Arch:00009";
filename "syslinux-efi64/syslinux.efi";
}
- A hozzászóláshoz be kell jelentkezni
NetbootXYZ-t, használok dockerből.
Gyakorlatilag bármit tudok bootolni PXE-vel. Egy dologra kell figyelni: frissen kell tartani.
- A hozzászóláshoz be kell jelentkezni
Odáig eljutottam, hogy lehúztam konténerben webes felületen 2 disztrót (pl. rescuezilla, kaspersky) utána a "Menus" alatt kikerestem őket, megnyomtam, hogy save. Igazából nem történik semmi extra. Bootol a gép hálózatról, de ott elakadok, hogy tftp://1.2.3.4/local-vars.ipxe... no such file or directory
Úgy érzem valami kimaradt, de mi? Van egy sanda gyanúm, hogy ez a web frontend koránt sem teljeskörű és kell még valahol valamit csinálni.
Illevte a menü bejön, szépen tele van mindennel is, de semmi nem indul.
- Indítsd újra a gépet! - Az egészet? - Nem, a felét...
- A hozzászóláshoz be kell jelentkezni
Linuxserver.io image-et használom.
Itt a docker-compose.yml fájl amivel nekem működik:
version: "2.1"
services:
netbootxyz:
image: ghcr.io/linuxserver/netbootxyz
container_name: netbootxyz
environment:
- PUID=1000
- PGID=1000
# - MENU_VERSION=1.9.9 #optional
- PORT_RANGE=30000:30010 #optional
- SUBFOLDER=/ #optional
volumes:
- /opt/docker/netbootxyz/config:/config
- /opt/docker/netbootxyz/assets:/assets #optional
ports:
- 3000:3000
- 69:69/udp
- 8083:80 #optional
restart: unless-stopped
- A hozzászóláshoz be kell jelentkezni
Valószínűleg a konténer konfigja okés, mert el is érem a mappákat a konténeren belül és be is tölt a menü hálózatról, csak bármelyik disztrót választom, nem történik semmi. Úgy láttam, hogy külön van a belső és külön az internetes source. Szerintem nekem internetről akarja lehúzni a választott image-et, de nem fog menni, mert azon a hálózaton nincs internet. Hiába húzok le néhány image-t a webes frontenden keresztül (a szervernek 2 hálókártyája van, egyik az interneten lóg, másik az intrán) olyan mintha nem lennének ott. Itt akadtam el, hogy kell-e valami egyéb paramétereket megadni valahol.
Később ha ráérek még játszok vele. Egyelőre félúton vagyok. Mindenesetre kipróbálom majd egy olyan hálózaton ahol van internet. Feltételezem, hogy ott működni fog. Onnan már nem lehet messze a célom :D
- Indítsd újra a gépet! - Az egészet? - Nem, a felét...
- A hozzászóláshoz be kell jelentkezni
Működik!
A boot.cfg-ben kellett átírni (a webes felületen localhost:3000) a live endpointot a szerver IP-jére:
set live_endpoint http://10.1.1.1:8080/
A 8080-as porton megy a repo alapértelmezetten. Ez, és a 3000-es port a konténer paramétereiben konfigurálható.
Következő lépésben testreszabom a menüt, hozzáadok pár hiányzó disztrót és szerintem utána megpróbálom áttolni a saját tftp-re, hogy ne kelljen csak emiatt + 1 szervert hostolni.
- Indítsd újra a gépet! - Az egészet? - Nem, a felét...
- A hozzászóláshoz be kell jelentkezni
A megvalósítás, beállítás menetéről jó lenne olvasni egy részletes leírást, dokumentációt :-)
- A hozzászóláshoz be kell jelentkezni
Ha van rá igény, egyszer lehet írok róla valamit.
Nem teljesen úgy működik ahogy szeretném, de már így tökéletesen használható. Másik tftp szerverről akartam hostolni de nem megy. Ott nem találom a hibát, de végülis mindegy, így is jó.
Jelenleg kb. 10 disztró van ami bootolható róla. Kicsit akartam faragni a partedmagic-en, hogy ne legyen olyan nagy. Vagy saját remixet csinálni mondjuk egy Manjaroból, amit majd PXE-ről bebootolhatok, de nem jutottam el még odáig. Az egy külön sztori lesz.
- Indítsd újra a gépet! - Az egészet? - Nem, a felét...
- A hozzászóláshoz be kell jelentkezni
bookmark, bár jó régen már csináltam hasonlót :)
- A hozzászóláshoz be kell jelentkezni
Nem tudom mennyire általános ez, de az UEFI a laptopomon tudja magát internetről frissíteni nulla konfigurációval. Ha be van dugva a kábel, felépíti a kapcsolatot és már tölti is.
Kicsit sajnálom, hogy a hálózatról bootolás nem tud ilyen egyszerű lenni.
Nem állítom, hogy a fenti netbootxyz-s módszer túl komplex lenne, de azért csak kell hozzá egy szerver, némi előismeret és konfigurálgatás. Én nem értek hozzá, de lett volna már igény rá, és akkor nem is jutottam semmire, mert azt se tudtam mi fán terem konfigurálgatni DHCP szervert.
Kár, hogy nem olyan egyszerű a folyamat, hogy a boot loadernek megadok egy URL-t, ami mondjuk egy publikusan elérhető Ubuntu ISO-ra mutat.
- A hozzászóláshoz be kell jelentkezni
Hasonló. Van lehetőség online üzemeltetésre is, de tftp szerver akkor is kell neked. Mondjuk tftpd64. Meg a dhcp konfighoz hozzáadni 2 sort.
Online nálunk a cégnél nem játszik, szóval így egy kicsit más volt a konfig.
a boot loadernek megadok egy URL-t, ami mondjuk egy publikusan elérhető Ubuntu ISO-ra mutat.
Ez a módszer egy grubbal kivitelezhető. Nyilván ismerned kell az iso helyét és kell hozzá egy memdisk is szerintem. Pont láttam erről is egy leírást, de nem próbáltam. Lényeg az, hogy wget-el leszedi az isot, betölti a ramba, utána azt bootolja.
- Indítsd újra a gépet! - Az egészet? - Nem, a felét...
- A hozzászóláshoz be kell jelentkezni
Én a napokban próbáltam és csak egy Ubuntu Server ISO-val... hááát 3-4 perc volt a letöltés, pedig az az ISO 2 giga alatt van. Úgyhogy maradt a Ventoy, ami legnagyobb meglepetésemre egész ügyes: csak az ISO fájlokat kell átmásolni/törölni, még az is mindegy, hogy a partíción belül hova rakja az ember.
- A hozzászóláshoz be kell jelentkezni
Ezt azert alatalaban ugy csinaljuk, hogy a networkboot vagy minimal iso boot megy a netrol, aztan a telepites meg mar preseed/kickstart-al, amiben a repokat megadjuk honnan nyomja fel. Igy is ugy is telepiteni kell csomagokat meg frissiteni, szoval tok felesleges a nagy izo-t letolteni a somagokkal. A sima netboot iso pont eleg. Vgay a masik egy puppet/chef/ansible-pull hivasa a telepites vegen.
Igy nem lesz 3-4 perc a letoltes es betoltes, h server kell akkor lehet maga a telepites mindenestol lefut 3-4 perc alatt.
- A hozzászóláshoz be kell jelentkezni
Igen, így csináltam volna a telepítést, ha nem itthoni játszós cucc lett volna és nem csak egy gépről lett volna szó. ;-) Az alap telepítés utáni konfig természetesen már Ansible-lel ment.
Első körben én is netboot-os ISO-t kerestem volna, de mint kiderült, egy ideje már nem csinálnak Ubuntu Server-ből.
- A hozzászóláshoz be kell jelentkezni