Service TFTP

Mise en situation

On veut pouvoir sauvegarder les configurations des routeurs sur le serveur Linux.

Cette sauvegarde peut être effectuée via le client TFTP présent de base sur chacun des routeurs.

Le protocole TFTP est un protocole de transfert de fichier plutôt simple. Son manque de fiabilité (utilisation d'UDP plutôt que TCP), de sécurité (pas de chiffrement) et ses performances médiocres le réservent à une utilisation dans les réseaux locaux uniquement.

Il est malgré tout souvent utilisé dans les infrastructures réseau composées d’équipements Cisco pour la sauvegarde ou la restitution de leur configuration sur ou à partir d’un ordinateur.

Comme ce protocole se base sur un environnement client - serveur, il faut bien sûr installer un serveur TFTP sur l’ordinateur qui stockera les configurations des routeurs (→ la machine virtuelle OpenSUSE 15.2 dans notre cas).

C’est ce que vous allez faire dans la suite de cette activité.

Ressources

Matériel(s)
  • un PC Windows 10

Logiciel(s)
  • solution de virtualisation VMWare v15

  • une machine virtuelle OpenSUSE 15.2 en mode “server”

Documentation(s)
  • pages de manuel Linux

Installation du serveur TFTP

L’installation du serveur se résume à l’installation de 2 paquets logiciels :

  1. tftp → serveur TFTP

  2. yast2-tftp-server → interface d’administration du serveur TFTP depuis YaST

🖮 Travail n° 1 Installation des paquets

  1. Installer les paquets pré-cités (→ tftp & yast2-tftp-server) depuis l’interface de configuration YaST exécutée simplement en saisissant la commande yast dans le terminal et après s’être assuré que le PC hôte a accès à internet (PC relié au réseau du lycée, interface réseau de la VM OpenSUSE 15.2 configurée en DHCP…​).

    Rappels
    • On navigue à travers les différentes rubriques de YaST grâce à la touche TAB.

    • Le déplacement sur les options d’une même rubrique se fait avec les touches et

    • L’activation d’une option se fait avec la barre d’espace

    • On peut accéder directement à une rubrique en enfonçant la touche Alt puis en tapant la lettre qui est représentée en jaune dans l’intitulée de la rubrique

    • Si les cadres n’apparaissent pas correctement dans PuTTY, s’assurer dans sa configuration que le jeu de caractères utilisé est ISO-8859-1 : 1998 (Latin-1, West Europe) (Rubrique “Window  Translation” de PuTTY)

Pour tester si les paquets liés au serveur TFTP sont bien installés, on peut exécuter la commande suivante :

localhost:~ # rpm -qa | grep tftp
yast2-tftp-server-4.2.0-lp152.1.2.noarch (1)
tftp-5.2-lp152.6.3.x86_64 (1)
localhost:~ #
1 les 2 paquets sont bien présents sur la machine s’ils apparaissent sur le terminal suite à l’exécution de la commande.

Configuration du serveur

La configuration du serveur FTP s’effectue en 2 temps :

  1. par YaST pour la configuration globale

  2. par l’intermédiaire d’un fichier de configuration pour la configuration “avancée”

🖮 Travail n° 2 Configuration du serveur avec YaST

  1. Lancer YaST et configurer le serveur TFTP comme illustré ci-dessous

    tftp yast config

🖮 Travail n° 3 Configuration “fine” du serveur

Par défaut, on ne peut téléverser un fichier sur un serveur TFTP que si ce fichier existe déjà dessus (⇒ mise à jour du fichier).

Pour permettre de téléverser des nouveaux fichiers, l’option “-c” doit être fournie au serveur lors de son lancement.

  1. Ouvrir le fichier /etc/sysconfig/tftp avec un éditeur de texte exécuté en tant qu’administrateur.

  2. Modifier la ligne TFTP_OPTIONS pour spécifier l’option qui permet la création de fichier sur le serveur :

    TFTP_OPTIONS="-c"
  3. Enregistrer le fichier

  4. Redémarrer le serveur pour prendre en compte les modifications apportées à la configuration

    # systemctl stop tftpd.service
    # systemctl restart tftp.socket

    Depuis OpenSUSE Leap 15.0, le service TFTP n’utilise plus le “super-serveur” xinetd.

    L’activation/démarrage du service utilise systemd et les fichiers d’unité impliqués sont :

    • /usr/lib/systemd/system/tftpd.socket

    • /usr/lib/systemd/system/tftpd.service

    Pour activer le serveur TFTP au prochain démarrage, le démarrer ou l’arrêter, on utilisera respectivement les commandes :

    1. systemctl enable tftpd.socket

    2. systemctl start tftdp.socket

    3. systemctl stop tftpd.socket

Test du serveur

Le test du serveur TFTP consiste simplement à vérifier qu’il est possible de lui transférer un fichier quelconque depuis un client TFTP.

🖮 Travail n° 4 Test du serveur depuis Windows

  1. Installer le client TFTP en ligne de commande de Windows 10 depuis le “panneau de configuration” comme illustré ci-dessous :

    Cliquer sur l’image pour l’afficher en taille normale puis appuyer sur la touche F5 pour rejouer l’animation à partir du début.

    tftp w10 install
  2. Ajouter une règle au pare-feu de Windows 10 pour autoriser le trafic réseau lié à l’application “tftp.exe” située dans le répertoire C:\Windows\System32

    tftp firewall
  3. Procéder au transfert d’un fichier sur le serveur TFTP en exécutant la commande suivante depuis le terminal Windows 10

    tftp <adresse-ip-serveur> PUT <chemin-du-fichier-a-transferer>
    Exemple
    C:\Users\claud\Documents>tftp 192.168.5.126 PUT file.txt
    Transfert réussi : 6 octets en 1 seconde(s), 6 octets/s
  4. Vérifier sur le serveur que le fichier transféré est désormais présent dans le répertoire /srv/tftpboot/

    localhost:~ # ls /srv/tftpboot
    file.txt

.

🞄  🞄  🞄