Heim >System-Tutorial >LINUX >So richten Sie den alten und einfachen TFTP-Server unter Linux ein
Wussten Sie, dass es eine einfachere Alternative zum beliebten Dateiübertragungsprotokoll gibt? Es ist TFTP und hier erfahren Sie, wie Sie es unter Linux einrichten.
TFTP (Trivial File Transfer Protocol) wurde erstmals 1980 definiert. Es handelt sich um ein ziemlich altes Protokoll, das im Juni 1981 von Karen R. Sollins als TFTP Protocol Revision 2 in RFC 783 (Request for Comments) veröffentlicht wurde.
In den Anfängen bestand das Hauptziel von TFTP darin, Dateien über das Netzwerk zu senden und zu empfangen. Insbesondere dient es der Übertragung von Dateien, die beim Booten benötigt werden, damit das System über das Netzwerk booten kann.
Hier erfahren Sie, wie Sie einen TFTP-Server auf einem Linux-Computer einrichten.
Was ist TFTP?
TFTP wird weiterhin für Dateiübertragungszwecke verwendet, es gibt keine grundlegenden Änderungen an der unterstützten Funktionalität. TFTP wird zum Herunterladen und Senden von Dateien über UDP/IP verwendet. Es verfügt nicht über zusätzliche Funktionen wie Identitäts- und Autorisierungskontrollen, Dateiauflistung, Löschung oder Umbenennung, die in anderen Dateiübertragungsprotokollen üblich sind.
Anders als das Advanced File Transfer Protocol, das TCP auf der Transportschicht verwendet, arbeitet es auf dem UDP-Protokoll und verfügt nicht über Funktionen wie die Prüfung, ob die zur Datei gehörenden Pakete an das andere Ende gesendet werden. Aufgrund dieser Einschränkung eignet es sich eher für die Verwendung in einem LAN als im Internet oder WAN.
Trotz all dieser oben aufgeführten scheinbar nachteiligen Funktionen ist seine Einfachheit ein sehr leistungsstarker Aspekt des TFTP-Protokolls. Im Vergleich zu seinen Alternativen ist dieses Protokoll auch für Umgebungen ohne Betriebssystem sehr einfach zu implementieren. Aufgrund dieser Eigenschaft bietet es ein breites Einsatzspektrum in eingebetteten Systemen.
Installieren Sie den TFTP-Server unter Linux
Bei der Verwendung eingebetteter Geräte ist es wichtig, den TFTP-Serverdienst zu installieren. Auf Linux-Systemen ist es möglich, mehrere TFTP-Server-Implementierungen auszuführen. Wenn Sie eine Debian-basierte Distribution verwenden, können Sie die Pakete tftpd-hpa, tftpd oder atftpd installieren. Wenn Sie sich nicht sicher sind, welches Sie wählen sollen, sollten Sie die Installation des Pakets tftpd-hpa in Betracht ziehen.
┌──(linuxmi㉿linuxmi)-[~/linuxmi.com] └─$ sudo apt-get install tftpd-hpa
Nach der Installation beginnt der TFTP-Dienst mit der Überwachung des UDP-Ports 69. Um Dateien über einen TFTP-Server an andere Systeme bereitzustellen, müssen Sie einige Voraussetzungen beachten:
Die erste besteht darin, die erforderlichen Dateien in das TFTP-Home-Verzeichnis oder ein Verzeichnis unter diesem Home-Verzeichnis zu kopieren, und die zweite besteht darin, die Dateiberechtigungen für die Öffentlichkeit sichtbar zu machen
Um herauszufinden, was das Home-Verzeichnis des TFTP-Servers ist, können Sie sich die Variable TFTP_DIRECTORY in der Datei /etc/default/tftpd-hpa ansehen. Typischerweise werden Sie Verzeichnisse wie /var/lib/tftpboot oder /srv/tftp sehen. Bei Bedarf können Sie dieses Verzeichnis ändern und den Dienst neu starten.
┌──(linuxmi㉿linuxmi)-[~/linuxmi.com] └─$ cat /etc/default/tftpd-hpa
Wenn Sie den Besitzer des relevanten TFTP-Home-Verzeichnisses in Ihr Benutzerkonto ändern, müssen Sie aus Gründen der Benutzerfreundlichkeit nicht jedem Befehl, den Sie ausführen, das Präfix „sudo“ hinzufügen. Verwenden Sie den Befehl chown, um den Besitzer von Root auf den aktuellen Benutzer zu ändern:
sudo chown -R $USER /srv/tftp
Der Name des TFTP-Serverpakets und das Standard-Home-Verzeichnis können je nach verwendeter Linux-Distribution variieren.
Dateien über den TFTP-Server senden
Manchmal gibt es Situationen, in denen TFTP die einzige Option zum Verschieben von Dateien von einem eingebetteten Linux-System in eine externe Umgebung ist. Manchmal unterstützt das System beispielsweise keine beschreibbaren Medien, die zum Übertragen von Dateien verwendet werden können.
Da der TFTP-Client in diesem Fall möglicherweise in Busybox kompiliert ist, können Sie in Ihrem System gespeicherte Dateien an einen TFTP-Server im Netzwerk senden.
Um die TFTP-Client-Anwendung zu verwenden, geben Sie den Busybox-TFTP-Befehl aus:
busybox tftp
Um die Beispieldatei an den TFTP-Server zu senden, müssen Sie den folgenden Befehl verwenden:
busybox tftp -l example.bin -p 192.168.1.111
Obwohl der obige Befehl korrekt ist, tritt beim Übertragen der Datei auf den TFTP-Server ein Fehler auf. Da die zurückgegebene Fehlermeldung nicht selbsterklärend ist, kann es schwierig sein, das eigentliche Problem zu verstehen.
Das Problem liegt hier an einigen Sicherheitsverfahren auf dem TFTP-Server. TFTP erfordert als Voraussetzung für das Hochladen der Datei, dass sich eine Datei mit demselben Namen in dem Verzeichnis befindet, in das die Datei geschrieben wird, und dass Schreibberechtigungen für die Datei für alle verfügbar sein müssen.
Mit anderen Worten: Dateien, die nicht auf dem TFTP-Server vorhanden sind, können nicht über den TFTP-Client hochgeladen werden. Wenn Sie eine leere Datei mit demselben Namen erstellen und deren Zugriffsberechtigungen bearbeiten, ist der oben beschriebene Upload-Vorgang erfolgreich. Dazu müssen Sie im Home-Verzeichnis des jeweiligen TFTP-Servers den folgenden Befehl ausführen:
cd /srv/tftp touch example.bin chmod 666 example.bin
Jetzt können Sie den Upload erfolgreich durchführen.
Es ist auch möglich, die oben genannten Sicherheitsmaßnahmen zu deaktivieren und den TFTP-Server eine Datei erstellen zu lassen, die nicht existiert. Dazu können Sie beim Starten der tftpd-hpa-Anwendung den Parameter -c oder --create verwenden. Es reicht aus, diesen Parameter zur vorhandenen Variable TFTPD_OPTIONS in der Datei /etc/default/tftpd-hpa hinzuzufügen:
# /etc/default/tftpd-hpa TFTP_USERNAME="tftp" TFTP_DIRECTORY="/srv/tftp" TFTP_ADDRESS="0.0.0.0:69" TFTP_OPTIONS="--secure --create"
Warum einen TFTP-Server für die Dateiübertragung verwenden?
Der wichtigste Vorteil von TFTP ist, dass es schnell ist und Ihnen hilft, Zeit zu sparen. Es eignet sich ideal zum Übertragen von Konfigurationsdateien von Netzwerkgeräten auf andere Systeme. Darüber hinaus verfügt es über sehr einfache Nutzungsstandards. Es kann problemlos mit Software auf Windows- und Linux-basierten Betriebssystemen ausgeführt werden. Schließlich kann TFTP in Situationen, in denen FTP technisch nicht möglich ist, immer die Rettung sein.
Der größte Nachteil ist natürlich, dass es unsicher ist. Daher müssen Sie beim Übertragen von Dateien über einen TFTP-Server sehr vorsichtig sein.
Mit Ausnahme der Dateiübertragung können Sie den TFTP-Server nicht zum Ausführen von Funktionen wie Löschen, Bearbeiten und Ändern von Dateien verwenden. Diese Funktion ist ein großer Nachteil für diejenigen, die fortschrittliche Systeme verwenden oder danach suchen. Schließlich ist keine Authentifizierung erforderlich, was ein großer Nachteil ist, wenn Sie Ihre Sicherheit ernst nehmen.
Richten Sie TFTP auf anderen Betriebssystemen ein
Wenn Sie TFTP unter Windows verwenden möchten, müssen Sie keine Software von Drittanbietern installieren. Sie können TFTP mithilfe der Option „Windows-Funktionen aktivieren oder deaktivieren“ in der Systemsteuerung aktivieren.
Das obige ist der detaillierte Inhalt vonSo richten Sie den alten und einfachen TFTP-Server unter Linux ein. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!