Cette page est considérée comme vétuste et ne contient plus d'informations utiles.
Apportez votre aide…

Ceci est une ancienne révision du document !



Serveur TFTP : TFTPd

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 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éseaux, 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.

Installez les paquets xinetd tftpd tftp . apt://xinetd,tftpd,tftp

Depuis Ubuntu 10.04 installer seulement tftpd tftp . apt://tftpd apt://tftp car openbsd-inetd est déjà installé. Et créer le repertoire /srv/tftp comme indiqué ci dessous, c'est le répertoire par défaut pour la conf par défaut ( dans le fichier /etc/inetd.conf ). Attention pour que le super-server xinetd fonctionne il faut au préalable désinstaller le paquet openbsd-inetd.

apt-get purge openbsd-inetd

enfin testez votre service

netstat -laputen | grep 69

Créer le fichier /etc/xinetd.d/tftp puis l'éditer et saisir :

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

Créer le répertoire /tftpboot :

sudo mkdir /tftpboot
sudo chmod -R 777 /tftpboot
sudo chown -R nobody /tftpboot

Re-charger les fichiers de configuration de xinetd :

sudo /etc/init.d/xinetd reload

Démarrer ou re-démarrer xinetd :

sudo /etc/init.d/xinetd start

ou

sudo /etc/init.d/xinetd restart

Pour tester le bon fonctionnement du serveur, nous allons créer un fichier dans notre home (emetteur - client) et dans /tftpboot (serveur) (avec l'attribut 777) puis le transférer sur le serveur tftp :

Sur le serveur (car il faut que le fichier existe) :

$ touch /tftpboot/essai.txt
$ sudo chmod 777 /tftpboot/essai.txt
$ touch /home/MON-REPERTOIRE-UTILISATEUR/essai.txt
$ tftp 192.168.1.1
tftp> put essai.txt
Sent 722 bytes in 0.0 seconds
tftp> quit

Pour avoir l'aide mémoire sur les commandes de tftp taper :

$ tftp
tftp> ?

Ce qui est écrit ci-dessous n'est pas vérifié dans tous les cas !!!

Ne pas oublier de créer le fichier que l'on désire envoyer sur le serveur dans le dossier /tftpboot pour l'écraser par la suite, sans cette manipulation vous aurez une erreur du type:

Error code 2: Access violation

Voilà, le serveur tftp est fonctionnel pour recevoir et mettre à disposition des fichiers.


Contributeurs : sidney_v,tiwiv, 007m

  • tftpd.1401138916.txt.gz
  • Dernière modification: Le 26/05/2014, 23:15
  • par 86.199.195.17