Red Hat Training

A Red Hat training course is available for RHEL 8

66.4. Garantizar la presencia de varios registros CNAME en IdM mediante Ansible

Un registro de nombre canónico (registro CNAME) es un tipo de registro de recursos en el sistema de nombres de dominio (DNS) que asigna un nombre de dominio, un alias, a otro nombre, el nombre canónico.

Los registros CNAME pueden resultar útiles cuando se ejecutan varios servicios desde una misma dirección IP: por ejemplo, un servicio FTP y un servicio web, cada uno de los cuales se ejecuta en un puerto diferente.

Esta sección muestra cómo un administrador de Gestión de Identidades (IdM) puede utilizar un libro de jugadas de Ansible para asegurar que varios registros CNAME estén presentes en el DNS de IdM. En el ejemplo utilizado en el procedimiento siguiente, host03 es tanto un servidor HTTP como un servidor FTP. El administrador de IdM garantiza la presencia de los registros CNAME www y ftp para el registro A host03 en la zona idm.example.com.

Requisitos previos

  • Ha instalado el paquete ansible-freeipa en el controlador de Ansible. Este es el host en el que se ejecutan los pasos del procedimiento.
  • Conoce la contraseña del administrador de IdM.
  • La zona idm.example.com existe y es gestionada por IdM DNS. Para obtener más información sobre la adición de una zona DNS primaria en IdM DNS, consulte Uso de libros de juego de Ansible para gestionar zonas DNS de IdM.
  • El registro host03 A existe en la zona idm.example.com.

Procedimiento

  1. Navegue hasta el directorio /usr/share/doc/ansible-freeipa/playbooks/dnsrecord:

    $ cd /usr/share/doc/ansible-freeipa/playbooks/dnsrecord
  2. Abra su archivo de inventario y asegúrese de que el servidor IdM que desea configurar aparece en la sección [ipaserver]. Por ejemplo, para indicar a Ansible que configure server.idm.example.com, introduzca:

    [ipaserver]
    server.idm.example.com
  3. Haga una copia del archivo de playbook de Ansible ensure-CNAME-record-is-present.yml. Por ejemplo:

    $ cp ensure-CNAME-record-is-present.yml ensure-CNAME-record-is-present-copy.yml
  4. Abra el archivo ensure-CNAME-record-is-present-copy.yml para editarlo.
  5. Adapte el archivo estableciendo las siguientes variables en la sección de tareas ipadnsrecord:

    • (Opcional) Adaptar la descripción que ofrece el name de la obra.
    • Establece la variable ipaadmin_password con tu contraseña de administrador de IdM.
    • Establezca la variable zone_name en idm.example.com.
    • En la sección de variables records, establezca las siguientes variables y valores:

      • Establezca la variable name en www.
      • Establezca la variable cname_hostname en host03.
      • Establezca la variable name en ftp.
      • Establezca la variable cname_hostname en host03.

      Este es el archivo de Ansible playbook modificado para el ejemplo actual:

    ---
    - name: Ensure that 'www.idm.example.com' and 'ftp.idm.example.com' CNAME records point to 'host03.idm.example.com'.
      hosts: ipaserver
      become: true
      gather_facts: false
    
      tasks:
      - ipadnsrecord:
          ipaadmin_password: Secret123
          zone_name: idm.example.com
          records:
          - name: www
            cname_hostname: host03
          - name: ftp
            cname_hostname: host03
  6. Guarda el archivo.
  7. Ejecuta el libro de jugadas:

    $ ansible-playbook -v -i inventory.file ensure-CNAME-record-is-present.yml

Recursos adicionales

  • Puede ver más ejemplos de playbooks de Ansible para el módulo ansible-freeipa ipadnsrecord en el archivo README-dnsrecord.md Markdown disponible en el directorio /usr/share/doc/ansible-freeipa/. El archivo también contiene las definiciones de las variables de ipadnsrecord.
  • Puede ver ejemplos de playbooks de Ansible para el módulo ipadnsrecord en el directorio /usr/share/doc/ansible-freeipa/playbooks/dnsrecord.