alexisfacques.ansible_module_dig

ansible-module-dig

ansible-module-dig ist ein benutzerdefiniertes Ansible-Modul, mit dem Sie DNS-Abfragen von entfernten Ansible-Hosts ausführen können. Es gibt eine Liste der aufgelösten IP(v4)-Adressen pro Name zurück. Das dig-Modul kann auch so konfiguriert werden, dass die /etc/hosts-Datei der Hosts vor einer Abfrageoperation analysiert wird.

Dieses Modul kann somit verwendet werden, um:

  • einen oder mehrere Hostnamen aufzulösen;
  • festzustellen, ob ein oder mehrere Hostnamen aufgelöst werden können (das Modul schlägt fehl, wenn ein Hostname nicht auf mindestens eine Adresse aufgelöst werden kann).

dig-Modul vs. Ansible lookup('dig', ... )

Stellen Sie sicher, dass Sie wissen, was Sie tun, bevor Sie dieses Modul verwenden! Der offizielle Weg, um DNS-Abfragen in Ansible auszuführen, ist die Verwendung der dig-Lookup.

Ein Hauptproblem bei der Verwendung von Lookup-Filtern, wie bei allen Vorlagen, ist, dass sie auf der Ansible-Steuerungsmaschine ausgewertet werden und nicht auf dem Zielhost. Dies könnte unerwartete Nebeneffekte verursachen, wenn Sie Ihre Ansible-Spiele in komplexen Netzwerkumgebungen oder Bereitstellungsszenarien ausführen, in denen Ihre Steuerungsmaschine alle Hosts Ihres Clusters auflösen kann, die Hosts jedoch nicht (z. B. wenn Sie Ihre Konfiguration über ein externes Managementnetzwerk oder in Offline- oder hoch gesicherten Netzwerkumgebungen ausführen).

Dieses Ansible dig-Modul schließt diese Lücke, indem es Abfragen direkt von den Remote-Hosts ausführt.

Erste Schritte

Anforderungen

Die folgenden Anforderungen sind auf dem Host erforderlich, der dieses Modul ausführt.

  • dnspython für Python.

Installation

Der "Ansible-Rollen" Weg

  • Klonen Sie dieses Repository in Ihren Ansible role_path oder installieren Sie es über ansible-galaxy;
    ansible-galaxy install alexisfacques.ansible_module_dig
    
  • Importieren Sie die Rolle in Ihren Playbooks, bevor Sie eine Rolle oder Aufgabe ausführen, die das dig-Modul benötigt:
    - hosts: all
      roles:
        - alexisfacques.ansible_module_dig
      tasks:
        - name: Sicherstellen, dass google.com aufgelöst werden kann
          dig:
            qtype: A
            name: google.com
          register: dig_result
    

Der "Ansible-Bibliothek" Weg

Alternativ, wenn das Importieren einer Rolle zu umständlich ist, können Sie dieses Modul im Verzeichnis library speichern, das in Ihrer ansible.cfg-Datei definiert ist. (Standardmäßig ist es ein Unterverzeichnis namens library im Verzeichnis, das Ihre Playbooks enthält):

[defaults]
library = /path/to/your/library

Verwendung

Parameter

Parameter Auswahlen/Voreinstellungen Kommentare
qtype
Voreinstellung:
A
Gibt an, welche Art von Abfrage erforderlich ist: ANY, A, MX, SIG... Der Typ kann jede gültige Abfrageart sein.
name
- string | liste / erforderlich
Der Name/die Namen der Ressourcen, die abgefragt werden sollen.
nameserver
- string | liste
Die Namen oder IPv4-Adressen der zu verwendenden Nameserver.
with_etc_hosts Wahl:
true
false

Voreinstellung:
true
Ob das Modul versuchen soll, den Namen mithilfe der /etc/hosts-Datei(n) des Hosts vor der Ausführung von Abfrageoperationen aufzulösen.

Rückgabewerte

Schlüssel Zurückgegeben Beschreibung
addresses Bei Erfolg, wenn alle Namen auf mindestens 1 IPv4-Adresse aufgelöst wurden. Ein 2-dimensionales Array von IPv4-Adressen zu jedem der abgefragten Namen.

Beispiel für die Verwendung

Beispiele für die Verwendung finden Sie hier.

Danksagungen

Lizenz

Dieses Projekt steht unter der MIT-Lizenz - siehe die LICENSE Datei für Details.

Über das Projekt

DNS lookups in Ansble (on remote host) made easy.

Installieren
ansible-galaxy install alexisfacques.ansible_module_dig
GitHub Repository
Lizenz
mit
Downloads
313
Besitzer
🔵⚪️