4.3. Förbered filerna för nätverksuppstart via TFTP

Om din maskin är ansluten till ett lokalt nätverk har du möjligheten att starta upp via nätverket från en annan maskin med TFTP. Om du tänker starta upp installationssystemet från en annan maskin behöver uppstartsfilerna placeras på specifika platser på den maskinen och maskinen konfigureras för att få stöd för uppstart av din specifika maskin.

Du behöver konfigurera en TFTP-server, och för många maskiner även en DHCP-server.

DHCP (Dynamic Host Configuration Protocol) är en mer flexibel, bakåtkompatibel utökning av BOOTP. Vissa system kan endast konfigureras via DHCP.

Trivial File Transfer Protocol (TFTP) används för att erbjuda uppstartsavbildningar till klienten. Teoretiskt sett kan alla servrar, på alla plattformar, som implementerat de här protokollen, kan användas. I exemplen i det här avsnittet, tillhandahåller vi kommandon för SunOS 4.x, SunOS 5.x (även kallad Solaris) och GNU/Linux.

4.3.1. Konfigurering av DHCP-server

En fri DHCP-serverprogramvara är ISC dhcpd. För Debian GNU/Linux, rekommenderas paketet dhcp3-server. Här är en exempelkonfigurationsfil för det (se /etc/dhcp3/dhcpd.conf):

option domain-name "exempel.se";
option domain-name-servers ns1.exempel.se;
option subnet-mask 255.255.255.0;
default-lease-time 600;
max-lease-time 7200;
server-name "servernamn";

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 klientnamn {
  filename "/tftpboot/tftpboot.img";
  server-name "servernamn";
  next-server servernamn;
  hardware ethernet 01:23:45:67:89:AB;
  fixed-address 192.168.1.90;
}

I det här exemplet finns det en server kallad servernamn som gör allt arbete som DHCP-server, TFTP-server och nätverksgateway. Du behöver nästan säkert ändra domännamnsalternativen, såväl som servernamnet och klientens maskinvaruadress. Alternativet filename bör vara ange namnet på den fil som ska hämtas via TFTP.

Efter du har redigerat konfigurationsfilen för dhcpd, starta om den med /etc/init.d/dhcpd3-server restart.

4.3.2. Aktivering av TFTP-server

För att få TFTP-servern klar att köra, bör du först se till att tftpd är aktiverad. Den aktiveras normalt sett genom att ha en rad som liknar följande rad i /etc/inetd.conf:

tftp dgram udp wait nobody /usr/sbin/tcpd in.tftpd /tftpboot

Debian-paketen kommer normalt sett att ställa in det korrekt som standard när de installeras.

Notera

Historiskt sett hanterade TFTP-servrarna avbildningar från katalogen /tftpboot. Dock kan Debian GNU/Linux-paket använda andra kataloger för att följa Filesystem Hierarchy Standard. Till exempel, tftpd-hpa använder som standard /var/lib/tftpboot. Du kan därför behöva justera konfigurationsexemplen i det här avsnittet.

Leta i filen /etc/inetd.conf och kom ihåg katalogen som används som argument till in.tftpd[2]; du behöver det senare. Om du behövde ändra /etc/inetd.conf, behöver du meddela till den körande inetd-processen att filen har ändrats. På en Debian-maskin, kör /etc/init.d/inetd reload; på andra maskiner, ta reda på vilket process-id som inetd har och kör sedan kill -HUP inetd-pid.

Om du tänker installera Debian på en SGI-maskin och din TFTP-server är en GNU/Linux-burk som kör Linux 2.4, behöver du ställa in följande på din server:

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

för att stänga av Path MTU discovery, annars kan SGI:ns PROM inte hämta kärnan. Vidare bör du se till att TFTP-paket skickas från en källport som inte är högre än 32767, annars kommer hämtningen att stanna av efter första paketet. Igen, det är Linux 2.4.X som ger det här felet i PROM, och du kan undvika det genom att ställa in

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

för att justera intervallet av källportar som Linux TFTP-server använder.

4.3.3. Flytta TFTP-avbildningarna till rätt plats

Placera sedan TFTP-uppstartsavbildningen du behöver, som du hittar i Avsnitt 4.2.1, ”Var man får tag på installationsavbildningar”, i katalogen för uppstartsavbildningar för tftpd. Du kan behöva att skapa en länk från den filen till den fil som tftpd kommer att använda för att starta upp en specifik klient. Tyvärr fastställs filnamnet av TFTP-klienten och det finns inga riktiga standarder.

4.3.3.1. Uppstart via TFTP för SGI

På SGI-maskiner kan du förlita dig på att bootpd skickar med namnet på TFTP-filen. Det anges antingen som bf= i /etc/bootptab eller som alternativet filename= i /etc/dhcpd.conf.



[2] Alla alternativ till in.tftpd i Debian ska som standard logga TFTP-begäran till systemloggarna. Några av dem har stöd för argumentet -v för att öka informationsnivån. Det rekommenderas att kontrollera dessa loggmeddelanden om uppstartsproblem inträffar eftersom de är en bra startpunkt för att diagnostisera problem.