PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Problem mit TFTPD unter Debian



mordur
04.12.07, 08:12
Ich habe ein Problem mit der Installation des TFTP-Servers auf Debian etch Linux 4.0.

ich habe apt-get install tftp gemacht, dann unter /etc/xinetd.d/tftp folgende Einträge gemacht, wie in der Anleitung beschrieben:

service tftp
{
socket_type = dgram
protocol = udp
wait = yes
user = root
server = /usr/sbin/in.tftpd
server_args = /tftpboot -vvvvvvvvv
}

Das Verzeichnis /tftpboot existiert und hat auch die richtige Freigabe. Dann mache ich ein /etc/init.d/xinetd restart und es scheint auch zu funktionieren.
Wenn ich jedoch ein ps axf | grep tftp mache, erhalte ich kein Ergebnis und ein TFTP-Transfer von einer anderen Maschine geht auch nicht, d.h. ich kann mich wohl verbinden mit tftp <IP-Adresse>, wenn ich jedoch get <Datei> mache, erhalte ich nach einiger Zeit ein "Transfer timed out". Wer weiss einen Rat?

BedriddenTech
04.12.07, 08:14
Da du den xinetd benutzt, wirst du keinen dauerhaft lauschenden tftpd in der Prozesstabelle finden. Der (x)inetd startet Programme nur auf Anfrage von außen. Aber du müßtest den tftp-Dienst finden, wenn du "netstat -tulpen" ausführst.

mordur
04.12.07, 08:47
netstat ergibt folgenden output:

netstat -tulpen
Aktive Internetverbindungen (Nur Server)
Proto Recv-Q Send-Q Local Address Foreign Address State Benutzer Inode PID/Program name
tcp 0 0 0.0.0.0:769 0.0.0.0:* LISTEN 0 6985 2710/rpc.mountd
tcp 0 0 0.0.0.0:2049 0.0.0.0:* LISTEN 0 6927 -
tcp 0 0 0.0.0.0:46026 0.0.0.0:* LISTEN 101 7223 2801/rpc.statd
tcp 0 0 0.0.0.0:34894 0.0.0.0:* LISTEN 0 6938 -
tcp 0 0 0.0.0.0:111 0.0.0.0:* LISTEN 0 6013 2133/portmap
tcp 0 0 0.0.0.0:113 0.0.0.0:* LISTEN 0 7011 2720/inetd
tcp 0 0 127.0.0.1:25 0.0.0.0:* LISTEN 0 6839 2660/exim4
tcp6 0 0 :::80 :::* LISTEN 0 7329 2854/apache2
tcp6 0 0 :::22 :::* LISTEN 0 7119 2744/sshd
udp 0 0 0.0.0.0:32768 0.0.0.0:* 0 6934 -
udp 0 0 0.0.0.0:2049 0.0.0.0:* 0 6923 -
udp 0 0 0.0.0.0:32770 0.0.0.0:* 101 7220 2801/rpc.statd
udp 0 0 0.0.0.0:67 0.0.0.0:* 0 6754 2614/dhcpd
udp 0 0 0.0.0.0:69 0.0.0.0:* 0 8739 3419/xinetd
udp 0 0 0.0.0.0:857 0.0.0.0:* 0 7212 2801/rpc.statd
udp 0 0 0.0.0.0:111 0.0.0.0:* 0 6010 2133/portmap
udp 0 0 0.0.0.0:766 0.0.0.0:* 0 6982 2710/rpc.mountd

den xinetd finde ich wohl, scheint auch der richtige Port zu sein nur tftp gibts nicht

mordur
04.12.07, 10:09
vielleicht das noch als ergänzung:

wenn ich den xinetd starte steht im syslog:


Reading included configuration file: /etc/xinetd.d/tftp [file=/etc/xinetd.d/tftp] [line=26]
xinetd[3568]:
Reading included configuration file: /etc/xinetd.d/time [file=/etc/xinetd.d/time] [line=10]
xinetd[3568]: removing chargen
xinetd[3568]: removing chargen
xinetd[3568]: removing daytime
xinetd[3568]: removing daytime
xinetd[3568]: removing discard
xinetd[3568]: removing discard
xinetd[3568]: removing echo
xinetd[3568]: removing echo
xinetd[3568]: removing time
xinetd[3568]: removing time
xinetd[3568]: xinetd Version 2.3.14 started with libwrap loadavg options compiled in.
xinetd[3568]: Started working: 1 available service

BedriddenTech
04.12.07, 11:50
netstat ergibt folgenden output:

netstat -tulpen
Aktive Internetverbindungen (Nur Server)
Proto Recv-Q Send-Q Local Address Foreign Address State Benutzer Inode PID/Program name
udp 0 0 0.0.0.0:69 0.0.0.0:* 0 8739 3419/xinetd

den xinetd finde ich wohl, scheint auch der richtige Port zu sein nur tftp gibts nicht

Doch, TFTP gibts, auf Port 69 wird ja gelauscht. Nochmal: Wenn du den Xinetd einsetzt, wird der TFTP-Prozess genau dann gestartet, wenn eine Verbindung aufgebaut wird. Vorher siehst du vom TFTP an sich nichts - nur der inetd wartet auf Port 69 auf einkommende Verbindungen.

Was steht denn in den Logs, wenn du dich via TFTP verbinden willst?

mordur
04.12.07, 12:21
in welchen Logs muss ich schauen? In /var/log/messages gibts nur DHCP -Meldungen. Wenn ich von einer anderen Kiste aus eine Session aufmache und auf dem Server ein tcpdump mache sehe ich zwar den Request an die Datei, jedoch sonst auch nichts.

BedriddenTech
04.12.07, 14:53
Das weiß ich leider nicht, guck dir einfach mal alles in /var/log an. Irgendwo müssen die unfaßbar vielen Meldungen ja landen, immerhin betreibst du den Server mit "-vvvvvv"... Du könntest den Pfad "/tftpboot" mal hinter deine Parameter stellen, es ist unwahrscheinlich, daß es in der Reihenfolge funktioniert.

mordur
04.12.07, 15:00
so nun scheints zu laufen. ich habe ein paar umstellungen in der Parameterliste gemacht.
Leider sagt das Log jetzt folgendes,wenn ein Request via tftp kommt:


Dec 4 10:49:35 cableadminForst in.tftpd[3371]: RRQ from 10.10.2.1 filename /tftpboot/__M3-gold_0011.1a03.b9da__.bin
Dec 4 10:49:35 cableadminForst in.tftpd[3371]: sending NAK (1, File not found) to 10.10.2.1


Diese Datei und das Verzeichnis existieren aber und haben auch die richigen Rechte. Die Anfrage kommt von einem Kabelmodem. Wenn ich diese Datei von einer anderen Linuxkiste anfrage funktioniert die Übertragung tadellos. Nur wenn das Modem anfragt, kommt dieser Fehler. Selbst Rechte setzen auf 777 hilft nichts.

???

BedriddenTech
04.12.07, 15:46
Stimmen die Routen? Firewall dazwischen?

mordur
04.12.07, 15:49
Firewall ist nicht aktiv, iptables zeigt zumindestens nix. Hab dieses Debian eigentlich ohne Firewall installiert.

Das Modem selbst kann ich anpingen, so denke ich sind die Routen ok.

mordur
04.12.07, 16:25
Ich habe die Optionen -l und -s auch noch aus /etc/xinet.d/tftp und inet.conf entfernt und nun läuft es !
Vielen Dank trotzdem!