Cela fait plusieurs semaines que j'essaie de créer un serveur TFTP sur une nouvelle version d'Ubuntu 14.04 en utilisant des articles que j'ai trouvés en ligne, mais toutes mes tentatives semblent échouer, car le serveur TFTP que j'ai installé ne semble pas pour répondre. Peu importe si j'obtiens ou met, je reçois toujours une erreur de délai d'attente.
Les articles les plus récents que j'ai essayés sont:
Les deux ont échoué, le client TFTP se plaignant chaque fois d'une erreur de dépassement de délai.
J'ai ajouté (ou du moins je pense l'avoir) des règles à UFW et à iptables pour permettre l'accès au port UDP 69, mais sans succès.
Je construis mon système d'exploitation Ubuntu 14.04 de base à partir du fichier mini.iso que j'ai téléchargé à partir des pages de téléchargement d'Ubuntu sur un VirtualBox VM (version 4.3.8 r92456) exécuté sur mon ordinateur professionnel Win7. Aucun package supplémentaire n'a été installé lors de la construction initiale, mais j'ai installé SSH et la construction de NTP (qui semblent fonctionner tous les deux). Le client TFTP s'exécute à partir de mon ordinateur Win7 et l'ordinateur Ubuntu a une adresse IP statique.
La connexion est établie à partir d'un client TFTP distant sur mon ordinateur Win7.
$ netstat -apu
Active Internet connections (servers and established)
Proto Recv-Q Send-Q Local Address Foreign Address State PID/Program name
udp 0 0 *:tftp *:* 8166/xinetd
udp 0 0 test.paumaz.local:ntp *:* 1332/ntpd
udp 0 0 localhost:ntp *:* 1332/ntpd
udp 0 0 *:ntp *:* 1332/ntpd
udp6 0 0 fe80::250:56ff:febe:ntp [::]:* 1332/ntpd
udp6 0 0 localhost:ntp [::]:* 1332/ntpd
udp6 0 0 [::]:ntp [::]:* 1332/ntpd
$ netstat -l
Active Internet connections (only servers)
Proto Recv-Q Send-Q Local Address Foreign Address State
tcp 0 0 localhost:mysql *:* LISTEN
tcp 0 0 *:ssh *:* LISTEN
tcp6 0 0 [::]:http [::]:* LISTEN
tcp6 0 0 [::]:ssh [::]:* LISTEN
udp 0 0 *:tftp *:*
udp 0 0 test.paumz.local:ntp *:*
udp 0 0 localhost:ntp *:*
udp 0 0 *:ntp *:*
udp6 0 0 fe80::250:56ff:febe:ntp [::]:*
udp6 0 0 localhost:ntp [::]:*
udp6 0 0 [::]:ntp [::]:*
Active UNIX domain sockets (only servers)
Proto RefCnt Flags Type State I-Node Path
unix 2 [ ACC ] STREAM LISTENING 7010 @/com/ubuntu/upstart
unix 2 [ ACC ] STREAM LISTENING 7559 /var/run/dbus/system_bus_socket
unix 2 [ ACC ] SEQPACKET LISTENING 7370 /run/udev/control
unix 2 [ ACC ] STREAM LISTENING 9458 /var/run/mysqld/mysqld.sock
unix 2 [ ACC ] STREAM LISTENING 9209 /var/run/acpid.socket
Juste le même problème ici. Vieux Ubuntu 9.? qui est passé à 14.04 en cliquant sur "Oui". L'utilisateur est défini à partir de "avant" (tout par défaut).
Je l'ai trouvé pour fonctionner avec:
tftp AAA.DDD.DDD.RRR
get test
^D
cat test
Cela fonctionne, où AAA.DDD.DDD.RRR
est l'adresse IP réelle de ma propre machine.
(Je possède actuellement un réseau local statique hors connexion, donc, par exemple: tftp 192.168.1.1
est donné en tant que commande)
Remplacement de cette adresse numérique par le mot "localhost" ==> Timeout at "get"
(il semble que la connexion soit correcte, mais les fichiers ne peuvent pas être récupérés).
Installez les paquets suivants.
Sudo apt-get install xinetd tftpd tftp
Créer /etc/xinetd.d/tftp
Sudo nano /etc/xinetd.d/tftp
et mettre cette entrée
service tftp
{
protocol = udp
port = 69
socket_type = dgram
wait = yes
user = nobody
server = /usr/sbin/in.tftpd
server_args = /tftpboot
disable = no
}
Créez un dossier /tftpboot
qui devrait correspondre à ce que vous avez donné dans server_args
. surtout ce sera tftpboot
Sudo mkdir /tftpboot
Sudo chmod -R 777 /tftpboot
Sudo chown -R nobody /tftpboot
Redémarrez le service xinetd
.
Sudo /etc/init.d/xinetd restart
Vous devez autoriser udp port 69
dans le pare-feu.
Modifier 1
Comme je le dis, d'abord tftp localhost
, puis get ...
.
Donne en sortie cat /var/log/syslog | grep tftp