Sur un serveur Ubuntu, il existe plusieurs façons pour les utilisateurs de mettre en place un système de protocole de transfert de fichiers trivial (TFTP), permettant ainsi l’échange de fichiers dans les deux sens. Cependant, l’outil le plus accessible pour établir un serveur TFTP sur Ubuntu est sans doute le logiciel Tftpd. Pourquoi ? Parce qu’il est extrêmement simple à installer sur toutes les versions modernes d’Ubuntu. De plus, toutes les options de configuration sont très intuitives, même pour les novices sous Linux.
Ce guide vous accompagnera pas à pas dans la mise en place d’un serveur TFTP sur un serveur Ubuntu. Idéalement, le logiciel devrait être installé sur Ubuntu Server, mais il est tout à fait possible de le configurer pour qu’il fonctionne aussi parfaitement sur Ubuntu Desktop.
Note importante : ce tutoriel se concentre principalement sur Ubuntu Linux, car il s’agit du système d’exploitation serveur le plus utilisé. Il serait trop compliqué d’aborder plusieurs systèmes d’exploitation serveurs. Sachez cependant que TFTP fonctionne sur de nombreuses autres distributions Linux.
Installation du logiciel serveur TFTP et des paquets associés
La configuration d’un serveur TFTP sur Ubuntu débute par l’installation de tous les paquets nécessaires à son bon fonctionnement. Ces paquets peuvent être installés via le gestionnaire de paquets Apt, en ligne de commande.
Pour démarrer cette procédure sur votre serveur Ubuntu ou votre ordinateur de bureau, ouvrez une fenêtre de terminal en pressant Ctrl + Alt + T ou Ctrl + Maj + T. Ensuite, saisissez les commandes ci-dessous.
Remarque : vous utilisez Debian Linux ? Le processus de configuration de Tftpd est identique à celui d’Ubuntu Linux. Pour le faire fonctionner, suivez ce guide, mais remplacez toutes les occurrences d’Apt par Apt-get.
sudo apt install xinetd tftpd tftp
Si vous êtes sur Ubuntu Desktop, vous pouvez également utiliser le Centre Logiciel Ubuntu, rechercher chacun de ces paquets et les installer de cette manière, si vous préférez ne pas installer de programmes via Apt.
Configuration de TFTPD
Maintenant que les paquets TFTPD sont installés sur votre serveur (ou ordinateur de bureau) Ubuntu, l’étape suivante consiste à configurer le serveur pour qu’il fonctionne correctement. La première étape de cette configuration est la création d’un dossier dans le répertoire /etc/.
sudo mkdir -p /etc/xinetd.d/
Une fois ce dossier créé, créez un nouveau fichier texte à l’aide de la commande touch. Tous les paramètres de configuration du serveur seront placés dans ce fichier.
sudo touch /etc/xinetd.d/tftp
Vous ne pouvez pas utiliser sudo touch ? Essayez d’élever les privilèges du terminal à l’administrateur avec la commande sudo -s.
sudo -s touch /etc/xinetd.d/tftp
Maintenant que le fichier existe dans /etc/xinetd.d/, ouvrez-le avec l’éditeur de texte Nano.
sudo nano -w /etc/xinetd.d/tftp
Copiez le code ci-dessous et collez-le dans la fenêtre de l’éditeur de texte Nano.
service tftp
{
protocol = udp
port = 69
socket_type = dgram
wait = yes
user = nobody
server = /usr/sbin/in.tftpd
server_args = /tftpboot
disable = no
}
Enregistrez les modifications apportées au fichier tftp dans Nano en pressant la combinaison de touches Ctrl + O. Puis, appuyez sur Ctrl + X pour quitter.
Après avoir modifié le fichier de configuration TFTP, vous devez créer le dossier « tftpboot » à la racine (/) de votre serveur ou ordinateur de bureau Ubuntu.
Utilisez la commande mkdir pour créer ce répertoire.
sudo mkdir /tftpboot
Ensuite, mettez à jour les autorisations du dossier « tftpboot » en utilisant la commande chmod.
sudo chmod -R 777 /tftpboot
Une fois les autorisations du répertoire « tftpboot » mises à jour, il est temps de modifier les informations d’autorisation de l’utilisateur avec la commande chown.
Note importante : l’utilisation de « nobody » dans la commande chown ci-dessous n’est pas un hasard. Elle permettra l’accès à tous ceux qui tenteront de se connecter avec les mêmes autorisations TFTP, au lieu de les définir pour des utilisateurs individuels.
sudo chown -R nobody /tftpboot
Enfin, vous devez redémarrer le logiciel serveur TFTP pour prendre en compte les modifications. Sur Ubuntu 16.04 et versions plus récentes, cela se fait avec la commande systemctl.
sudo systemctl restart xinetd.service
Si la commande systemctl ci-dessus réussit, le serveur devrait être opérationnel. Passez à la section suivante pour savoir comment transférer des fichiers avec TFTP.
Transfert de fichiers via TFTP
Maintenant que le serveur TFTP est fonctionnel sur votre serveur Ubuntu, nous allons voir comment télécharger et téléverser des fichiers. Il est important de savoir comment utiliser TFTP sous Linux, car les clients FTP tels que FileZilla et autres ne le prennent généralement pas en charge.
Pour commencer, ouvrez un terminal sur l’ordinateur à partir duquel vous vous connecterez au serveur TFTP distant. Ensuite, installez le paquet « tftp », ce qui vous permettra d’envoyer des connexions, de télécharger des fichiers, etc.
Ubuntu
sudo apt install tftp
Debian
sudo apt-get install tftp
Arch Linux
sudo pacman -S atftp
Fedora
sudo dnf install tftp
OpenSUSE
sudo zypper install tftp
Une fois l’application installée sur votre système, trouvez l’adresse IP de votre serveur TFTP Ubuntu. Ensuite, connectez-vous au serveur, en suivant l’exemple ci-dessous.
Remarque : vous avez besoin d’aide pour trouver l’adresse IP de votre serveur TFTP ? Consultez cet article ici !
tftp ip.address.of.tftp.server
Téléverser
Pour envoyer un fichier à votre serveur TFTP, utilisez la commande put.
put nom-du-fichier
Télécharger
Pour télécharger un fichier depuis votre serveur TFTP, utilisez la commande get.
get nom-du-fichier