TFTP (Trivial File Transfer Protocol) wurde erstmals 1980 beschrieben. Es ist ein ziemlich altes Protokoll, das im Juni 1981 als TFTP Protocol Revision 2 in RFC 783 (Request For Comments) von Karen R. Sollins.
In den frühen Tagen bestand das Hauptziel von TFTP darin, Dateien über ein Netzwerk zu senden und zu empfangen. Insbesondere wurde es verwendet, um die Dateien zu übertragen, die während des Bootens benötigt werden, damit Systeme über ein Netzwerk booten können.
So richten Sie einen TFTP-Server auf einem Linux-Rechner ein.
Was ist TFTP?
TFTP wird immer noch für Dateiübertragungszwecke verwendet, und es gibt keine grundlegenden Änderungen an den unterstützten Funktionen. TFTP wird zum Herunterladen und Senden von Dateien über UDP/IP verwendet. Es hat keine zusätzlichen Funktionen wie Identitäts- und Berechtigungskontrolle, Dateiauflistung, Löschung oder Umbenennung, die normalerweise in anderen Dateiübertragungsprotokollen zu finden sind.
Im Gegensatz zu den fortgeschrittenen Dateiübertragungsprotokollen, die TCP in der Übertragungsschicht verwenden, arbeitet es mit dem UDP-Protokoll und hat keine Funktionen wie das Prüfen, ob die Pakete, die zu der Datei gehören, an die andere gehen oder nicht Seite. Aufgrund dieser Einschränkung ist es eher für die Verwendung in lokalen Netzwerken als für das Internet oder Weitverkehrsnetze geeignet.
Trotz all dieser scheinbar negativen Merkmale, die oben aufgeführt sind, ist ein sehr starker Aspekt des TFTP-Protokolls seine Einfachheit. Die Implementierung des Protokolls ist im Vergleich zu seinen Alternativen recht einfach, selbst für Umgebungen, auf denen kein Betriebssystem installiert ist. Aufgrund dieser Eigenschaft hat es einen breiten Einsatzbereich in eingebetteten Systemen.
Installieren eines TFTP-Servers unter Linux
Beim Arbeiten mit eingebetteten Geräten ist es wichtig, dass der TFTP-Serverdienst installiert ist. Auf Linux-Systemen können mehrere TFTP-Serverimplementierungen ausgeführt werden. Wenn Sie eine verwenden Debian-basierte Distribution, können Sie die installieren tftpd-hpa, tftpd, oder atftpd Pakete. Wenn Sie sich nicht sicher sind, welches Sie wählen sollen, sollten Sie das Paket tftpd-hpa installieren.
sudo apt-erhalten Installieren Sie tftpd-hpa
Nach der Installation beginnt der TFTP-Dienst zu lauschen den UDP-Port 69. Um die Dateien über den TFTP-Server anderen Systemen bereitzustellen, müssen Sie einige Voraussetzungen beachten:
- Kopieren der erforderlichen Datei in das TFTP-Home-Verzeichnis oder in ein Verzeichnis unterhalb dieses Home-Verzeichnisses
- Dateiberechtigungen öffentlich sichtbar machen
Um herauszufinden, was das Home-Verzeichnis des TFTP-Servers ist, können Sie sich die TFTP_VERZEICHNIS Variable in der /etc/default/tftpd-hpa Datei. Normalerweise sehen Sie Verzeichnisse wie /var/lib/tftpboot oder /srv/tftp. Wenn Sie möchten, können Sie dieses Verzeichnis ändern und den Dienst neu starten.
Katze /etc/Ursprünglich/tftpd-hpa
Wenn Sie den Eigentümer des relevanten TFTP-Home-Verzeichnisses in Ihr Benutzerkonto ändern, müssen Sie aus Gründen der Benutzerfreundlichkeit nicht jedem ausgeführten Befehl das Präfix sudo hinzufügen. Verwenden Sie den Befehl chown, um den Besitz von root auf den aktuellen Benutzer zu ändern:
sudo chown -R $USER /srv/tftp
Die TFTP-Server-Paketnamen und Standard-Home-Verzeichnisse können je nach verwendeter Linux-Distribution abweichen.
Senden von Dateien mit dem TFTP-Server
Manchmal gibt es Situationen, in denen TFTP die einzige Möglichkeit ist, eine Datei von Ihrem zu verschieben Eingebettetes Linux-System an die äußere Umgebung. Beispielsweise unterstützt das System manchmal möglicherweise keine beschreibbaren Medien, mit denen Sie die Datei übertragen können.
In solchen Fällen wird wahrscheinlich der TFTP-Client einkompiliert Busyboxkönnen Sie eine im System gespeicherte Datei an einen TFTP-Server in einem Netzwerk senden.
Um die TFTP-Clientanwendung zu verwenden, geben Sie die Beschäftigte Box tftp Befehl:
Beschäftigte Box tftp
Um eine Beispieldatei an den TFTP-Server zu senden, müssen Sie einen Befehl wie den folgenden verwenden:
Busyboxtftp-lBeispiel.Behälter-p 192.168.1.100
Obwohl der obige Befehl korrekt ist, erhalten Sie beim Übertragen der Datei auf Ihren TFTP-Server eine Fehlermeldung. Da die zurückgegebene Fehlermeldung nicht selbsterklärend ist, ist es schwierig zu verstehen, was das eigentliche Problem ist.
Das Problem hier liegt an einigen Sicherheitsverfahren auf dem TFTP-Server. TFTP erfordert, dass sich eine Datei mit demselben Namen in dem Verzeichnis befindet, in das die Datei geschrieben wird als Voraussetzung für einen Datei-Upload und dass der Schreibzugriff für diese Datei vorhanden sein soll alle.
Mit anderen Worten, es ist nicht möglich, über TFTP-Clients eine Datei hochzuladen, die nicht auf dem TFTP-Server vorhanden ist. Wenn Sie eine leere Datei mit demselben Namen erstellen und ihre Zugriffsrechte bearbeiten, wird der obige Upload-Vorgang erfolgreich sein. Dazu müssen Sie die folgenden Befehle im jeweiligen Home-Verzeichnis des TFTP-Servers ausführen:
CD /srv/tftp
berührenBeispiel.Behälter
chmod 666 Beispiel.Behälter
Jetzt können Sie Ihren Upload erfolgreich durchführen.
Es ist auch möglich, die obige Sicherheitsmaßnahme zu deaktivieren und den TFTP-Server eine Datei erstellen zu lassen, die nicht existiert. Dazu können Sie die verwenden -c oder --schaffen Parameter beim Starten der tftpd-hpa Anwendung. Es reicht aus, diesen Parameter zu den bestehenden hinzuzufügen TFTPD_OPTIONS Variable in der /etc/default/tftpd-hpa Datei:
# /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 ist eine ideale Möglichkeit, Konfigurationsdateien von Netzwerkgeräten auf andere Systeme zu übertragen. Darüber hinaus hat es sehr einfache Verwendungskriterien. Es funktioniert bequem mit Software auf Windows- und Linux-basierten Betriebssystemen. Schließlich ist TFTP immer da, um den Tag in Situationen zu retten, in denen Sie FTP technisch nicht verwenden können.
Der größte Nachteil ist natürlich, dass es nicht sicher ist. Daher müssen Sie beim Übertragen von Dateien mit einem TFTP-Server große Vorsicht walten lassen.
Abgesehen von Dateiübertragungen können Sie mit einem TFTP-Server keine Funktionen wie das Löschen, Bearbeiten und Ändern von Dateien ausführen. Diese Funktion ist ein großer Nachteil für diejenigen, die fortschrittliche Systeme verwenden oder suchen. Schließlich ist keine Authentifizierung erforderlich, was ein großer Nachteil ist, wenn Sie Ihre Sicherheit ernst nehmen.
Einrichten von TFTP auf anderen Betriebssystemen
Wenn Sie TFTP unter Windows verwenden, müssen Sie keine Software von Drittanbietern installieren. Sie können TFTP mit der Option Windows-Funktionen ein- oder ausschalten in der Systemsteuerung aktivieren.