Red Hat Training

A Red Hat training course is available for RHEL 8

66.4. Garantindo a presença de múltiplos registros CNAME na IdM usando o Ansible

Um registro de Nome Canônico (CNAME record) é um tipo de registro de recurso no Sistema de Nome de Domínio (DNS) que mapeia um nome de domínio, um pseudônimo, para outro nome, o nome canônico.

Você pode achar os registros CNAME úteis ao executar vários serviços de um único endereço IP: por exemplo, um serviço FTP e um serviço web, cada um rodando em uma porta diferente.

Esta seção mostra como um administrador de Gerenciamento de Identidade (IdM) pode usar um Livro de Jogadas Ansioso para garantir que múltiplos registros CNAME estejam presentes no DNS do IdM. No exemplo utilizado no procedimento abaixo, host03 é tanto um servidor HTTP quanto um servidor FTP. O administrador do IdM garante a presença dos registros CNAME www e ftp para o host03 Um registro na zona idm.example.com.

Pré-requisitos

  • Você instalou o pacote ansible-freeipa no controlador Ansible. Este é o host no qual você executa as etapas do procedimento.
  • Você sabe a senha do administrador da IdM.
  • A zona idm.example.com existe e é gerenciada pela IdM DNS. Para mais informações sobre como adicionar uma zona DNS primária no DNS IdM, consulte Utilizando playbooks possíveis para gerenciar as zonas DNS IdM.
  • O host03 Existe um registro na zona idm.example.com.

Procedimento

  1. Navegue até o diretório /usr/share/doc/ansible-freeipa/playbooks/dnsrecord:

    $ cd /usr/share/doc/ansible-freeipa/playbooks/dnsrecord
  2. Abra seu arquivo de inventário e certifique-se de que o servidor IdM que você deseja configurar esteja listado na seção [ipaserver]. Por exemplo, para instruir o Ansible a configurar server.idm.example.com, entre:

    [ipaserver]
    server.idm.example.com
  3. Faça uma cópia do arquivo do livro de jogo ensure-CNAME-record-is-present.yml. Por exemplo:

    $ cp ensure-CNAME-record-is-present.yml ensure-CNAME-record-is-present-copy.yml
  4. Abra o arquivo ensure-CNAME-record-is-present-copy.yml para edição.
  5. Adapte o arquivo definindo as seguintes variáveis na seção de tarefas ipadnsrecord:

    • (Opcional) Adaptar a descrição fornecida pelo name da peça.
    • Defina a variável ipaadmin_password para sua senha de administrador IdM.
    • Defina a variável zone_name para idm.example.com.
    • Na seção de variáveis records, defina as seguintes variáveis e valores:

      • Defina a variável name para www.
      • Defina a variável cname_hostname para host03.
      • Defina a variável name para ftp.
      • Defina a variável cname_hostname para host03.

      Este é o arquivo Ansible playbook modificado para o exemplo atual:

    ---
    - 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. Salvar o arquivo.
  7. Execute o livro de brincadeiras:

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

Recursos adicionais

  • Você pode ver mais exemplos de playbooks possíveis para o módulo ansible-freeipa ipadnsrecord no arquivo README-dnsrecord.md Markdown, disponível no diretório /usr/share/doc/ansible-freeipa/. O arquivo também contém as definições das variáveis ipadnsrecord.
  • Você pode ver exemplos de playbooks possíveis para o módulo ipadnsrecord no diretório /usr/share/doc/ansible-freeipa/playbooks/dnsrecord.