Benutzer-Werkzeuge

Webseiten-Werkzeuge


it-themen:grundlagen:netzwerkdienste:tftp_pxe

**Dies ist eine alte Version des Dokuments!**

zurĂĽck

TFTP & PXE – Grundlagen

TFTP (Trivially File Transfer Protocol) und PXE (Preboot Execution Environment) werden häufig für Netzboot, Firmware-Updates, Konfigurationsuploads und automatisierte Betriebssysteminstallationen genutzt.

TFTP – Trivial File Transfer Protocol

TFTP ist ein sehr einfaches DateiĂĽbertragungsprotokoll.
Es verzichtet bewusst auf Funktionen wie:

  • Authentifizierung
  • VerschlĂĽsselung
  • Verzeichnisstrukturen
  • Rechteverwaltung

Es wird eingesetzt in:

  • Netzwerkgeräten (Switches, Router)
  • PXE-Boot
  • Embedded-Systemen
  • einfachen Firmware-Downloads

Port & Protokoll

  • 69/UDP
  • verbindungslos, schnell, aber unsicher

Funktionsweise von TFTP

Ablauf:

  1. Client sendet Anfrage (RRQ/WRQ) an Port 69
  2. Server öffnet einen neuen Port für die Datenübertragung
  3. Datei wird blockweise ĂĽbertragen (512 Byte)
  4. Client bestätigt jeden Block
  5. Ăśbertragung endet bei kleinem Block (<512 Byte)

ASCII:


 Client → UDP/69 → TFTP-Server
 → Dynamischer Port → Datenübertragung


Häufige TFTP-Befehle (Linux)


 tftp 192.168.1.10
 tftp> get config.cfg
 tftp> put firmware.bin


Vor- und Nachteile von TFTP

Vorteile

  • extrem leichtgewichtig
  • perfekt fĂĽr Bootloader, kleine Systeme
  • ideal fĂĽr PXE

Nachteile

  • keine Sicherheit
    * keine Authentifizierung
    * leicht manipulierbar
    * langsamer als moderne Protokolle

PXE – Preboot Execution Environment

PXE ermöglicht es, einen Computer über das Netzwerk zu booten, ohne Festplatte oder lokales Betriebssystem.

Es basiert auf:

  • DHCP
  • TFTP
  • einem Netzwerk-Bootloader

PXE-Boot Ablauf

Kompletter Boot-Vorgang Schritt fĂĽr Schritt:

1. Client startet (BIOS/UEFI)
2. NIC sendet DHCP-Discover mit PXE-Option
3. DHCP-Server sendet Adresse + PXE-Optionen (Option 66 & 67)
4. Client lädt Bootloader via TFTP
5. Bootloader lädt Kernel + Initrd via TFTP
6. Betriebssystem startet Installationsroutine oder Live-System

PXE – Wichtige DHCP-Optionen

  • Option 66 → TFTP-Server-Adresse
    • Option 67 → Name des Bootfiles (z. B. pxelinux.0)

    Beispiel: <code> option tftp-server-name „192.168.1.10“; option bootfile-name „pxelinux.0“; </code>

Verzeichnisstruktur eines PXE-Servers

Typisch bei Linux PXE-Umgebungen:

/tftpboot/
/tftpboot/pxelinux.0
/tftpboot/ldlinux.c32
/tftpboot/menu.cfg
/tftpboot/images/debian/
/tftpboot/images/windows/
/tftpboot/initrd.img
/tftpboot/vmlinuz

Anwendungsfälle von PXE

  • Masseninstallation von PCs (Schulen, Firmen)
  • Automatisierte Linux-Deployments (z. B. via Foreman, MAAS)
  • Diskless Clients
  • Rettungssysteme / Live-Systeme
  • Imaging (Clonezilla, FOG Server)

Sicherheit bei PXE & TFTP

Da beide Protokolle keine Sicherheit bieten:

  • immer in isolierten VLANs verwenden
    • Zugang zu TFTP-Server einengen
      * Boot-Pfade schĂĽtzen
      * alternative sichere Mechanismen prĂĽfen (iPXE via HTTPS)

    Modernere PXE-Varianten (iPXE) unterstĂĽtzen:

  • HTTP/HTTPS
    • Authentifizierung
      * fortgeschrittenes Boot-Scripting

    ASCII-Diagramm: PXE Bootkette

Client ──DHCP──> DHCP-Server (Option 66/67)
   ↓
lädt Bootloader via TFTP
   ↓
lädt Kernel + Initrd via TFTP
   ↓
Start des Installers / Betriebssystems

Zusammenfassung

  • TFTP = einfaches Datei-Transferprotokoll (UDP 69), keine Sicherheit
    • PXE = Netzwerkboot, nutzt DHCP + TFTP
      * Option 66/67 steuern PXE-Server und Bootloader
      * ideal fĂĽr Masseninstallationen und OS-Deployments
      * moderne Varianten nutzen iPXE (auch HTTP/HTTPS möglich)
it-themen/grundlagen/netzwerkdienste/tftp_pxe.1764590642.txt.gz · Zuletzt geändert: von lars