HowTo TFTP auf debian Linux

Also gehen wir mal davon aus das es sich um einen tftp Server (Dienst) handelt den Sie gerne haben möchten. Wer gar keine Ahnung hat was oder wozu tftp gut sein soll kann ja mal kurz bei wikipedia reinschnuppern.

Als erstes mal die pakete installieren:

aptitude install tftpd

Je nachdem was ihr vorhabt solltet ihr jetzt ein Verzeichniss erstellen das dann genutzt wird um die hin und her geschobenen Daten zu beherbergen. Das kann das klassische „tftpboot“ auf root Ebene sein oder auch /var/www/tftpfiles oder etwas Ausgefalleneres (dort kann es auch über den apache erreichbar gemacht werden z.B.).

mkdir /tftpboot
chmod 777 /tftpboot
chown nobody:nogroup /tftpboot

Jetzt noch die conf anpassen.

nano /etc/inetd.conf

Hier müssen wir mindestens unser Verzeichniss ändern. Die Zeile würde bei mir dann so aussehen:

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

Da tftpd im inetd drin sitzt müssen wir den jetzt mal durchstarten, auf debian ist das wohl einer der Dienste der nicht gleich ins Auge fällt:

/etc/init.d/openbsd-inetd restart

So jetzt wollt ihr sehen das alles richtig ist und funzt? Ok, dann schnappt Euch einen anderen Server oder Rechner und installiert dort mal den Client.

aptitude install tftp

Danach einfach mal tftp eingeben und schon läuft der Client. Mit einem einfachen „?“ bekommt ihr die Befehle in einer Kurtzübersicht. Am Anfang ist mal nett viel zu sehen, also mal trace und dann verbose eingeben. Das eigendliche Verbinden sieht dann so aus:

connect dernamemeines.anderen.servers.de

Jetzt kann man mal mit put oder get was hin und her schieben und wenn das alles klappt ist der Test wohl erfolgreich und mit einem einfachen quit kommt man auch wieder raus.

Klappt nicht so wie es soll? Kann ja mal passieren. Als erstes alles oben nochmal durchgehen damit ihr auch ja nix vergessen habt. Beim Server mal dem syslog mit tail -f /var/log/syslog folgen und schauen was er sagt wenn wir uns verbinden, das kann schon recht schnell erklären wo der Hase begraben liegt. Wenn dort gar nix kommt dann ist entweder Euer syslog komisch konfiguriert, oder eure Firwall spielt euch einen Streich.

Da wären wir auch schon beim Thema Sicherheit, nicht vergessen der tftpd fragt nicht nach Benutzer oder Passwort oder irgendwas, ihm ist es egal wer da anruft. Also entweder mit hosts.deny und hosts.allow oder an der Firewall abfangen (am Besten beides). Wer generell noch was zur Sicherheit wissen muß sollte sich hier mal etwas einlesen: http://www.debian.org/doc/manuals/securing-debian-howto/securing-debian-howto.de.txt

Viel Spaß noch …