Nota

Este complemento es parte del community.general collection (versión 2.0.1).

Para instalarlo use: ansible-galaxy collection install community.general.

Para usarlo en un libro de jugadas, especifique: community.general.dig.

  • Sinopsis
  • Requisitos
  • Parámetros
  • Notas
  • Ejemplos de
  • Valores devueltos

Sinopsis

  • La búsqueda de excavación ejecuta consultas contra servidores DNS para recuperar registros DNS para un nombre específico (FQDN – nombre de dominio completo). Es posible buscar cualquier registro DNS de esta manera.
  • Hay un par de sintaxis diferentes que se pueden usar para especificar qué registro se debe recuperar y para qué nombre. También es posible especificar explícitamente los servidores DNS que se utilizarán para las búsquedas.
  • En su forma más simple, el complemento de búsqueda de excavación se puede usar para recuperar una dirección IPv4 (registro DNS A) asociada con FQDN
  • Además del registro A (predeterminado), también es posible especificar un tipo de registro diferente que se debe consultar. Esto se puede hacer pasando un parámetro adicional de formato qtype = TYPE a la búsqueda de excavación, o agregando / TYPE al FQDN que se está consultando.
  • Si hay varios valores asociados con el registro solicitado, los resultados se devolverán como una lista separada por comas. En tales casos, es posible que desee pasar la opción wantlist = True al complemento, lo que dará como resultado que los valores de registro se devuelvan como una lista sobre la que puede iterar más adelante.
  • De forma predeterminada, la búsqueda se basará en servidores DNS configurados en todo el sistema para realizar la consulta. También es posible especificar explícitamente los servidores DNS para realizar consultas utilizando la notación @ DNS_SERVER_1, DNS_SERVER_2,…, DNS_SERVER_N. Esto debe pasarse como un parámetro adicional a la búsqueda.

Requisitos

Los siguientes requisitos son necesarios en el nodo del controlador local que ejecuta esta búsqueda.

Parámetros

Parámetro Opciones / Valores predeterminados Configuración Comentarios
_condicionesstring dominio (s) para consultar
planostring Defecto:
1
Si 0, cada registro se devuelve como un diccionario; de lo contrario, un string
qtypestring
    Opciones:

  • A
  • TODOS
  • AAAA
  • CNAME
  • DNAME
  • DLV
  • DNSKEY
  • DS
  • HINFO
  • LOC
  • MX
  • NAPTR
  • NS
  • NSEC3PARAM
  • PTR
  • RP
  • RRSIG
  • SOA
  • SPF
  • SRV
  • SSHFP
  • TLSA
  • TXT
tipo de registro para consultar

Notas

Nota

  • ALL no es un registro en sí, simplemente los campos enumerados están disponibles para cualquier resultado de registro que recupere en forma de diccionario.
  • Si bien el complemento de búsqueda ‘dig’ admite todo lo que dnspython admita de fábrica, solo un subconjunto se puede convertir en un diccionario.
  • Si necesita obtener el registro AAAA (dirección IPv6), debe especificar el tipo de registro explícitamente. La sintaxis para especificar el tipo de registro se muestra en los ejemplos siguientes.
  • El punto final en la mayoría de los ejemplos enumerados es puramente opcional, pero se especifica por razones de integridad / corrección.

Ejemplos de

- name: Simple A record (IPV4 address) lookup for example.com
  ansible.builtin.debug:
    msg: " lookup('community.general.dig', 'example.com.')"

- name: "The TXT record for example.org."
  ansible.builtin.debug:
    msg: " lookup('community.general.dig', 'example.org.', 'qtype=TXT') "

- name: "The TXT record for example.org, alternative syntax."
  ansible.builtin.debug:
    msg: " lookup('community.general.dig', 'example.org./TXT') "

- name: use in a loop
  ansible.builtin.debug:
    msg: "MX record for gmail.com  item "
  with_items: " lookup('community.general.dig', 'gmail.com./MX', wantlist=True) "

- ansible.builtin.debug:
    msg: "Reverse DNS for 192.0.2.5 is  lookup('community.general.dig', '192.0.2.5/PTR') "
- ansible.builtin.debug:
    msg: "Reverse DNS for 192.0.2.5 is  lookup('community.general.dig', '5.2.0.192.in-addr.arpa./PTR') "
- ansible.builtin.debug:
    msg: "Reverse DNS for 192.0.2.5 is  lookup('community.general.dig', '5.2.0.192.in-addr.arpa.', 'qtype=PTR') "
- ansible.builtin.debug:
    msg: "Querying 198.51.100.23 for IPv4 address for example.com. produces  lookup('dig', 'example.com', '@198.51.100.23') "

- ansible.builtin.debug:
    msg: "XMPP service for gmail.com. is available at  item.target  on port  item.port "
  with_items: " lookup('community.general.dig', '_xmpp-server._tcp.gmail.com./SRV', 'flat=0', wantlist=True) "

Valores devueltos

Los valores de retorno comunes están documentados aquí, los siguientes son los campos exclusivos de esta búsqueda:

Llave Devuelto Descripción
_listalista / elementos = cualquiera éxito Lista de cadenas compuestas o diccionarios con key y valor Si es un diccionario, los campos muestran el keys devuelto según el tipo de consulta
Astring éxito Dirección
AAAAstring éxito Dirección
TODOSstring éxito propietario, ttl, tipo
CNAMEstring éxito objetivo
DLVstring éxito algoritmo, digest_type, key_tag, digest
DNAMEstring éxito objetivo
DNSKEYstring éxito banderas, algoritmo, protocolo, key
DSstring éxito algoritmo, digest_type, key_tag, digest
HINFOstring éxito CPU, sistema operativo
LOCstring éxito latitud, longitud, altitud, tamaño, horizontal_precision, vertical_precision
MXstring éxito preferencia, intercambio
NAPTRstring éxito orden, preferencia, banderas, servicio, regexp, reemplazo
NSstring éxito objetivo
NSEC3PARAMstring éxito algoritmo, banderas, iteraciones, sal
PTRstring éxito objetivo
RPstring éxito mbox, txt
SOAstring éxito mname, rname, serial, actualizar, reintentar, expirar, mínimo
SPFstring éxito instrumentos de cuerda
SRVstring éxito prioridad, peso, puerto, objetivo
SSHFPstring éxito algoritmo, tipo_fp, huella digital
TLSAstring éxito uso, selector, mtype, cert
TXTstring éxito instrumentos de cuerda

Autores

  • Jan-Piet Mens (@jpmens)