Installation et configuration du serveur TFTP sur CentOS 7

FTP (Trivial File Transfer Protocol) est une version allégée du FTP (File Transfer Protocol). TFTP n’a pas beaucoup de fonctionnalités avancées telles que la sécurité intégrée. TFTP fonctionne également sur le port UDP 69 au lieu de n’importe quel port TCP. Mais, c’est toujours utile au moment d’écrire

ces lignes. Les routeurs et commutateurs CISCO utilisent le serveur TFTP pour sauvegarder et restaurer les fichiers de configuration et les images IOS. Les protocoles de démarrage réseau tels que PXE, BOOTP, etc. utilisent TFTP. Il y a beaucoup plus d’utilisations de TFTP.

 

Dans cet article, je vais vous montrer comment installer et configurer le serveur TFTP sur CentOS 7. Alors, commençons.

Installation et configuration du serveur TFTP :

Tout d’abord, mettez à jour le cache du référentiel de packages YUM avec la commande suivante :

sudo yum makecache

Maintenant, installez les packages serveur et client TFTP avec la commande suivante:

sudo yum install tftp tftp-serveur
 
NOTE: Le package client TFTP tftp est installé pour tester le serveur TFTP après la configuration.

Maintenant, appuyez sur y, puis sur <Entrée> pour continuer.

Les packages client et serveur TFTP doivent être installés.

TFTP utilise systemd par défaut. Mais ce n’est pas une bonne idée de modifier les fichiers de service systemd par défaut. Donc, je vais copier les fichiers de service systemd du serveur tftp dans le répertoire / etc / systemd / system juste pour être en sécurité.

Pour copier le fichier tftp.service par défaut dans le répertoire /etc/systemd/system, exécutez la commande suivante :

sudo cp -v /usr/lib/systemd/system/tftp.service     /etc/systemd/system/tftp-server.service

Le nouveau fichier de service tftp s’appelle tftp-server.service que nous pouvons modifier autant que nous le voulons.

Copiez également le fichier tftp.socket dans le répertoire /etc/systemd/system avec la commande suivante :

sudo cp -v /usr/lib/systemd/system/tftp.socket      /etc/systemd/system/tftp-server.socket

Le nouveau fichier socket est tftp-server.socket sur lequel nous pouvons travailler.

Maintenant, ouvrez le fichier tftp-server.service pour le modifier avec la commande suivante:

Copiez également le fichier tftp.socket dans le répertoire /etc/systemd/system avec la commande suivante :

sudo cp -v /usr/lib/systemd/system/tftp.socket     /etc/systemd/system/tftp-server.socket

Le nouveau fichier socket est tftp-server.socket sur lequel nous pouvons travailler.

Maintenant, ouvrez le fichier tftp-server.service pour le modifier avec la commande suivante:

J’ai remplacé tftp.socket par tftp-server.socket. J’ai également modifié la commande (ExecStart) qui démarre le démon TFTP. L’option -c TFTP vous permettra de télécharger des fichiers sur le serveur, l’option –p résoudra de nombreux problèmes d’autorisation et l’option -s définit /var/lib/tftpboot comme répertoire auquel vous pouvez accéder via TFTP.

Ajoutez également WantedBy=multi-user.target dans la section [Installer] comme indiqué dans la capture d’écran ci-dessous.

Il s’agit du fichier tftp-server.socket final. Maintenant, enregistrez le fichier.

Maintenant, ouvrez le fichier tftp-server.socket pour l’éditer avec la commande suivante:

sudo vi /etc/systemd/system/tftp-server.socket

Maintenant, ajoutez BindIPv6Only = both ligne dans la section [Socket] comme indiqué dans la capture d’écran ci-dessous et enregistrez le fichier.

Pour activer le téléchargement anonyme sur le serveur TFTP, vous devez effectuer une configuration SELinux.

Pour la configuration SELinux, installez le package policycoreutils-python avec la commande suivante :

sudo yum install policycoreutils-python

Maintenant, appuyez sur y, puis sur <Entrée> pour continuer.

Le paquet PolicyCoreUtils-Python doit être installé.

Maintenant, activez l’écriture anonyme SELinux TFTP avec la commande suivant

sudo setsebool -P tftp_anon_write 1

Le répertoire TFTP est /var/lib/tftpboot. Il doit disposer d’autorisations de lecture, d’écriture et d’exécutable pour le propriétaire du répertoire, le groupe et d’autres personnes pour que le téléchargement et le téléchargement TFTP fonctionnent. Sinon, vous obtiendrez une erreur d’autorisation.

Vous pouvez affecter les autorisations de répertoire requises au répertoire /var/lib/tftpboot à l’aide de la commande suivante :

sudo chmod 777 /var/lib/tftpboot

Maintenant, essayez de démarrer le service tftp-server avec la commande suivante:

sudo systemctl démarrer le serveur tftp

Maintenant, vérifiez si le service tftp-server est en cours d’exécution avec la commande suivante:

sudo systemctl status tftp-server

Comme vous pouvez le voir, le service est actif ou en cours d’exécution. Donc, TFTP doit être configuré correctement.

Maintenant que le service TFTP est en cours d’exécution, nous devons tester le serveur TFTP pour voir s’il fonctionne ou non.

Tout d’abord, exécutez la commande suivante pour trouver l’adresse IP de votre serveur TFTP.

IP A

Comme vous pouvez le voir, l’adresse IP est 192.168.11.134. Ce sera différent pour vous. Alors, assurez-vous de le remplacer par le vôtre à partir de maintenant.

Maintenant, connectez-vous au serveur TFTP avec la commande suivante:

tftp 192.168.1.134

Vous devez être connecté.

Maintenant, activez le mode détaillé comme suit:

tftp> verbeux

Maintenant, essayez de télécharger un fichier (disons bonjour.txt) sur le serveur TFTP comme suit:

tftp> mets bonjour.txt

Comme vous pouvez le voir, le fichier est téléchargé avec succès sur le serveur TFTP.

Maintenant, quittez l’invite de commande TFTP.

tftp> quitter

Maintenant que tout fonctionne correctement, ajoutez le service tftp-server au démarrage du système avec la commande suivante :

sudo systemctl activer le serveur tftp

Maintenant, configurez le programme de pare-feu firewalld pour autoriser les requêtes TFTP au serveur avec la commande suivante:

sudo firewall-cmd —zone=public —add-service=tftp –-permanent

Maintenant, rechargez firewalld pour que les modifications prennent effet avec la commande suivante :

 $ sudo firewall-cmd –-reload

 

Le serveur TFTP doit être configuré.

Problèmes connus :

Lorsque vous essayez de télécharger des fichiers sur le serveur TFTP à partir de votre ordinateur, vous pouvez voir l’erreur de délai d’expiration du transfert comme indiqué dans la capture d’écran ci-dessous. Il s’agit d’un problème connu sur les systèmes CentOS et RHEL. TFTP utilise le port UDP pour communiquer et, pour une raison quelconque, le pare-feu client le bloque. C’est la raison de cette erreur.

Pour résoudre le problème, désactivez le pare-feu sur le client et essayez de télécharger le fichier à nouveau. Cela devrait fonctionner comme vous pouvez le voir dans la capture d’écran ci-dessous.

Donc, c’est ainsi que vous installez et configurez le serveur TFTP sur CentOS 7. Merci d’avoir lu cet article.