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.
DNS lookups in Ansble (on remote host) made easy.
ansible-galaxy install alexisfacques.ansible_module_dig