Vous êtes sur la page 1sur 9

Serveur TFTP Linux : Tout ce qu’il faut

savoir

I- Introduction
Qu’est-ce que le TFTP ? Par définition, TFTP veut dire : Trivial File Transfer
Protocol, ce qui donne en français : Protocole simplifié de transfert de fichiers.
Pour faire simple, c’est un protocole de transfert simple.

Qu’entendons-nous par simple ? Tout d’abord, cela signifie que ce protocole


utilise l’UDP, par défaut sur le port 69. L’UDP est un mode de transmission
non connecté et « non fiable ». On dit que l’UDP est « non fiable »parce qu’il
ne s’occupe pas de savoir si le paquet à bel et bien été transmis, et donc, il
faut installer sur le serveur de quoi gérer les pertes éventuels des paquets.

Ensuite, on dit qu’il est simple, car contrairement au protocole FTP, le TFTP
ne possède pas de système de chiffrement, d’authentification, de droit
d’accès aux fichiers ou encore de listages de fichiers.

Le TFTP n’est pas très adapté pour des transferts sur internet, due à une forte
latence. On préférera donc le TFTP pour des transferts dans un réseau local,
et à destination de des équipements réseaux (routeurs, pare-feu, switch, ...).

II- Installation sous Linux Ubuntu Server

Cette installation porte sur le LINUX UBUNTU SERVER. Tout d’abord, il faut
télécharger les paquets suivant :

• tftpd : Serveur TFTP


• tftp : Client TFTP
• xinetd : Paramétrage services

On télécharge les paquets avec la commande suivante :


root@tftp-test :~# apt-get install tftp tftpd xinetd

Maintenant que les paquets sont téléchargés, il faut configurer le service.

Pour cela, il faut créer le fichier de configuration « tftp » dans le dossier


« /etc/xinted.d/ » avec les informations suivantes :

service tftp
{
1. protocol = udp
2. port = 69
3. socket_type = dgram
4. wait = yes
5. user = nobody
6. server = /usr/sbin/in.tftpd
7. server_args = /tftpboot
8. disable = no
}
Description du fichier de configuration :

- La ligne service indique pour quel service cette configuration devra


être appliquée. Ici, « tftp ».
- La première ligne indique quel type de protocole utilisé (TCP ou UDP).
- La deuxième ligne indique quel port utilisé.
- La cinquième ligne indique quel utilisateur est utilisé
automatiquement. L’utilisateur nobody correspond à « anonyme ».
Tout le monde peut y accéder.
- La sixième ligne l’emplacement du service.
- La septième ligne indique le dossier par défaut où seront placés les
fichiers transférés ou à télécharger sur le serveur.

Maintenant que le service est configuré, il faut créer le répertoire par défaut
indiqué à la ligne 7, avec les commandes suivantes :

root@tftp-test :~# mkdir /tftpboot # On créer le dossier

root@tftp-test :~# chmod -R 777 /tftpboot # on donne les droit d’accès,


écriture et lecture au possesseur, au groupe et au anonyme
root@tftp-test :~# chown -R nobody /tftpboot #On change le propriétaire
du fichier pour nobody

Il ne reste plus qu’à redémarrer le service pour que les modifications soient
prises en comptes. Cela s’effectue de la manière suivante :

root@tftp-test :~# /etc/init.d/xinetd restart

ATTENTION : IL FAUT IMPERATIVEMENT QUE LE FICHIER


QUE VOUS VOULEZ CHARGER SUR LE SERVEUR SOIT DEJA
CREER DANS LE DOSSIER « /tftpboot/ »

III- Utilisation sur Linux


Pour récupérer un fichier du serveur

Si le paquet tftp est installé, il suffit de faire ces quelques commandes :

$ tftp X.X.X.X # Ou X.X.X.X représente l’adresse IP du serveur

tftp> get fichier

# Ici sera placé différente informations suites au transfert, tel le poid


ou le succés de l’opération

tftp> quit

➢ TEST DE LA SOLUTION :
Serveur TFTP: Nom: tftp-test, ip: 192.168.0.15
Client TFTP: Nom tftpclient

1) Sur le serveur, on créer le fichier et lui donne les droits d’accès


2) Sur le client, on récupère le fichier et on le test

Le fichier à bien été récupéré et est bien lisible par le client.

Pour transférer un fichier sur le serveur

1) Tout d’abord, il faut créer le fichier dans le dossier, et lui attribuer les bons
droits :
root@tftp-test :~# touch /tftpboot/fichier # Création d’un fichier vide
root@tftp-test :~# chmod 777 /tftpboot/fichier # Modification des droits
d’accès, permission de lecture, écriture et exécution pour tous les
utilisateurs.

2) Ensuite, sur le client, il faut faire ces manips :

$ tftp X.X.X.X # Ou X.X.X.X représente l’adresse IP du serveur

tftp> put fichier

# Ici sera placé différente informations suites au transfert, tel le poid ou le


succès de l’opération

tftp> quit

Pour une liste complète des commandes, il suffit de taper

tftp ?
➢ TEST DE LA SOLUTION :
Serveur TFTP: Nom: tftp-test, ip: 192.168.0.15
Client TFTP: Nom tftpclient

1) Sur le serveur, on se place dans le dossier « /tftpboot/ », et on créer le


fichier « fichierTest.txt » vide. Ensuite, on modifie les droits d’accès.

2) Sur le client, on se place là où le fichier à transférer se trouve.

3) Toujours sur le client, on engage ensuite les commandes pour envoyer le


fichier « fichierTest.txt ».

4) On n’a plus qu’à tester le fichier récupérer.

On peut voir que le fichier à bien été mis sur le serveur.

III- Utilisation du TFTP sous Windows

Sous Windows, il faut télécharger le logiciel TFTPD32.exe. Cet utilitaire très


complet permet de :

- Créer un serveur TFTP


- Faire un client TFTP
- Créer un serveur DNS
- Créer un serveur DHCP

Puisque le serveur est déjà créer, nous pouvons ne prendre que la partie
cliente TFTP. Voici ce à quoi ressemble l’interface utilisateur :

Description :

- Dans la barre « Current Directory », cela indique l’emplacement par


défaut du programme.
- Dans la barre « Section interfaces », cela indique sur quel interface le
logiciel doit écouter les requêtes TFTP.
- Dans la partie « Host », il faut indiquer l’adresse IP du serveur.
- Dans la partie « Port », il faut indiquer le port sur lequel les requêtes
sont envoyées.
- Dans la partie « Local File », il faut indiquer l’emplacement et le nom
du fichier sur le client.
- Dans la partie « Remote File », il faut indiquer le nom du fichier sur le
serveur.
- La partie « Block Size » permet de segmenter le fichier.
- Le bouton « Get » permet d’envoyer le fichier sur le client.
- Le bouton « Put » permet d’envoyer le fichier sur le serveur.

Pour récupérer un fichier du serveur

Il faut configurer le logiciel comme suit :


On peut donc voir : L’IP du serveur, l’emplacement ou le fichier sera
sauvegarder, l’emplacement ou le fichier est sur le serveur, et une boite de
dialogue nous indiques que le transfert à bien été transférer. Nous pouvons
le voir en bas à gauche.

Pour une confirmation plus concrète, j’ai utilisé un sniffer pendant la


récupération d’un fichier pour voir ce qui se passe sur le réseau :

Nous pouvons voir que le protocole TFTP est utilisé par le client
(192.168.0.16) et le serveur (192.168.0.15).

Pour transférer un fichier sur le serveur

1) Il faut d’abord créer le fichier et modifier les droits d’accès sur le serveur.
2) Ensuite, avec le logiciel, on indique l’emplacement du fichier dans Local
File et le nom qu’il aura sur le serveur avec Remote File.

➢ TEST DE LA SOLUTION :
Serveur TFTP: Nom: tftp-test, ip: 192.168.0.15
Client TFTP: ip: 192.168.0.16

1) Sur le serveur, on se place dans le dossier « /tftpboot/ », et on créer le


fichier « fichierTest.txt » vide. Ensuite, on modifie les droits d’accès.

2) Sur le client, on règle le logiciel comme suit :

3) Sur le serveur, on test si le fichier à bien été réceptionné :


Le fichier à bel et bien été réceptionné.

REMARQUE : Il est possible, sous Windows, d'utiliser le


service TFTP en ligne de commande.

IV- Conclusion

Nous avons rempli les objectifs fixés et est mis en place une solution
multi plateforme pour l’utilisation du service TFTP. Le seul problème
est l’obligation de créer le fichier dans le dossier source du serveur.

Ce problème est un problème gênant, car il demande à avoir les droits


administrateurs sur le serveur, et n’est pas accessible aux utilisateurs
lambda.

Il est possible de contourner se problème en automatisant la création


par un script.

Mais de nos jours, le TFTP n’est utilisé que pour les petits fichiers ne
nécessitant que peu de protection, ou pour faire la sauvegarde des
configurations des équipements réseaux, qui ne possèdent qu'un client
TFTP, ceci étant due à sa simplicité.

Pour le transfert de fichiers plus sécurisé, nous pouvons alors utiliser,


par exemple, passer par du FTP ou du SFTP.

Vous aimerez peut-être aussi