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
Navegue até o diretório
/usr/share/doc/ansible-freeipa/playbooks/dnsrecord
:$ cd /usr/share/doc/ansible-freeipa/playbooks/dnsrecord
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
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
- Abra o arquivo ensure-CNAME-record-is-present-copy.yml para edição.
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:
-
Defina a variável
--- - 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
-
(Opcional) Adaptar a descrição fornecida pelo
- Salvar o arquivo.
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 arquivoREADME-dnsrecord.md
Markdown, disponível no diretório/usr/share/doc/ansible-freeipa/
. O arquivo também contém as definições das variáveisipadnsrecord
. -
Você pode ver exemplos de playbooks possíveis para o módulo
ipadnsrecord
no diretório/usr/share/doc/ansible-freeipa/playbooks/dnsrecord
.