advanced TFTP
Dieser Artikel wurde für die folgenden Ubuntu-Versionen getestet:
Du möchtest den Artikel für eine weitere Ubuntu-Version testen? Mitarbeit im Wiki ist immer willkommen! Dazu sind die Hinweise zum Testen von Artikeln zu beachten.
Artikel für fortgeschrittene Anwender
Dieser Artikel erfordert mehr Erfahrung im Umgang mit Linux und ist daher nur für fortgeschrittene Benutzer gedacht.
Zum Verständnis dieses Artikels sind folgende Seiten hilfreich:
Das Trivial File Transfer Protocol (TFTP) ist ein Vorgänger des FTP-Protokolls, wobei es weit weniger Möglichkeiten besitzt. Heute wird es nur noch für PXE-Bootvorgänge oder die Installation von alternativer Firmware verwendet, z.B. auf Hardware-Routern. Für einen "echten" FTP-Server ist TFTP nicht geeignet, hier sollte man ein reguläres Programm wie ProFTPD oder vsftpd einsetzen.
Ubuntu stellt verschiedene TFTP-Server und -Clients zur Verfügung. In dieser Anleitung wird die Benutzung des Advanced TFTP-Server erklärt. Alternativ kann der tftpd-hpa-Server für TFTP verwendet werden.
Hinweis:
Der Advanced TFTP-Server beherrscht nur IPv4.
Installation¶
atftpd (universe, Serverkomponente)
atftp (universe, Client)
Befehl zum Installieren der Pakete:
sudo apt-get install atftpd atftp
Oder mit apturl installieren, Link: apt://atftpd,atftp
Damit werden Server und Client installiert [1]. Der Client wird ausschliesslich zum Testen des Servers benötigt.
Bei der Installation des Servers wird automatisch das folgende Verzeichnis mit passenden Berechtigungen erstellt. Dieses kann zur Ablage von Dateien genutzt werden:
drwxr-xr-x 2 nobody root 4096 Aug 10 11:15 /srv/tftp/
Konfiguration¶
Achtung!
Der Server reagiert sehr empfindlich auf eine Fehlerhafte Konfiguration. Er lässt sich dann unter Umständen nicht mehr deinstallieren.
Per Default wird atftpd von inetd ausgeführt. Um dieses Verhalten zu ändern, wird zuerst inetd beendet:
sudo /etc/init.d/inetutils-inetd stop
Anschließend wird die Konfigurationdatei /etc/default/atftpd leicht modifiziert [2], indem man den Wert USE_INETD=
von true
auf false
ändert:
USE_INETD=false
Abschliend kann atftpd wie gewohnt gestartet werden:
sudo service atftpd start
Wurde inetd bei der Installation von atftpd mit installiert und wird für keinen weiteren Dienst auf dem System benötigt, kann das Paket wieder entfernt werden:
sudo apt-get remove inetutils-inetd
Verwendung¶
Der TFTP-Server kann von nun an mit den üblichen Befehlen von service
gesteuert werden:
sudo service atftpd BEFEHL
wobei BEFEHL
einer der folgenden sein kann:start, stop, restart, reload, force-reload, status
Nun prüft man nur noch mit dem Client, ob der Zugriff auf den Server klappt:
atftp localhost
Falls ja, sieht man den Prompt des TFTP-Servers:
tftp>
Dateien können nun mit den Befehlen get <Dateiname>
und put <Dateiname>
von dem Server heruntergeladen bzw. dort abgelegt werden. Beendet wird die Verbindung mit quit
.
Weitere Hinweise sind der jeweiligen Manpage zu entnehmen.
Links¶
Advanced TFTP 🇬🇧 auf Freshmeat
Serverdienste Übersichtsartikel