ckaserer.tftp

gplv3 Wartung

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:

  1. Hole den Tests-Branch: git fetch origin tests
  2. Erstelle einen Git-Arbeitsbaum für den Testcode: git worktree add tests tests (Hinweis: dies erfordert mindestens Git v2.5.0). Dies erstellt ein Verzeichnis tests/.
  3. cd tests/
  4. 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, der tftp-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:

Über das Projekt

Installs and configures a TFTP (Trivial File Transfer Protocol) server on RHEL/CentOS 7 and Ubuntu

Installieren
ansible-galaxy install ckaserer.tftp
GitHub Repository
Lizenz
other
Downloads
146.7k
Besitzer
Anything related to Containers, CI/CD or general automation is fair game for him - give him a terminal and he is happy.