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 dans notre cas).
C’est ce que vous allez faire dans la suite de cette activité.
Ressources
-
un PC Windows 10
-
solution de virtualisation VirtualBox
-
une machine virtuelle OpenSUSE en mode “server”
-
pages de manuel Linux
Installation du serveur TFTP
L’installation du serveur se résume à l’installation de 2 paquets logiciels :
-
tftp
→ serveur TFTP -
yast2-tftp-server
→ interface d’administration du serveur TFTP depuis YaST
💻 Travail n° 1 Installation des paquets
-
Installer les paquets pré-cités (→
tftp
&yast2-tftp-server
) depuis l’interface de configuration YaST exécutée simplement en saisissant la commandeyast
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 configurée en DHCP…).
Pour tester si les paquets liés au serveur TFTP sont bien installés, on peut exécuter la commande suivante :
|
Configuration du serveur
La configuration du serveur FTP s’effectue en 2 temps :
-
par YaST pour la configuration globale
-
par l’intermédiaire d’un fichier de configuration pour la configuration “avancée”
💻 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.
-
Ouvrir le fichier
/etc/sysconfig/tftp
avec un éditeur de texte exécuté en tant qu’administrateur. -
Modifier la ligne
TFTP_OPTIONS
pour spécifier l’option qui permet la création de fichier sur le serveur :TFTP_OPTIONS="-c"
-
Enregistrer le fichier
-
Redémarrer le serveur pour prendre en compte les modifications apportées à la configuration
# systemctl stop tftpd.service # systemctl restart tftp.socket
Depuis la version Leap 15.0 d'OpenSUSE, le service TFTP n’utilise plus le “super-serveur”
xinetd
.L’activation/démarrage du service utilise à présent
systemd
. Les fichiers d’unité de systemd associé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 :
-
systemctl enable tftpd.socket
-
systemctl start tftdp.socket
-
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
-
Installer le client TFTP en ligne de commande de Windows 10 :
-
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
:-
soit via l’interface graphique (
) -
soit via une console Powershell lancée en tant qu’administrateur :
PS > New-NetFirewallRule -Program "C:\Windows\System32\tftp.exe" -Action Allow -Profile Domain, Private -DisplayName "Client TFTP Windows" -Description "Autorise l'application TFTP en entrée" -Direction Inbound Name : {02a33b43-9de1-408d-833a-17256db7cb90} DisplayName : Client TFTP Windows Description : Autorise l'application TFTP en entrée DisplayGroup : Group : Enabled : True Profile : Domain, Private Platform : {} Direction : Inbound Action : Allow EdgeTraversalPolicy : Block LooseSourceMapping : False LocalOnlyMapping : False Owner : PrimaryStatus : OK Status : La règle a été analysée à partir de la banque. (65536) EnforcementStatus : NotApplicable PolicyStoreSource : PersistentStore PolicyStoreSourceType : Local RemoteDynamicKeywordAddresses : PolicyAppId :
-
-
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>
ExempleC:\Users\ragnar\Documents>tftp 192.168.5.126 PUT file.txt Transfert réussi : 6 octets en 1 seconde(s), 6 octets/s
-
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
.
🞄 🞄 🞄