Pokud je váš počítač připojen do lokální sítě, můžete jej zavést ze sítě pomocí TFTP. Jestliže chcete pomocí TFTP zavést instalační systém, musíte na vzdáleném počítači nakopírovat zaváděcí soubory do specifických adresářů a povolit zavádění vaší stanice.
Musíte nastavit TFTP server a často i DHCP server nebo BOOTP server.
BOOTP je IP protokol, který informuje počítač o jeho IP adrese a prozradí mu, odkud si má stáhnout zaváděcí obraz. DHCP (Dynamic Host Configuration Protocol) je flexibilnější, zpětně kompatibilní rozšíření protokolu BOOTP. Některé systémy mohou být nastaveny pouze pomocí DHCP.
Pro přenos zaváděcího obrazu ke klientovi se používá protokol TFTP (Trivial File Transfer Protocol). Teoreticky můžete použít server na libovolné platformě, která jej implementuje. Ukázky v této kapitole se vztahují k operačním systémům SunOS 4.x, SunOS 5.x (neboli Solaris) a GNU/Linux.
Pokud na serveru běží Debian GNU/Linux, doporučujeme použít TFTP server
tftp-hpa
od stejného autora jako zavaděč
syslinux
, protože by mezi nimi mělo nastat
nejméně problémů. Vhodnou alternativou je i
atftpd
.
Jedním ze svobodných DHCP serverů je ISC
dhcpd. Debian GNU/Linux jej obsahuje jako balík
dhcp3-server
. Následuje ukázka jednoduchého
konfiguračního souboru (obvykle
/etc/dhcp3/dhcpd.conf
):
option domain-name "priklad.cz"; option domain-name-servers ns1.priklad.cz; option subnet-mask 255.255.255.0; default-lease-time 600; max-lease-time 7200; server-name "karel"; subnet 192.168.1.0 netmask 255.255.255.0 { range 192.168.1.200 192.168.1.253; option routers 192.168.1.1; } host clientname { filename "/tftpboot.img"; server-name "karel"; next-server dalsiserver.priklad.cz; hardware ethernet 01:23:45:67:89:AB; fixed-address 192.168.1.90; }
V tomto příkladu máme jeden server jménem
karel
, který obstarává práci DHCP a
TFTP serveru a také slouží jako brána do sítě. Ve svém nastavení si
musíte změnit alespoň doménové jméno, jméno serveru a hardwarovou
adresu klienta. Položka filename
by měla
obsahovat název souboru, který si klient stáhne přes TFTP.
Po úpravách konfiguračního souboru musíte restartovat
dhcpd příkazem /etc/init.d/dhcpd3-server
restart
.
Další příklad souboru dhcp.conf
tentokrát využívá
metodu PXE (Pre-boot Execution Environment) protokolu TFTP.
option domain-name "priklad.cz"; default-lease-time 600; max-lease-time 7200; allow booting; allow bootp; # Následující odstavec si musíte upravit dle skutečnosti subnet 192.168.1.0 netmask 255.255.255.0 { range 192.168.1.200 192.168.1.253; option broadcast-address 192.168.1.255; # adresa brány # (například pro přístup k internetu) option routers 192.168.1.1; # dns server, který chcete použít option domain-name-servers 192.168.1.3; } group { next-server 192.168.1.3; host tftpclient { # hardwarová adresa tftp klienta hardware ethernet 00:10:DC:27:6C:15; filename "/pxelinux.0"; } }
Při PXE zavádění není soubor pxelinux.0
obraz
jádra, ale zavaděč (viz 4.5.4 – „Přesun TFTP obrazů na místo“ dále v textu).
V GNU/Linuxu můžete použít v zásadě dva BOOTP servery. Jednak je to
CMU bootpd a druhý je vlastně DHCP server —
ISC dhcpd. V distribuci Debian GNU/Linux jsou k dispozici v
balících bootp
a dhcp-server
.
Pokud chcete použít CMU bootpd, musíte nejprve
odkomentovat (nebo přidat) jeden důležitý řádek v souboru
/etc/inetd.conf
. V systému Debian GNU/Linux můžete
spustit update-inetd --enable bootps
a následně
restartovat inetd pomocí /etc/init.d/inetd
reload
. V jiných systémech přidejte řádku, která bude
vypadat zhruba takto:
bootps dgram udp wait root /usr/sbin/bootpd bootpd -i -t 120
Nyní musíte vytvořit soubor /etc/bootptab
. Jeho
struktura je velmi podobná té, co používají staré dobré soubory
printcap
, termcap
a disktab
ze systému BSD. Bližší informace jsou
v manuálové stránce bootptab
. Pokud používáte CMU
bootpd, musíte rovněž znát hardwarovou (MAC) adresu
klienta. Následuje příklad souboru /etc/bootptab
:
client:\ hd=/tftpboot:\ bf=tftpboot.img:\ ip=192.168.1.90:\ sm=255.255.255.0:\ sa=192.168.1.1:\ ha=0123456789AB:
Z příkladu budete muset změnit minimálně volbu „ha“, která značí hardwarovou adresu klienta. Volba „bf“ specifikuje soubor, který si klient stáhne protokolem TFTP, viz 4.5.4 – „Přesun TFTP obrazů na místo“.
V kontrastu s předchozím je nastaveni BOOTP pomocí ISC
dhcpd velmi jednoduché, protože dhcpd považuje
BOOTP klienty za speciální případ DHCP klientů. Některé architektury
však vyžadují pro zavádění klientů pomocí BOOTP komplikované
nastavení. Je-li to váš případ, přečtěte si 4.5.1 – „Nastavení DHCP serveru“.
V opačném případě stačí v konfiguračním
souboru /etc/dhcp3/dhcpd.conf
vložit do bloku
podsítě, ve které se nachází klient, direktivu allow
bootp
. Potom restartujte dhcpd server
příkazem /etc/init.d/dhcpd3-server restart
.
Aby vám TFTP server fungoval, měli byste nejprve zkontrolovat, zda je tftpd povolen.
V případě balíku tftpd-hpa
existují dva
způsoby, jak službu provozovat. Jednak se může
tftpd-hpa
spouštět jako samostatný daemon při
startu systému, nebo může jeho spuštění zajišťovat systémový daemon
inetd
v okamžik, kdy je ho potřeba. Způsob,
který zrovna používáte, můžete zvolit při instalaci balíku, respektive
ho můžete kdykoliv změnit rekonfigurací balíku.
TFTP servery historicky používaly pro uložení nabízených obrazů
adresář /tftpboot
. Aby byl Debian GNU/Linux v souladu se
standardem FHS, mohou debianí
balíky používat jiná umístění. Například
tftpd-hpa
implicitně používá adresář
/var/lib/tftpboot
. Je proto možné, že budete
muset cesty uváděné v této kapitole upravit pro konkrétní situaci.
Všechny alternativní in.tftpd v Debianu by měly
automaticky zaznamenávat všechny požadavky, které jim byly zaslány, do
systémových logů. To se hodí zejména v situaci, kdy zavádění neprobíhá
tak, jak má. Některé TFTP servery umí zvýšit svou upovídanost
parametrem -v
.
Dále je potřeba umístit příslušný TFTP obraz (viz 4.2.1 – „Kde se nalézají instalační obrazy?“) do adresáře, kde má tftpd uloženy obrazy. Bohužel TFTP klient očekává jméno souboru v určitém tvaru, pro který neexistují žádné závazné standardy. Proto ještě musíte na příslušný obraz vytvořit odkaz, který tftpd použije pro zavedení konkrétního klienta.
Pro PXE zavádění by mělo být vše potřebné v souboru
netboot/netboot.tar.gz
. Tento archiv stačí
rozbalit do adresáře, kde tftpd uchovává zaváděcí
obrazy. Ujistěte se, že je váš dhcp server nastaven tak, aby jako
jméno souboru pro zavedení zasílal pxelinux.0
.