4.3. Bestanden klaarmaken om over het netwerk op te starten met TFTP

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.

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.

4.3.1. Een DHCP-server opzetten

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.

4.3.2. De TFTP-server werkzaam maken

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] Opmerking

Lange tijd gebruikten TFTP-servers /tftpboot als map van waaruit images aangeboden werden. Nochtans kunnen pakketten van Debian GNU/Linux andere mappen gebruiken om te beantwoorden aan de standaard van de Filesystem Hierarchy Standard. tftpd-hpa bijvoorbeeld gebruikt standaard /srv/tftp. Misschien zult u de configuratievoorbeelden uit dit onderdeel dienovereenkomstig moeten aanpassen.

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.

Indien u van plan bent om Debian op een SGI-machine te installeren en uw TFTP-server een GNU/Linux-computer is met Linux 2.4, zult u op uw server het volgende moeten instellen:

# echo 1 > /proc/sys/net/ipv4/ip_no_pmtu_disc

Dit is om Path MTU discovery (het onderling bepalen van de maximale grootte van over de netwerkverbinding verzonden pakketten) uit te zetten, anders kan het PROM van de SGI de kernel niet downloaden. Daarenboven moet u ervoor zorgen dat de TFTP-pakketten niet verzonden worden van een poort die groter is dan 32767, anders zal het downloaden stoppen na het eerste pakket. Opnieuw is het Linux 2.4.X dat struikelt over deze bug in het PROM en u kunt dit vermijden door de spreidingsbreedte van de poorten die door de Linux TFTP-server gebruikt kunnen worden, aan te passen door het volgende in te stellen:

# echo "2048 32767" > /proc/sys/net/ipv4/ip_local_port_range

4.3.3. De TFTP-images op hun plaats zetten

Plaats vervolgens het TFTP boot-image dat u nodig heeft en dat te vinden is in Paragraaf 4.2.1, “Waar u installatie-images 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.

4.3.3.1. Opstarten via TFTP met SGI

Op SGI-machines kunt u vertrouwen op de bootpd om de naam van het TFTP-bestand te geven. Het wordt ofwel vermeld in /etc/bootptab als bf= of in /etc/dhcpd.conf met de optie filename=.