Comment installer et exécuter un serveur TFTP?


60

J'ai une cible VxWorks intégrée qui doit démarrer son noyau à partir de mon ordinateur Ubuntu. Comment installer et exécuter un serveur TFTP?

Réponses:


103

Installation et configuration du serveur TFTP

  1. Installez les paquets suivants.

    sudo apt-get install xinetd tftpd tftp
    
  2. Créez /etc/xinetd.d/tftp et mettez 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
    }
    
  3. Créez un dossier / tftpboot qui devrait correspondre à tout 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
    
  4. Redémarrez le service xinetd.

    systèmes plus récents:

    sudo service xinetd restart
    

    systèmes plus anciens:

    sudo /etc/init.d/xinetd restart
    

Notre serveur TFTP est maintenant opérationnel.

Test de notre serveur TFTP

  1. Créez un fichier nommé test avec du contenu dans / tftpboot chemin du serveur tftp

    Obtenir l'adresse IP du serveur TFTP à l'aide de la commande ifconfig

  2. Maintenant, dans un autre système, suivez les étapes suivantes.

    tftp 192.168.1.2
    tftp> get test
    Sent 159 bytes in 0.0 seconds
    
    tftp> quit
    
    cat test
    

Source: http://mohammadthalif.wordpress.com/2010/03/05/installing-and-testing-tftpd-in-ubuntudebian/


1
seule l'étape 4 doit être changée, car xinetd est créé par upstart. vous devez le redémarrer avec 'service xinetd restart'
mardi

3
J'ai suivi cette instruction et j'ai vu la permission refusée! Nom du fichier de destination [c2950-i6q4l2-mz.121-22.EA1b.bin]? TFTP: code d'erreur 2 reçu - Violation d'accès% Erreur d'ouverture tftp: //10.1.11.14/c2950-i6q4l2-mz.121-22.EA1b.bin (autorisation refusée) #copy flash: c2950-i6q4l2-mz.121-22 .EA1b.bin tftp: Adresse ou nom de l'hôte distant []? 10.1.11.14 Nom du fichier de destination [c2950-i6q4l2-mz.121-22.EA1b.bin]? TFTP: code d'erreur 2 reçu - Violation d'accès
Mohammad Rafiee Le

1
@Mohammad Rafiee: le billet de blog lié à ici ajouté quelques informations: exécuté sudo chmod -R 777 /tftpbootentre les étapes 1 et 2 de "Test de notre serveur TFTP". Non pas que cela m'a aidé, mais il semble que cela a aidé les autres.
Gauthier

2
Le 14 avril, cela n’a pas fonctionné pour moi. Les informations sur /tftpbootdans /etc/xinetd.d/tftpne semblaient pas avoir d'importance. Au lieu de cela, le client cherche dans le répertoire /srv/tftpcomme spécifié dans /etc/inetd.conf. Je ne le fais pas si la manière dont les choses sont configurées a changé depuis l'article ou si j'ai tout gâché. Si la réponse ci-dessus ne vous convient pas, essayez /srv/tftpplutôt de placer votre fichier de test .
Gauthier

2
Veuillez noter qu'avec Ubuntu 16.04, vous ferez l'expérience error code 2 (access violation). Pour résoudre ce problème mis tftpboot -sen server_args(pas slash, -sà la fin Source:. Icesquare.com/wordpress/...
CharlesB

7

Vous pouvez installer atftpdet il va créer un répertoire appelé /tftpbootdans lequel vous pouvez placer vos fichiers. Mettez surtout le pxelinux.0fichier là-bas. Toute configuration future sera traitée si nécessaire.

Lorsque vous installez le package avec

sudo apt-get install atftpd

il utilisera Debconf pour vous demander quelques choix. Vous pouvez définir plusieurs choix (le délai d'attente du serveur peut être utile), notamment le chemin de base . Vous pouvez également régler la plage de multidiffusion.


À quoi sert pxelinux.0? Je démarre une cible VxWorks, alors j'ai pensé que je n'avais besoin que du fichier vxworks dans / tftpboot.
user1689961

Désolé, cela n'a pas fonctionné pour moi.
user1689961

Essayez de renommer vxworksen pxelinux.0, juste pour voir si ma réponse fonctionnera pour les futurs utilisateurs.
ζ--

cela ne fonctionne pas pour 13.04. Je viens d'essayer
Bовић

@ BЈовић C'est une réponse un peu ancienne et honnêtement, je ne connais pas la procédure à suivre pour le 13.04.
ζ--

6

Vous pouvez installer tftpd-hpaet modifier les configurations. Les étapes pour installer tftpd-hpa sont expliquées dans cet article de blog .


2
Bien que cela puisse théoriquement répondre à la question, il serait préférable d’inclure ici les parties essentielles de la réponse et de fournir le lien à titre de référence.
Guntbert

1
upvoted vous uniquement parce que tftpd-hpa est un serveur stupide simple à utiliser et qu’il n’exige en fait aucune de la configuration requise dans ce message, il suffit de déposer vos fichiers dans / var / lib / tftpboot et vous êtes prêt (sous Ubuntu 16.04 pas sûr sur les autres OS).
mschuett
En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.