tftpd erlaubt Verbindungen, aber das Übertragen einer Datei läuft ab

7

Ich starte Ubuntu 12.04 in einer VirtualBox-VM. Ich habe das tftpd-hpaPaket installiert . Ich verwende dies, um ein eingebettetes Linux-System zu starten, und ich habe festgestellt, dass es beim ersten Start meiner VM nicht funktioniert, aber beim Neustart des tftpd-hpaDienstes funktioniert es jedes Mal bis zum nächsten Start.

Heute habe ich ein Shell-Skript von Texas Instruments ausgeführt, das möglicherweise mit meiner tftpd-Konfiguration in Konflikt geraten ist, und jetzt kann ich es überhaupt nicht mehr zum Laufen bringen. Ich kann eine Verbindung herstellen, übertrage aber das Zeitlimit sogar an localhost (ich habe auch 127.0.0.1 ausprobiert):

steve@steve-VirtualBox:~$ tftp
tftp> connect localhost
tftp> status
Connected to localhost.
Mode: netascii Verbose: off Tracing: off
Rexmt-interval: 5 seconds, Max-timeout: 25 seconds
tftp> get zImage
Transfer timed out.

tftp> 

Beachten Sie, dass /var/lib/tftpboot/zImagedies existiert, ich jedoch genau das gleiche Verhalten für eine Datei erhalte, die nicht existiert.

Hier sind die Inhalte von /etc/default/tftpd-hpa:

# /etc/default/tftpd-hpa

TFTP_USERNAME="tftp"
TFTP_DIRECTORY="/var/lib/tftpboot"
TFTP_ADDRESS="0.0.0.0:69"
TFTP_OPTIONS="--secure"

Hier ist /etc/xinetd.d/tftp:

service tftp
{
protocol = udp
port = 69
socket_type = dgram
wait = yes
user = nobody
server = /usr/sbin/in.tftpd
server_args = /var/lib/tftpboot
disable = no
}
Steve
quelle

Antworten:

2

Anscheinend starten Sie tftpd-hpa von xinetd aus und gleichzeitig als eigenständiger Dienst. Bitte wählen Sie eine aus und deaktivieren Sie die andere.

Zum Beispiel setzen disable = yesin /etc/xinetd.d/tftpund starten Sie xinetd. Starten Sie dann den Standalone-Dienst neu service tftpd-hpa restartund versuchen Sie die Verbindung erneut.

Beli
quelle
Es scheint, dass dies mein neues Problem gelöst hat, aber ich muss tftpd-hpa nach einem Neustart immer noch neu starten, bevor es funktioniert (worum es bei dieser Frage nicht ging). Vielen Dank!
Steve
Für die folgende Frage, um hoffentlich den anderen Teil zu lösen, siehe serverfault.com/questions/599126/…
Steve
1

Das Setzen von TFTP_ADDRESS = "0.0.0.0:69" hat bei mir nicht funktioniert, zumindest nicht für beide Schnittstellen. Einstellung TFTP_ADDRESS=":69"hat den Job gemacht

meresgr
quelle
Können Sie Ihr Betriebssystem und seine Version klären?
Küken
Es ist Debian Jessie
meresgr
0

1) deinstalliere / installiere tftpd-hpa neu

2) zu / etc / default / tftpd-hpa hinzufügen

RUN_DAEMON="yes"
Klopfen
quelle
0

Möglicherweise müssen Sie ein Loch in die Firewall stecken. Ab Schritt 4 von http://www.thelinuxdaily.com/2010/02/guide-on-tftp-server-setup-in-fedora/ :

Fügen Sie die folgende Zeile vor der Zeile "COMMIT" von / etc / sysconfig / iptables ein und starten Sie den Dienst mit "service iptables restart" neu:

-A INPUT -m state --state NEW -m udp -p udp --dport 69 -j ACCEPT

Daryl Spitzer
quelle
0

Siehe diese Antwort .

Ich musste /etc/default/tftpd-hpadie IP-Adresse in der TFTP_ADDRESS=Variablen bearbeiten und einstellen .

Das war bei Debian Jessie, aber bei Ubuntu kann es genauso sein.

mivk
quelle