Síťové zavádění Linuxu – PXE

Tento článek do jisté míry souvisí s naším předchozím článkem, protože se zabývá zaváděním a instalací Linuxu pomocí sítě, ať už lokální nebo jiné. Tentokrát se budeme zabývat instalací Linuxu bez optických, disketových nebo jiných výměnných médií, pouze pomocí sítě LAN. Očekává se, že v síti budete mít alespoň dva počítače a klient bude potřebovat síťovou kartu a BIOS schopný používat PXE. Provedeme vás od začátku až do konce, ale jsou vyžadovány základní znalosti o síti a konfiguraci systému Linux a použití vybraného editoru. Dozvíte se, co je to PXE, jak nakonfigurovat server DHCP, jak nakonfigurovat server TFTP, aby měl klient přístup k souborům, a jako obvykle i spoustu dalších zajímavostí.

PXE

PXE (vyslovuje se „pixie“) znamená Preboot eXecution Environment a bylo představeno společnostmi Intel a Systemsoft v roce 1999. Stručně řečeno, jedná se o funkci, kterou disponuje většina moderních síťových karet a systémů BIOS a která umožňuje spouštění systému ze sítě LAN, stejně jako by se spouštěl z pevného disku nebo jednotky CD-ROM. Podpora PXE musí být přítomna ve firmwaru síťové karty, která, pokud je odpovídajícím způsobem nastavena v systému BIOS, získá IP adresu ze serveru PXE a stáhne potřebné spouštěcí obrazy. Aby byla IP adresa k dispozici, musí server nabízet DHCP. Po pronajmutí IP adresy předá TFTP server (což může být stejná krabička jako DHCP server) potřebné soubory klientovi, aby je mohl po načtení zavést. To je celá myšlenka, takže dost řečí, pojďme se pustit do práce, ano?“

Instalace potřebných nástrojů a nastavení

Než začneme, je důležité pochopit, jak je rozloženo nastavení sítě, na které jsme to testovali. Server je stroj Debian se dvěma síťovými kartami a distribuce, kterou budeme instalovat, je také Debian, konkrétně Squeeze, amd64. Můžete použít jakoukoli jinou distribuci, ale pravděpodobně se budou lišit umístění některých konfiguračních souborů. Tento článek se nezabývá tím, jak nastavíte zdroje softwaru pro vlastní instalaci. Pouze vás zavedeme k funkčnímu debian-installeru a to je vše. O tom, jak nastavit lokální repozitář Debianu nebo jak nakonfigurovat bránu v Linuxu, najdete spoustu návodů.

Takže kontrolní seznam : budeme potřebovat DHCP server, TFTP server a initrd a obraz jádra, které se přenesou do klienta. V našem nastavení jsme zvolili poněkud neobvyklý přístup a uvidíte proč.

 Outside world ------> Router ------> Switch ------>(eth0) Server(eth1) ------> Client

Takže router rozdává DHCP adresy (malý, domácí router) ve tvaru 192.168.0.x . Server, který bude také rozdávat adresy DHCP, má své vnější připojení přes eth0 a vnitřní připojení pro klienta přes eth1. Klient má jediné ethernetové připojení přímo k serveru PXE, ale to neznamená, že nemůžete nakonfigurovat server jako bránu pro netinstall nebo přidat ke klientovi další síťovou kartu pro vnější přístup. Možností je mnoho, v daném případě je důležité zavádění přes PXE. Začněme instalací serveru TFTP.

PŘIHLÁSIT SE K ODBĚRU NEWSLETTERU & RSS
Přihlaste se k odběru RSS a NEWSLETTERU a dostávejte nejnovější zprávy o Linuxu, pracovních nabídkách, kariérních radách a návodech.

TFTP

TFTP znamená Trivial File Transfer Protocol a je to de facto „jazyk“, pokud jde o přenos souborů pro použití s PXE. V Debianu jej nainstalujeme takto:

 # aptitude install tftpd-hpa

Nyní jej musíme správně nakonfigurovat. Než cokoli provedeme, v našem příkladu spustíme tftpd samostatně, což znamená, že nebudeme používat xinetd. Pokud plánujete xinetd používat, bude se konfigurace lišit a nedoporučujeme to. Nyní stačí upravit adresář /etc/default/tftpd-hpa :

#make sure these lines are presentRUN_DAEMON=yesTFTP_OPTIONS="-l -s /var/lib/tftpboot"

Ujistíme se, že výše uvedený adresář existuje, a spustíme démona:

 # mkdir -p /var/lib/tftpboot # /etc/init.d/tftpboot-hpa start

DHCP

Před zahájením instalace přes síť musíme klientovi nabídnout adresu, a to pomocí protokolu Dynamic Host Configuration Protocol. Server DHCP má k dispozici fond adres, z něhož na vyžádání nabízí IP adresy. Člověk nainstaluje serverovou část pomocí

 # aptitude install dhcp3-server

Nyní musíme nastavit síťové informace eth1, které najdeme v /etc/network/interfaces :

allow-hotplug eth1iface eth1 inet staticaddress 192.168.1.2netmask 255.255.255.0

Restartujte síť a máme téměř hotovo:

 # ifdown eth1 # ifup eth1

Konfigurace PXE

Nyní musíme nakonfigurovat soubor, který bude klient požadovat, soubor, ve kterém mu řekneme, jak má najít to, co potřebuje. Vytvoříme tedy adresář pxelinux.cfg :

 # mkdir /var/lib/tftpboot/pxelinux.cfg 

a vytvoříme soubor s názvem ‚default‘, který bude mít následující obsah:

Vidíte odkaz na soubor boot.txt , vytvořte jej tedy ve /var/lib/tftpboot a přidejte do něj řádek „squeeze_amd64_install“.

Nyní zkopírujte potřebné soubory někam, aby je klient našel:

Nyní, doufajíce, že je vše v pořádku, můžete prostě spustit klienta a změnit jeho nastavení BIOSu pro zavádění ze sítě. Než skončíme, dlužíme vám vysvětlení tohoto námi zvoleného síťového nastavení. Pravděpodobně jsme to mohli udělat jednodušeji, například použít přímo připojení našeho poskytovatele internetu a mít přístup i k síti (internetu). Jde o to, že server PXE v našem scénáři nemůže získat svou IP adresu (eth0) z DHCP, protože toto nastavení nebude fungovat: pokud nebudete na serveru používat scénář se dvěma síťovými kartami, jako jsme to udělali my, potřebujete nějakou pevnou IP adresu. Možnosti by tedy byly následující: ISP připojen přímo, nastavit router tak, aby dával pouze statické IP, udělat ze serveru PXE/DHCP/TFTP také bránu nebo vytvořit místní úložiště. My jsme zvolili druhou možnost, protože nejlépe vyhovuje naší topologii a účelům a ve skutečnosti zahrnuje pouze nastavení webového serveru v síti LAN. Kdybychom vám vysvětlili všechny možnosti, včetně iptables pro bránu nebo apache pro HTTP server, byl by tento článek obrovský. Místo toho jsme se raději drželi názvu a poskytli vám přesně toto:

Pamatujte, že toto je jen příklad: stejně jako u NetbootCD můžete přidat libovolný počet distribucí, pokud máte na serveru potřebné místo.

Myšlenky na závěr

.

Napsat komentář

Vaše e-mailová adresa nebude zveřejněna.