Ennek a módszere vázlatosan a következő:
- A kliens gépen beállítjuk, hogy próbáljon a hálózatról bootolni.
- A kliens bekapcsoláskor IP-címet kér.
- A DHCP-szerverünk válaszol neki. Nem csak IP-címet ad, hanem megmondja azt is, hogy a kliens - mármint ha hálózatról akar bootolni - a szép új IP-cím birtokában a hálózat melyik gépétől kérjen ehhez szükséges fájlt, és azt is, hogy mi ennek a fájlnak a neve.
- A kliens elmegy a megadott géphez, elkéri a megadott fájl, mégpedig TFTP-n. (A Trivial FTP egy olyan fájlátviteli protokoll, ami a "rendes" FTP-nél egyszerűbb - például abban is, hogy csak teljes elérési úttal megadott fájlok tölthetők le vele - mappalistázásra például nincs mód.)
- A TFTP-szerver odaadja a kért fájlt, ami dolgozni kezd a kliensen. Innentől az van, amit a TFTP-szervertől kapott fájl csinál. Lehet
- egy induló operációs rendszer,
- vagy egy menü, amiből kiválaszthatjuk, hogy több rendszer közül mit indítunk,
- vagy egy telepítő, ami majd további fájlok letöltésével (ezt már nem kell TFTP-vel megtenni) operációs rendszert telepít a helyi gépre.
Na, akkor lássunk neki.
A lenti képen a kliens gép képernyője látható, amint a gép épp arról panaszkodik, hogy, bár IP-címet kapott, nem mondta meg neki senki, hogy milyen fájlt kéne letöltenie a bootoláshoz.
Elsőként ezen segítünk. Beírunk két új sort az /etc/dhcp/dhcpd.conf fájlba:
Ha a fájlt módosítottuk, kiadhatunk egy
A bootoló gép képernyője ilyen lesz:
Látjuk, hogy igyekszik betölteni a fájlt. Mondjuk nem fog neki menni, mert ugye az a fájl még nincs ott, sőt, még TFTP-szervert sem telepítettünk.
Holnap ezt fogjuk megtenni.
ddns-update-style none; authoritative; log-facility local7; subnet 192.168.168.0 netmask 255.255.255.0 { #A szerver külső kártyáján lévő háló. #Csak definiáljuk az alhálót, nem írunk bele semmit. #Azért tesszük ide, mert a DHCP-szerver szeret tudni az általa nem kezelt hálózatokról is. } subnet 192.168.56.0 netmask 255.255.255.0 { range 192.168.56.200 192.168.56.220; option routers 192.168.56.101; option domain-name-servers 192.168.56.101; option domain-name "itthon.cucc"; default-lease-time 300; max-lease-time 600; next-server 192.168.56.101; filename "pxelinux.0"; }Az első sor azt mondja meg, hogy kitől kell kérni a fájlt. Ez tehát a TFTP-szerver IP-címe. Ha a TFTP-szerver ugyanazon a gépen van, mint a DHCP-szerver, akkor elvileg ez a sor nem kell. Én azonban maradok old-school, és kiírom. A második sor azt mondja meg, hogy a bootoló gépnek milyen nevű fájlt kell kérnie a TFTP-szervertől.
Ha a fájlt módosítottuk, kiadhatunk egy
sudo service isc-dhcp-server restartparancsot.
A bootoló gép képernyője ilyen lesz:
Látjuk, hogy igyekszik betölteni a fájlt. Mondjuk nem fog neki menni, mert ugye az a fájl még nincs ott, sőt, még TFTP-szervert sem telepítettünk.
Holnap ezt fogjuk megtenni.
2 megjegyzés:
Szia.
Szeretném megköszönni a sorozatot, sokat segített számomra. Régebben már foglalkoztam PXE-boot szerver készítésével, de csak windows-on. Egy ideje a linux világában dolgozok, így neki fogtam linux-alapokon. Sokat segítettél :) Írásomban megemlítettelek, hisz tagadhatatlanul van olyan rész amit tőled vettem át / te mutattad az utat, és ezért köszönettel tartozom.
Köszi ismét, ne fejezd be, nagyon jó dolgokat írsz :)
Tisztelettel:
Mikáczó Péter
Nagyon köszönöm:) Sorban állnak az ötletek a folytatáshoz, és nagyon remélem, hogy eljutok oda, hogy legyen időm:)
Megjegyzés küldése