Sie sind nicht angemeldet.

Lieber Besucher, herzlich willkommen bei: Linux Forum Linux-Web.de. Falls dies Ihr erster Besuch auf dieser Seite ist, lesen Sie sich bitte die Hilfe durch. Dort wird Ihnen die Bedienung dieser Seite näher erläutert. Darüber hinaus sollten Sie sich registrieren, um alle Funktionen dieser Seite nutzen zu können. Benutzen Sie das Registrierungsformular, um sich zu registrieren oder informieren Sie sich ausführlich über den Registrierungsvorgang. Falls Sie sich bereits zu einem früheren Zeitpunkt registriert haben, können Sie sich hier anmelden.

1

04.12.2007, 09:12

[gelöst] Problem mit TFTP-Server

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:

Quellcode

1
2
3
4
5
6
7
8
9
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?

linuxerr

Prof. Dr. Schlaumeier

  • »linuxerr« ist männlich

Beiträge: 8 557

Wohnort: Mecklenburg, zur Entwicklungshilfe in Chemnitz/Sachsen ;-)

  • Nachricht senden

2

04.12.2007, 14:53

RE: Problem mit TFTP-Server

solange du keinen tftp-kontakt aufnimmst, ist tftpd auch nicht in der prozessliste. der wird durch inetd ja erst gestartet, wenn eine anforderung da ist.
das tftp-protokoll funktioniert über udp, dass ist ein verbindungsloses protokoll. wenn du
tftp <ip-des-servers> aufrufst, dann kommt keine fehlermeldung, auch wenn der server überhaupt kein tftp anbietet.
es sollte xinetd jedoch auf dem tftp-port lauschen, dann müsste bei kontaktaufnahme in der prozessliste des servers der tftpd zu sehen sein. wenn nicht, ist inetd falsch konfiguriert oder der client hat keine berechtigung auf den server zuzugreifen (/etc/hosts.allow , /etc/hosts.deny )
Die Rechtschreibfehler in diesem Beitrag sind nicht urheberrechtlich geschützt.
Jeder der einen findet darf ihn behalten und in eigenen Werken weiterverwenden.

3

04.12.2007, 15:12

in /etc/hosts.allow steht ALL:in.tftpd

die /etc/inetd.conf :

Quellcode

1
tftp            dgram   udp     wait    root    /usr/sbin/tcpd  /usr/sbin/in.tftpd --verbose=6 --logfile=/var/log/messages -s -l /tftpboot


Verzeichnis /tftpboot existiert und hat auch die richtige Freigabe
in der Dtaei /etc/xinetd.d/tftp steht:

Quellcode

1
2
3
4
5
6
7
8
9
10
11
12
service tftp
{
   socket_type   = dgram
   protocol   = udp
   wait      = yes
   user      = root
   server      = /usr/sbin/in.tftpd
   server_args   = -l -s /tftpboot
   disable      = no
   per_source   = 11
   cps      = 100 2
} 


eine Firewall gibt es nicht.
Das sylog sagt beim starten von /etc/init.d/xinetd :

Quellcode

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
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


Ich habe jetzt da einige Modems dran hängen die ein Konfigfile ziehen wollen vom Tftp-Server. Wenn ich mit tcpdump lausche erhalte ich folgendes:

Quellcode

1
2
10:03:32.473644 IP (tos 0x0, ttl  63, id 23934, offset 0, flags [none], proto: UDP (17), length: 77) 10.10.2.42.3155 > cableadminForst.hnc.loc.tftp: [udp sum ok]  49 RRQ "/tftpboot/__M1-gold_0011.809e.3022__.bin" octet
10:03:32.474500 IP (tos 0x0, ttl  64, id 37925, offset 0, flags [none], proto: UDP (17), length: 47) cableadminForst.hnc.loc.32772 > 10.10.2.42.3155: [bad udp cksum ca94!] UDP, length 19


Komisch nur das keinerlei Logging des TFTP-Servers auftaucht. Weder in /var/log/messages noch sonst wo.

4

04.12.2007, 15:38

OK. ich habe jetzt in der Datei inet.conf die Optionen -s und -l so vertauscht, das jetzt -l -s /tftpboot in der Datei steht.
Ich sehe jetz auch was im Log und zwar folgendes:

Quellcode

1
2
Dec  4 10:26:40 cableadminForst in.tftpd[3158]: RRQ from 10.10.2.42 filename /tftpboot/__M1-gold_0011.809e.3022__.bin
Dec  4 10:26:40 cableadminForst in.tftpd[3158]: sending NAK (1, File not found) to 10.10.2.42


Die Datei und das Verzeichnis existieren aber garantiert! Die Rechte von /tftpboot sind auf 777 und die Dateien auf rx. Wo kann denn jetzt da wieder der Fehler stecken?

linuxerr

Prof. Dr. Schlaumeier

  • »linuxerr« ist männlich

Beiträge: 8 557

Wohnort: Mecklenburg, zur Entwicklungshilfe in Chemnitz/Sachsen ;-)

  • Nachricht senden

5

04.12.2007, 17:02

die option -l macht natürlich überhaupt keinen sinn, wenn in.tftpd durch xinetd aufgerufen wird, die muss raus. und die laufenden in.tftpd musst du killen.

im client darfst du bei der option -s natürlich nur den dateinamen relativ zu /tftpboot angeben. eine datei, die in /tftpboot/filename liegt, wird also mit
get filename
geholt.
stell im clienten mal
verbose
trace
ein und verfolge die meldungen.
Die Rechtschreibfehler in diesem Beitrag sind nicht urheberrechtlich geschützt.
Jeder der einen findet darf ihn behalten und in eigenen Werken weiterverwenden.

6

04.12.2007, 17:24

YippiieeeeH! thats it. Ohne -l und -s funzt es einwandfrei!
Vielen Dank !

linuxerr

Prof. Dr. Schlaumeier

  • »linuxerr« ist männlich

Beiträge: 8 557

Wohnort: Mecklenburg, zur Entwicklungshilfe in Chemnitz/Sachsen ;-)

  • Nachricht senden

7

04.12.2007, 18:05

bitte :)
Die Rechtschreibfehler in diesem Beitrag sind nicht urheberrechtlich geschützt.
Jeder der einen findet darf ihn behalten und in eigenen Werken weiterverwenden.

Thema bewerten