4.4. Forberedelse af filer for TFTP-netopstart

Hvis din maskine er forbundet på et lokalt områdenetværk, så kan du måske starte den op over netværket fra en anden maskine, via TFTP. Hvis du har tænkt dig at starte installationssystemet op fra en anden maskine, så vil opstartsfilerne skulle placeres på specifikke placeringer på den maskine, og maskinen skal konfigureres til at understøtte opstart fra din specfikke maskine.

Du skal opsætte en TFTP-server, og for mange maskiner en DHCP-server, eller BOOTP-server.

BOOTP er en IP-protokol, som informerer en computer om dens IP-adresse og hvor på netværket du kan finde et opstartsaftryk. DHcP'en (Dynamic Host Configuration Protocol) er en mere fleksibel, bagud kompatibel udvidelse af BOOTP. Nogle systemer kan kun konfigureres via DHCP.

Trivial File Transfer Protocol (TFTP) bruges til at levere opstartsaftrykket til klienten. Teoretisk kan enhver server på enhver platform, som implementerer disse protokoller, anvendes. I eksemplerne i dette afsnit angiver vi kommandoer for SunOS 4.x, SunOS 5.x (a.k.a. Solaris) og GNU/Linux.

4.4.1. Opsætning af en DHCP-server

En fri DHCP-server er ISC dhcpd. For Debian GNU/Linux anbefales pakken isc-dhcp-server. Her er et eksempel på en konfigurationsfil for den (se /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 "servername";

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 "servername";
  next-server servername;
  hardware ethernet 01:23:45:67:89:AB;
  fixed-address 192.168.1.90;
}

I dette eksempel er der en server servername som udfører al arbejdet på DHCP-serveren, TFTP-serveren og netværksadgangspunktet. Du har med stor sandsynlighed behov for at ændre indstillinger for domænenavnet samt servernavnet og klientens udstyrsadresse. Indstillingen filename skal være navnet på filen, som hentes via TFTP.

Efter du har redigeret konfigurationsfilen dhcpd, så genstart den med /etc/init.d/isc-dhcp-server restart.

4.4.2. Opsætning af en BOOTP-server

Der er to BOOTP-servere tilgængelige for GNU/Linux. Den første er CMU bootpd. Den anden er faktisk en DHCP-server: ISC dhcpd. I Debian GNU/Linux er disse indeholdt i pakkerne bootp og isc-dhcp-server respektivt.

For at bruge CMU bootpd, skal du først aktivere (eller tilføje) de relevante linjer i /etc/inetd.conf. På Debian GNU/Linux kan du køre update-inetd --enable bootps, og så /etc/init.d/inetd reload for at gøre det. Bare i tilfælde af, at din BOOTP-server ikke kører Debian, skal den omtalte linje se således ud:

bootps  dgram  udp  wait  root  /usr/sbin/bootpd  bootpd -i -t 120

Nu skal du oprette en /etc/bootptab-fil. Den har samme slags kendte og kryptiske format som det gode gamle BSD printcap-, termcap-, og disktab-filer. Se manualsiden bootptab for yderligere information. For CMU bootpd, skal du bruge udstyrsadressen (MAC) for klienten. Her er en eksempel /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:

Du skal mindst ændre ha-tilvalget, som angiver udstyrsadressen for klienten. Tilvalget bf specificerer filen en klient skal hente via TFTP; se Afsnit 4.4.4, “Flyt TFTP-aftryk på plads” for yderligere detaljer.

Som kontrast er opsætning af BOOTP med ISC dhcpd virkelig nemt, da det opfatter BOOTP-klienter som et moderat specieltilfælde for DHCP-klienter. Nogle arkitekturer kræver en kompleks konfiguration for opstart af klienter via BOOTP. Hvis din er en af disse, så læs afsnittet Afsnit 4.4.1, “Opsætning af en DHCP-server”. Ellers vil du sandsynligvis kunne slippe af sted med at tilføje allow bootp direkte til konfigurationsblokken for undernettet, der indeholder klienten i /etc/dhcp/dhcpd.conf, og genstarte dhcpd med /etc/init.d/isc-dhcp-server restart.

4.4.3. Aktivering af TFTP-serveren

For at få TFTP-serveren klar, skal du først sikre dig, at tftpd er aktiveret.

I tilfældet tftpd-hpa er der to måder at tjenesten kan køres. Den kan startes efter behov af systemets dæmon inetd, eller den kan opsættes til at blive kørt som en uafhængig dæmon. Hvilken af disse metoder der bruges vælges når pakke installeres og kan ændres ved at rekonfigurere pakken.

[Bemærk] Bemærk

Historisk brugte TFTP-servere /tftpboot som mappe til at betjene aftryk fra. Pakkerne Debian GNU/Linux kan bruge andre mapper til at overholde Filesystem Hierarchy Standard. For eksempel bruger tftpd-hpa som standard /srv/tftp. Du skal måske justere konfigurationseksemplerne i dette afsnit jævnfør dette.

Alle in.tftpd alternativer tilgængelige i Debian bør logge TFTP-forespørgsler til systemets logge som standard. Nogle af dem understøtter et -v argument for at øge uddybningen. Det anbefales at kontrollere disse logbeskeder i tilfælde at opstartsproblemer, da de er et godt udgangspunkt for diagnosticering af fejltilfælde.

4.4.4. Flyt TFTP-aftryk på plads

Placer så TFTP-opstartsaftrykket du skal bruge som set i Afsnit 4.2.1, “Her kan du finde installationsfiler”, i opstartsaftryksmappen tftpd. Du skal måske lave en henvisning fra den fil til filen som tftpd vil bruge til opstart af en bestemt klient. Desværre bestemmes filnavnet af TFTP-klienten, og der er ingen udbredte standarder.