Serveur TFTP : service TFTPD
>>> Debian 8 et TFTPD
Description :

Cette article explique comment installer un serveur TFTP sur votre serveur Debian 8. Nous utiliserons dans cet article le paquet TFTPD.

>>> Debian 8 et TFTPD

Sommaire :

I) Explications
II) Installation
III) Configuration
IV) Tests du serveur TFTP


I) Explications

TFTP (pour Trivial File Transfer Protocol ou protocole simplifié de transfert de fichiers) est un protocole simplifié de transfert de fichiers.
Il fonctionne en UDP sur le port 69, au contraire du FTP qui utilise lui TCP. 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. En termes de rapidité, l’absence de fenêtrage nuit à l’efficacité du protocole sur les liens à forte latence. On réserve généralement l’usage du TFTP à un réseau local.
Les principales simplifications visibles du TFTP par rapport au FTP sont 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. À cause de ces fonctionnalités absentes, FTP lui est généralement préféré.
TFTP reste très utilisé pour la mise à jour des logiciels embarqués sur les équipements réseaux (routeurs, pare-feu, etc.) ou pour démarrer un PC à partir d’une carte réseau.
La dernière version de ce protocole est la version 2, définie dans RFC 1350. Elle est la plus utilisée.

II) Installation

Il existe plusieurs paquets réalisant la fonction de serveur TFTP :

  • tftpd
  • tftpd-hpa
  • atftpd

Nous utiliserons le paquet "tftpd" dans cet article.

Attention : Avec le paquet TFTPD, le client ne peut pas créer de nouveau fichier sur le serveur. Pour copier un fichier de configuration d’un switch par exemple, il faut que le fichier existe sur le serveur avant.

 Tapez les commandes suivantes pour installer le paquet :

aptitude install tftpd

III) Configuration

La configuration du service se fait via le fichier "/etc/inetd.conf".

 Editez le fichier :

vim /etc/inetd.conf

Vous obtenez ceci :

# /etc/inetd.conf:  see inetd(8) for further informations.
#
# Internet superserver configuration database
#
#
# Lines starting with "#:LABEL:" or "#<off>#" should not
# be changed unless you know what you are doing!
#
# If you want to disable an entry so it isn't touched during
# package updates just comment it out with a single '#' character.
#
# Packages should modify this file by using update-inetd(8)
#
# <service_name> <sock_type> <proto> <flags> <user> <server_path> <args>
#
#:INTERNAL: Internal services
#discard                stream  tcp     nowait  root    internal
#discard                dgram   udp     wait    root    internal
#daytime                stream  tcp     nowait  root    internal
#time           stream  tcp     nowait  root    internal

#:STANDARD: These are standard services.

#:BSD: Shell, login, exec and talk are BSD protocols.

#:MAIL: Mail, news and uucp services.

#:INFO: Info services

#:BOOT: TFTP service is provided primarily for booting.  Most sites
#       run this only on machines acting as "boot servers."
tftp            dgram   udp     wait    nobody  /usr/sbin/tcpd  /usr/sbin/in.tftpd /srv/tftp

#:RPC: RPC based services

#:HAM-RADIO: amateur-radio services

#:OTHER: Other services

Je souhaite modifier le répertoire cible du serveur TFTP, je veux que le répertoire soit "/var/sauvegardes".

tftp            dgram   udp     wait    nobody  /usr/sbin/tcpd  /usr/sbin/in.tftpd /var/sauvegardes

 Créez maintenant le nouveau répertoire :

mkdir /var/sauvegardes

 On définit les droits d’écritures :

chown nobody:nogroup /var/sauvegardes
chmode 775 /var/sauvegardes

 Pour terminer on redémarre le service :

service inetd restart

IV) Tests du serveur TFTP

Pour pouvoir envoyer un fichier sur le serveur, il faut que le fichier existe déjà.
 Créez un fichier vide "switch1-confg".

touch /var/sauvegardes/switch1-confg
chmod 666 /var/sauvegardes/switch1-confg

 Puis sur le switch tapez la commande "copy running-config tftp" pour copier la config sur le serveur TFTP.

Switch1#copy running-config tftp
Address or name of remote host []? 172.16.1.30
Destination filename [switch1-confg]?
!!
7235 bytes copied in 0.880 secs (8222 bytes/sec)

Votre fichier est copié.