alexisfacques.ansible_module_dig

moduł-ansible-dig

moduł-ansible-dig to niestandardowy moduł Ansible, który umożliwia wykonywanie operacji wyszukiwania DNS zdalnie z hostów Ansible i zwraca listę rozwiązanych adresów IP (v4) dla danego nazwy. Moduł dig może być również skonfigurowany do analizowania pliku /etc/hosts hostów przed przeprowadzeniem operacji wyszukiwania.

Moduł ten może być używany do:

  • rozwiązywania jednej lub kilku nazw hostów;
  • sprawdzania, czy jedna lub wiele nazw hostów może być rozwiązana (moduł nie powiedzie się, jeśli nazwa hosta nie może zostać rozwiązana przynajmniej na jeden adres).

Moduł dig a Ansible lookup('dig', ...)

Upewnij się, że wiesz, co robisz, zanim użyjesz tego modułu! Oficjalnym sposobem wykonywania wyszukiwania DNS w Ansible jest użycie lookup 'dig'.

Głównym problemem z używaniem filtrów wyszukiwania, jak w przypadku wszystkich szablonów, jest to, że są one oceniane na maszynie kontrolnej Ansible, a nie na docelowym hoście. Może to powodować nieprzewidziane skutki uboczne podczas uruchamiania swoich gier Ansible w złożonych środowiskach sieciowych lub scenariuszach wdrażania, gdzie maszyna kontrolna może rozwiązać wszystkie hosty klastra, ale hosty tego nie mogą (np. uruchamiając swoje konfiguracje przez zewnętrzną sieć zarządzającą lub w offline lub bardzo zabezpieczonych środowiskach sieciowych).

Moduł Ansible dig wypełnia tę lukę, wykonując wyszukiwania bezpośrednio z zdalnych hostów.

Jak zacząć

Wymagania

Poniższe wymagania są potrzebne na hoście, który wykonuje ten moduł.

  • dnspython dla Pythona.

Instalacja

Sposób "przez rolę Ansible"

  • Sklonuj to repozytorium do swojego ścieżki role_path Ansible lub zainstaluj za pomocą ansible-galaxy;
    ansible-galaxy install alexisfacques.ansible_module_dig
    
  • Zaimportuj rolę w swoich skryptach przed uruchomieniem roli lub zadania, które wymagają modułu dig:
    - hosts: all
      roles:
        - alexisfacques.ansible_module_dig
      tasks:
        - name: Upewnij się, że google.com może być rozwiązany
          dig:
            qtype: A
            name: google.com
          register: dig_result
    

Sposób "przez bibliotekę Ansible"

Alternatywnie, jeśli zaimportowanie roli to zbyt duża trudność, możesz przechować ten moduł w katalogu library zdefiniowanym w swoim pliku ansible.cfg (Domyślnie jest to podkatalog o nazwie library w katalogu, który zawiera Twoje skrypty):

[defaults]
library = /ścieżka/do/twojej/biblioteki

Użycie

Parametry

Parametr Opcje/Domysły Komentarze
qtype
Domyślny:
A
Określa, jaki typ zapytania jest wymagany: ANY, A, MX, SIG... Typ może być dowolnym prawidłowym typem zapytania.
name
- string | lista / wymagany
Nazwa(y) zasobu, który ma być wyszukiwany.
nameserver
- string | lista
Nazwa(y) lub adres(y) IPv4 serwera nazwy do użycia.
with_etc_hosts Wybór:
true
false

Domyślny:
true
Czy moduł powinien próbować rozwiązać nazwę, korzystając z pliku /etc/hosts hosta przed wykonaniem jakiejkolwiek operacji wyszukiwania.

Wartości zwracane

Klucz Zwrócone Opis
addresses W przypadku sukcesu, jeśli wszystkie nazwy zostały rozwiązane na przynajmniej 1 adres IPv4. Zbiór współrzędnych IPv4 dla każdej wyszukiwanej nazwy.

Przykład użycia

Przykłady użycia można znaleźć tutaj.

Podziękowania

Licencja

Ten projekt jest licencjonowany na podstawie Licencji MIT - zobacz plik LICENSE dla szczegółów.

O projekcie

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

Zainstaluj
ansible-galaxy install alexisfacques.ansible_module_dig
Licencja
mit
Pobrania
313
Właściciel
🔵⚪️