Indien uw machine verbonden is met een lokaal netwerk, kunt u ze misschien over het netwerk vanaf een andere machine laten opstarten met TFTP. Indien u van plan bent het installatiesysteem op te starten vanaf een andere machine, moeten de opstartbestanden op een specifieke plaats op die machine geplaatst worden en moet die machine geconfigureerd worden om het opstarten van specifiek uw machine te ondersteunen.
U moet een TFTP-server opzetten en voor veel machines een DHCP-server, of een RARP-server of een BOOTP-server.
Het Reverse Address Resolution Protocol (RARP) is een manier om uw cliënt te laten weten welk IP-adres hij voor zichzelf moet gebruiken. Een andere manier is om het BOOTP-protocol te gebruiken. BOOTP is een IP-protocol dat een computer zijn IP-adres geeft en hem zegt waar op het netwerk hij een opstart-image kan krijgen. Het DHCP (Dynamic Host Configuration Protocol) is een meer flexibele en neerwaarts compatibele uitbreiding van BOOTP. Sommige systemen kunnen enkel via DHCP geconfigureerd worden.
Het Trivial File Transfer Protocol (TFTP) wordt gebruikt om het opstart-image aan te leveren aan de cliënt. In theorie kan elke server op gelijk welk platform die in staat is om deze protocollen te gebruiken, gebruikt worden. In de voorbeelden in dit gedeelte zullen we de commando's demonstreren voor SunOS 4.x, SunOS 5.x (ook Solaris genoemd) en GNU/Linux.
Om RARP op te zetten, moet u het Ethernet-adres (ook MAC-adres genoemd) kennen van de cliëntcomputers die geïnstalleerd moeten worden. Indien u niet over deze informatie beschikt, kunt u opstarten in “Rescue”-modus (reparattiemodus) en het commando ip addr show dev eth0
gebruiken.
Op een RARP serversysteem met een Linux-kernel of Solaris/SunOS gebruikt u het programma rarpd. Vergewis u ervan dat het Ethernet hardwareadres van de cliënt opgenomen is in de “ethers” databank (ofwel in het bestand /etc/ethers
of via NIS/NIS+) en in de “hosts” databank. Dan moet u de RARP achtergronddienst starten. Geef (als systeembeheerder) het commando: /usr/sbin/rarpd -a
op de meeste Linux-systemen en op SunOS 5 (Solaris 2), /usr/sbin/in.rarpd -a
op sommige andere Linux-systemen of /usr/etc/rarpd -a
op SunOS 4 (Solaris 1).
Een DHCP-server uit vrije software is ISC dhcpd. Voor Debian GNU/Linux wordt het pakket isc-dhcp-server
aanbevolen. Hierna volgt een voorbeeld van een configuratiebestand ervoor (zie /etc/dhcp/dhcpd.conf
):
option domain-name "example.com"; option domain-name-servers ns1.example.com; option subnet-mask 255.255.255.0; default-lease-time 600; max-lease-time 7200; server-name "servernaam"; 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 cliëntnaam { filename "/tftpboot.img"; server-name "servernaam"; next-server servernaam; hardware ethernet 01:23:45:67:89:AB; fixed-address 192.168.1.90; }
In dit voorbeeld is er één server servernaam
die als DHCP-server, TFTP-server en netwerk-gateway fungeert. U zult bijna zeker de 'domain-name' opties moeten aanpassen, evenals de servernaam en het hardware-adres van de cliënt. De optie filename
moet de naam vermelden van het bestand dat via TFTP opgehaald zal worden.
Nadat u het configuratiebestand voor dhcpd aangepast heeft, moet u de achtergronddienst herstarten met /etc/init.d/isc-dhcp-server restart
.
Voor GNU/Linux zijn twee BOOTP-servers beschikbaar. De eerste is CMU bootpd. De andere is in feite een DHCP-server: ISC dhcpd. In Debian GNU/Linux zijn ze respectievelijk te vinden in het pakket bootp
en het pakket isc-dhcp-server
.
Om de CMU bootpd te gebruiken, moet u eerst in het bestand /etc/inetd.conf
de juiste regel toevoegen of het commentaarteken dat aan het begin ervan staat, wegnemen. Op Debian GNU/Linux kunt u daarvoor het commando update-inetd --enable bootps
geven en dan het commando /etc/init.d/inetd reload
. In het geval uw BOOTP-server niet op een Debian-systeem staat, moet de regel in kwestie er zo uitzien:
bootps dgram udp wait root /usr/sbin/bootpd bootpd -i -t 120
Nu moet u een bestand /etc/bootptab
aanmaken. Dit heeft hetzelfde soort bekende en cryptische indeling als de goede oude BSD-bestanden printcap
, termcap
en disktab
. Raadpleeg de man-pagina van bootptab
voor meer informatie. Voor CMU bootpd moet u het hardware-adres (MAC) van de cliënt kennen. Hierna is een voorbeeld van een /etc/bootptab
-bestand:
client:\ hd=/tftpboot:\ bf=tftpboot.img:\ ip=192.168.1.90:\ sm=255.255.255.0:\ sa=192.168.1.1:\ ha=0123456789AB:
U zult minstens de optie“ha” moeten aanpassen. Die preciseert het hardware-adres van de cliënt. De optie “bf” preciseert het bestand dat de cliënt moet ophalen via TFTP. Zie Paragraaf 4.4.5, “De TFTP-images op hun plaats zetten” voor verdere details.
Daartegenover is het instellen van BOOTP met ISC dhcpd echt gemakkelijk, omdat het BOOTP-cliënten behandelt als een enigszins bijzondere soort van DHCP-cliënten. Voor sommige architecturen is een complexe configuratie nodig om cliënten via BOOTP op te starten. Indien uw architectuur daar één van is, moet u het onderdeel Paragraaf 4.4.2, “Een DHCP-server opzetten” lezen. Anders zal het wellicht volstaan om in het bestand /etc/dhcp/dhcpd.conf
gewoon de opdracht allow bootp
toe te voegen aan het configuratieblok dat betrekking heeft op het subnet waartoe uw cliënt behoort, en dhcpd opnieuw te starten met het commando /etc/init.d/isc-dhcp-server restart
.
Opdat de TFTP-server klaar voor de dienst zou zijn, moet u eerst controleren of tftpd geactiveerd is.
In het geval van tftpd-hpa
kan de dienst op twee manieren functioneren. Hij kan op vraag van de achtergronddienst inetd
van het systeem geactiveerd worden, of hij kan ingesteld worden om als een onafhankelijke achtergronddienst te werken. Welke van beide methodes gebruikt wordt, wordt ingesteld bij het installeren van het pakket en kan gewijzigd worden door het pakket opnieuw te configureren.
Opmerking | |
---|---|
Lange tijd gebruikten TFTP-servers |
Alle in Debian aanwezige in.tftpd alternatieven zouden TFTP-verzoeken standaard moeten registreren in de systeemlogbestanden. Sommige onder hen hebben een argument -v
waarmee de hoeveelheid gegeven informatie kan verhoogd worden. Het wordt aangeraden om deze logberichten na te kijken in geval van opstartproblemen omdat ze een goed beginpunt zijn voor het diagnosticeren van de oorzaak van problemen.
Plaats vervolgens het TFTP boot-image dat u nodig heeft en dat te vinden is in Paragraaf 4.2.1, “Waar u installatiebestanden kunt vinden”, in de map van tftpd voor opstart-images. Eventueel moet u een koppeling maken van dat bestand naar het bestand dat tftpd zal gebruiken om een specifieke cliënt op te starten. Spijtig genoeg wordt de bestandsnaam bepaald door de TFTP-cliënt en zijn er geen duidelijke standaarden.