web-dev-qa-db-fra.com

Comment installer et configurer un serveur TFTP sur 14.04

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
3
Paumaz

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).

1
Göran

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

enter image description here

Comme je le dis, d'abord tftp localhost, puis get ....

Donne en sortie cat /var/log/syslog | grep tftp

9
2707974