99.7. Ansible을 사용하여 IdM에 SRV 레코드가 있는지 확인
SRV(DNS 서비스) 레코드는 도메인에서 사용할 수 있는 서비스의 호스트 이름, 포트 번호, 전송 프로토콜, 우선 순위 및 가중치를 정의합니다. IdM(Identity Management)에서는 SRV 레코드를 사용하여 IdM 서버 및 복제본을 찾을 수 있습니다.
Ansible 플레이북을 사용하여 IdM DNS에 SRV 레코드가 있는지 확인하려면 다음 절차를 따르십시오. 아래 절차에서 사용된 예제에서 IdM 관리자는 값이 10 50 88 idm. example.com인 _kerberos._udp.idm.example.com SRV 레코드가 있는지 확인합니다. 이렇게 하면 다음 값이 설정됩니다.
- 서비스의 우선 순위를 10으로 설정합니다.
- 서비스의 weight를 50으로 설정합니다.
- 서비스에서 사용할 포트를 88으로 설정합니다.
사전 요구 사항
다음 요구 사항을 충족하도록 Ansible 제어 노드를 구성했습니다.
- Ansible 버전 2.14 이상을 사용하고 있습니다.
-
Ansible 컨트롤러에
ansible-freeipa
패키지가 설치되어 있습니다. - 이 예제에서는 ~/MyPlaybook/ 디렉터리에서 IdM 서버의 FQDN(정규화된 도메인 이름)을 사용하여 Ansible 인벤토리 파일을 생성했다고 가정합니다.
-
이 예제에서는 secret.yml Ansible 자격 증명 모음이
ipaadmin_password
를 저장하는 것으로 가정합니다.
-
ansible-freeipa
모듈이 실행되는 노드인 대상 노드는 IdM 도메인의 일부인 IdM 클라이언트, 서버 또는 복제본입니다. - IdM 관리자 암호를 알고 있습니다.
- idm.example.com 영역이 존재하며 IdM DNS에 의해 관리됩니다. IdM DNS에서 기본 DNS 영역을 추가하는 방법에 대한 자세한 내용은 Ansible 플레이북을 사용하여 IdM DNS 영역 관리를 참조하십시오.
절차
/usr/share/doc/ansible-freeipa/playbooks/dnsrecord
디렉터리로 이동합니다.$ cd /usr/share/doc/ansible-freeipa/playbooks/dnsrecord
인벤토리 파일을 열고 구성할 IdM 서버가
[ipaserver]
섹션에 나열되어 있는지 확인합니다. 예를 들어 server.idm.example.com을 구성하도록 Ansible에 지시하려면 다음을 입력합니다.[ipaserver] server.idm.example.com
ensure-SRV-record-is-present.yml Ansible 플레이북 파일의 사본을 만듭니다. 예를 들면 다음과 같습니다.
$ cp ensure-SRV-record-is-present.yml ensure-SRV-record-is-present-copy.yml
- 편집을 위해 ensure-SRV-record-is-present-copy.yml 파일을 엽니다.
ipadnsrecord
작업 섹션에서 다음 변수를 설정하여 파일을 조정합니다.-
ipaadmin_password
변수를 IdM 관리자 암호로 설정합니다. -
name
변수를 _kerberos._udp.idm.example.com 으로 설정합니다. -
srv_rec
변수를 '10 50 88 idm.example.com' 으로 설정합니다. zone_name
변수를 idm.example.com 으로 설정합니다.이 파일은 현재 예제에 맞게 수정된 Ansible 플레이북 파일입니다.
--- - name: Test multiple DNS Records are present. hosts: ipaserver become: true gather_facts: false tasks: # Ensure a SRV record is present - ipadnsrecord: ipaadmin_password: "{{ ipaadmin_password }}" name: _kerberos._udp.idm.example.com srv_rec: ’10 50 88 idm.example.com’ zone_name: idm.example.com state: present
-
- 파일을 저장합니다.
플레이북을 실행합니다.
$ ansible-playbook --vault-password-file=password_file -v -i inventory.file ensure-SRV-record-is-present.yml
추가 리소스
- IdM의 DNS 레코드를 참조하십시오.
-
/usr/share/doc/ansible
파일을 참조하십시오.-freeipa/
디렉토리에서 README-dns records.md -
/usr/share/doc/ansible-freeipa/playbooks/dns records 디렉터리의 샘플 Ansible 플레이북을
참조하십시오.