TFTP (pour Trivial File Transfert Protocol) est un protocole simplifié de transfert de fichiers. Il fonctionne en UDP sur le port 69, au contraire du FTP qui utilise lui TCP et le port 21. L’utilisation d’UDP, protocole « non fiable », implique que le client et le serveur doivent gérer eux-mêmes une éventuelle perte de paquets.
Les principales simplifications visibles du TFTP par rapport au FTP est qu’il ne gère pas le listage de fichiers, et ne dispose pas de mécanismes d’authentification, ni de chiffrement. Il faut connaître à l’avance le nom du fichier que l’on veut récupérer. De même, aucune notion de droits de lecture/écriture n’est disponible en standard.
On utilise le protocole TFTP notamment pour la mise à jour des firmwares sur les équipements réseau, la sauvegarde de la configuration de ces équipements réseau, mais aussi pour amorcer des stations de travail sans disque dur.
Ce tutoriel vaut pour les 2 premiers cas qui requiert un serveur TFTP basique. Si vous souhaitez amorcer un PC par le réseau, il vous faut préférer tftp-hpa.
Installation des paquets TFTP.
Passer en mode root à l’aide de la commande sudo et taper la ligne suivante dans une console
sudo apt-get install xinetd tftpd tftp
Une fois l’installation réalisée, nous allons configurer notre serveur TFTP. Pour cela créer le fichier /etc/xinetd.d/tftp puis l’éditer et saisir les commandes suivantes :
service tftp { protocol = udp port = 69 socket_type = dgram wait = yes user = nobody server = /usr/sbin/in.tftpd server_args = /tftpboot disable = no }
Pour information voici une petite description de XINETD
Lorsqu’une requête arrive, xinetd démarre le service correspondant. À cause de la façon dont il fonctionne, xinetd (comme inetd) est aussi appelé le super-serveur. Les services listés dans les fichiers de configuration de xinetd peuvent être séparés en 2 groupes. Les services du premier groupe sont dit multi-threaded et ils nécessitent que le processus père crée un nouveau processus pour chaque nouvelle demande de connexion.
Chaque processus gère alors une connexion. Pour de tels services, xinetd continue d’écouter pour prendre en charge de nouvelles demandes de connexions, et de lancer de nouveaux processus. D’un autre côté, le deuxième groupe est composé des services pour lesquels un seul démon prend en charge toute les nouvelles requêtes de connexion.
De tels services sont appelés single-threaded et xinetd ne prendra plus en charge les requêtes destinées à ce serveur tant que le serveur sera en service. Les services de cette catégorie sont habituellement de type datagramme.
Jusqu’à présent, la seule raison de l’existence d’un super-serveur était de préserver les ressources système en évitant de créer de nombreux processus dont la plupart ne seront actifs que très peu de temps. Tout en remplissant ces fonctions, xinetd tire parti de l’idée du super-serveur pour ajouter des fonctionnalités telle que le contrôle d’accès et le logging.
De plus, xinetd ne se restreint pas aux services listés dans le fichier /etc/services. Par conséquent, tous le monde peut utiliser xinetd pour démarrer des services personnalisés.
Créer le répertoire /tftpboot à la racine de votre système à l’aide des commandes suivantes :
sudo mkdir /tftpboot sudo chmod -R 777 /tftpboot sudo chown -R nobody /tftpboot
Pour prendre les informations en compte, relancer le service xinetd avec la commande suivante :
sudo /etc/init.d/xinetd reload
Démarrer ou re-démarrer xinetd avec les commandes suivantes :
sudo /etc/init.d/xinetd start sudo /etc/init.d/xinetd restart
Pour tester le bon fonctionnement du serveur, nous allons créer un fichier à la racine de notre PC (j’ai effectué un test depuis un PC Windows) puis le transférer sur le serveur tftp :
$ tftp -i 1.10.8.37 put c:\test.txt
Ensuite utiliser cette commande pour voir si le fichier s’est bien copié.
$ ls -l /tftpboot/
Résultat :
total 4 -rwxrwxrwx 1 sydtux sydtux 28 2007-02-04 23:14 test.txt
Voilà, le serveur tftp est fonctionnel pour recevoir et mettre à disposition des fichiers. Cette étape est primordiale pour la suite du tutoriel qui propsera une solution en PERL, pour sauvegarder la configuration de vos switchs Nortel.
That’s All.
Bonjour,
Sous Windows 7 et suivant le paquet TFTP n’est pas installé par défaut. Vous pouvez suivre ce tutoriel pour l’installer sur votre ordinateur : Installer TFTP sur votre PC Windows.
A bientôt.
Bonjour .Merciii bcp pour ce tuto. j’ai trouvé un prob pendant le test . j’ai recu ce message « ‘tftp’ n’est pas reconnu en tant que commande interne ou externe, un programme exécutable ou un fichier de commandes. » .
J’ai besoin de votre aide .Merci à vouuuuuus!!
Bonjour,
Y-a-t-il un firewall d’activer sur votre Linux qui empêcherait la connexion ?
Bonjour lorsque j’essaie d’effectuer le tftp, il me renvoie : « échec lors de la demande de connexion ». Cela pourrait être dû à quoi ? car mes 2 machines arrivent bien à se pinguer
Bonjour,
Merci beaucoup pour ces encouragements.
A bientôt sur Quick-Tutoriel.com
c’est bien c’est clair, c’est un travail qui fait gagner du temps!