ckaserer.tftp
Eine Ansible-Rolle zur Installation eines TFTP (Trivial File Transfer Protocol) Servers auf RHEL/CentOS 7. Die Aufgaben dieser Rolle sind:
- Installation der notwendigen Pakete
- Verwaltung der Konfiguration
- Verwaltung der SELinux-Einstellungen
Für weiterführende Dokumentation zu TFTP siehe:
Anforderungen
Keine.
Rollenvariablen
Die folgenden Variablen können vom Administrator festgelegt werden:
Variable | Standard | Kommentare (Typ) |
---|---|---|
tftp_anon_write |
false | Boolean, der angibt, ob SELinux das Bearbeiten von Dateien erlaubt. |
tftp_config |
/usr/lib/systemd/system/tftp.service | Pfad zur systemd Einheitendatei für tftp |
tftp_group |
root | Gruppe des tftp_root_directory |
tftp_home_dir |
false | Boolean, der angibt, ob SELinux aktiv ist |
tftp_mode |
0755 | Berechtigungen für das tftp_root_directory |
tftp_root_directory |
/var/lib/tftpboot | Pfad zum Wurzelverzeichnis, das von tftp bereitgestellt wird. |
tftp_server_args |
--secure | Befehlszeilenargumente, die an das Server-Executable übergeben werden |
tftp_server_foreman_support |
false | Aktiviert Foreman-Unterstützung durch Erstellen einer passenden tftpd.map |
tftp_setype |
tftpdir_rw_t | SELinux-Kontext für das tftp Wurzelverzeichnis |
tftp_user |
root | Besitzer des tftp_root_directory |
Abhängigkeiten
Keine Abhängigkeiten.
Beispiel-Playbook
Siehe das Test-Playbook
Tests
Tests für diese Rolle sind in Form einer Vagrant-Umgebung bereitgestellt, die in einem separaten Branch tests gehalten wird. Ich benutze git-worktree(1), um den Testcode in das Arbeitsverzeichnis einzufügen. Anweisungen zum Ausführen der Tests:
- Hole den Tests-Branch:
git fetch origin tests
- Erstelle einen Git-Arbeitsbaum für den Testcode:
git worktree add tests tests
(Hinweis: dies erfordert mindestens Git v2.5.0). Dies erstellt ein Verzeichnistests/
. cd tests/
vagrant up
erstellt dann eine VM und wendet das zweite von zwei verfügbaren Test-Playbooks, die unten aufgelistet sind, an.
Die Test-Playbooks:
test-minimal.yml
wendet die Rolle auf eine VM mit Standardeinstellungen an (keine Rollenvariablen sind gesetzt).test.yml
wendet die Rolle auf eine VM an und ändert einige Standardwerte. Das Playbook legt auch eine Datei namens README im TFTP-Wurzelverzeichnis ab. Nach der Anwendung dieses Playbooks solltest du in der Lage sein, diese Datei von deinem Host-System abzurufen (vorausgesetzt, dertftp
-Client ist installiert):$ tftp 127.0.0.1 6969 -c get README
Der TFTP-Port (69) auf der VM wird über die NAT-Schnittstelle auf Port 6969 auf deinem Host-System weitergeleitet, daher die 127.0.0.1 und die Portnummer in der Befehlszeile.
Mitwirken
Probleme, Feature-Anfragen und Ideen sind willkommen und können im Bereich Probleme gepostet werden. Pull-Requests sind ebenfalls sehr willkommen. Erstelle vorzugsweise einen Themen-Branch und fasse deine Commits bei der Einreichung in einen zusammen (mit einer beschreibenden Nachricht).
Lizenz
BSD
Autoreninformationen
Bert Van Vreckem (bert.vanvreckem@gmail.com)
Beiträge von:
- @ckaserer
- @kostyrevaa : Foreman-Unterstützung (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