Installer le serveur tftp sur CentOS 8 ou RedHat 8

Aujourd'hui, l'article sera petit. En général, à mon avis, tout est assez simple, mais depuis que CentOS8 a été récemment publié, il y a peu de guides à ce sujet, et spécifiquement sur tftp sous CentOS, j'ai vu beaucoup de conseils franchement nocifs sur Internet, donc j'essaierai de demander une tendance pour corriger la situation dès le moment où la nouvelle version sera publiée. Alors, passons à l'ensemble des trois équipes pathétiques dont nous avons besoin. Tout d'abord, installez tous les packages requis:

sudo dnf -y install xinetd tftp-server tftp vim 

Maintenant, nous allons créer (ou corriger) le fichier de configuration xinetd pour qu'il démarre le serveur tftp lors de l'accès au port correspondant, cela peut être fait via l'éditeur vi standard, via nano, qui est le plus familier à la plupart des gens, ou via vim, qui diffère du vi par défaut qui a une fonctionnalité plus large, y compris la coloration syntaxique. Je préfère le dernier paragraphe, donc cet éditeur était le dernier mot de la commande ci-dessus. Si quelqu'un est satisfait des éditeurs disponibles dans le système, vous ne pouvez pas installer vim (bien qu'en plus d'utiliser 60 Mo d'espace disque supplémentaire, il ne fera pas pire non plus).

 sudo vim /etc/xinetd.d/tftp 

Ici, vous devez entrer dans le mode d'insertion de texte (type: définir coller et entrer), puis modifier (insérer la touche du clavier), puis sélectionner le fichier de configuration ci-dessous, copier et coller dans la fenêtre du terminal.

Lorsque vous modifiez le texte de configuration , faites attention à l'argument server_args . À la fin de la ligne, le chemin d'accès au répertoire où seront situés les fichiers fournis par tftp est indiqué. Remplacez ce répertoire par celui qui doit être utilisé avec vous. Je veux également dire tout de suite qu'il sera nécessaire de configurer un serveur tftp dans SeLinux pour fonctionner avec ce répertoire, il n'y a pas de configuration «par défaut» pour un serveur tftp dans CentOS. Maintenant, je n'écrirai pas sur la configuration de SeLinux, car alors je vais en quelque sorte préparer un article séparé sur ce sujet.

 # default: off # description: The tftp server serves files using the trivial file transfer \ # protocol. The tftp protocol is often used to boot diskless \ # workstations, download configuration files to network-aware printers, \ # and to start the installation process for some operating systems. service tftp { socket_type = dgram protocol = udp wait = yes user = root server = /usr/sbin/in.tftpd server_args = -v -s /var/lib/tftpboot disable = no per_source = 11 cps = 100 2 flags = IPv4 } 

Ensuite, appuyez sur Echap, puis sur ": wq" et entrez.

Maintenant, allumez le serveur:

 sudo systemctl start xinetd sudo systemctl enable xinetd sudo firewall-cmd --permanent --zone=public --add-service=tftp && sudo firewall-cmd --reload 

Oui, vous n'avez pas besoin de bloquer tftpd au démarrage, bien que ce ne soit pas tout à fait évident.
Ensuite, vous devez vérifier que tout fonctionne. Nous créons un fichier et essayons de le télécharger (je l'ai fait pour le chemin de stockage de fichiers populaire, si vous en avez un autre, changez-le ici):

 echo passed > ~/test.txt sudo mv ~/test.txt /var/lib/tftpboot tftp 127.0.0.1 -c get test.txt cat test.txt 

Si le mot «passé» apparaît dans la console, le serveur est en cours d'exécution. Si en même temps, il ne sera pas accessible depuis le réseau local - traiter les zones dans firewalld, nous avons fait l'accès à la zone publique, tout le monde n'a pas besoin d'accéder à tftp depuis celle-ci.

PS S'il y a des questions dans les commentaires, je vais vous expliquer comment transférer les centos 8 de firewalld vers iptables, mais à mon humble avis, il n'y a pas de différence fondamentale entre eux.

Source: https://habr.com/ru/post/fr470303/


All Articles