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 Matériel(s) un PC Windows 10 Logiciel(s) solution de virtualisation VirtualBox une machine virtuelle OpenSUSE 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 : 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 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 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 : par YaST pour la configuration globale par l’intermédiaire d’un fichier de configuration pour la configuration “avancée” 💻 Travail n° 2 Configuration du serveur avec YaST Lancer YaST et configurer le serveur TFTP comme illustré ci-dessous 💻 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 : soit depuis le “panneau de configuration” comme illustré ci-dessous : soit depuis une console Powershell exécutée en tant qu’administrateur : PS > Enable-WindowsOptionalFeature -online -FeatureName "TFTP" 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 (Panneau de configuration Système et sécurité Pare-feu Windows Defender Autoriser une application via le Pare-Feu Windows) 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> Exemple C:\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 . 🞄 🞄 🞄 Installation/Configuration de GLPI Service FTP