ckaserer.tftp
Un rôle Ansible pour installer un serveur TFTP (Trivial File Transfer Protocol) sur RHEL/CentOS 7. Plus précisément, les responsabilités de ce rôle sont de :
- installer les paquets nécessaires
- gérer la configuration
- gérer les paramètres SELinux
Pour plus de documentation pertinente sur TFTP, voir :
Exigences
aucune.
Variables du rôle
Les variables suivantes peuvent être définies par l'administrateur :
Variable | Par défaut | Commentaires (type) |
---|---|---|
tftp_anon_write |
false | Booléen qui spécifie si SELinux permet de modifier des fichiers. |
tftp_config |
/usr/lib/systemd/system/tftp.service | Chemin vers le fichier d'unité systemd pour tftp |
tftp_group |
root | Groupe du tftp_root_directory |
tftp_home_dir |
false | Booléen qui spécifie si SELinux |
tftp_mode |
0755 | Permissions du tftp_root_directory |
tftp_root_directory |
/var/lib/tftpboot | Chemin vers le répertoire racine desservi par tftp. |
tftp_server_args |
--secure | Arguments de ligne de commande à passer à l'exécutable du serveur |
tftp_server_foreman_support |
false | Activer le support de Foreman en créant un tftpd.map approprié |
tftp_setype |
tftpdir_rw_t | Contexte SELinux pour le répertoire racine tftp |
tftp_user |
root | Propriétaire du tftp_root_directory |
Dépendances
Pas de dépendances.
Exemple de Playbook
Voir le playbook de test
Tests
Des tests pour ce rôle sont fournis sous la forme d'un environnement Vagrant qui est conservé dans une branche séparée, tests. J'utilise git-worktree(1) pour inclure le code de test dans le répertoire de travail. Instructions pour exécuter les tests :
- Récupérer la branche des tests :
git fetch origin tests
- Créer un Git worktree pour le code de test :
git worktree add tests tests
(remarque : cela nécessite au moins Git v2.5.0). Cela créera un répertoiretests/
. cd tests/
vagrant up
créera alors une VM et appliquera le second des deux playbooks de test disponibles énumérés ci-dessous.
Les playbooks de test :
test-minimal.yml
applique le rôle à une VM, avec les paramètres par défaut (aucune variable de rôle n'est définie).test.yml
applique le rôle à une VM, en modifiant certaines valeurs par défaut. Le playbook place également un fichier nommé README dans le répertoire racine TFTP. Après avoir appliqué ce playbook, vous devriez pouvoir récupérer ce fichier depuis votre système hôte (en supposant que le clienttftp
est installé) :$ tftp 127.0.0.1 6969 -c get README
Le port TFTP (69) sur la VM est redirigé via l'interface NAT vers le port 6969 sur votre système hôte, d'où le 127.0.0.1 et le numéro de port dans la ligne de commande.
Contribution
Les problèmes, demandes de fonctionnalités, idées sont appréciés et peuvent être publiés dans la section Issues. Les demandes de tirage sont également très bienvenues. De préférence, créez une branche thématique et lors de la soumission, combinez vos commits en un (avec un message descriptif).
Licence
BSD
Informations sur l'auteur
Bert Van Vreckem (bert.vanvreckem@gmail.com)
Contributions de :
- @ckaserer
- @kostyrevaa : Support Foreman (v1.2.0)
- @pugnacity
Installs and configures a TFTP (Trivial File Transfer Protocol) server on RHEL/CentOS 7 and Ubuntu
ansible-galaxy install ckaserer.tftp