91.3. Ansible을 사용하여 IdM에 DNS 글로벌 전달자가 없는지 확인
Ansible 플레이북을 사용하여 IdM에 DNS 글로벌 전달자가 없는지 확인하려면 다음 절차를 따르십시오. 아래의 예제 절차에서는 IdM 관리자가 인터넷 프로토콜(IP) v4 주소가 8.8.6.6
이고 IP v6 주소는 포트 53
에서 2001:4860:4860::8800
인 DNS 글로벌 전달자가 없음을 확인합니다.
사전 요구 사항
다음 요구 사항을 충족하도록 Ansible 제어 노드를 구성했습니다.
- Ansible 버전 2.14 이상을 사용하고 있습니다.
-
Ansible 컨트롤러에
ansible-freeipa
패키지가 설치되어 있습니다. - 이 예제에서는 ~/MyPlaybook/ 디렉터리에서 IdM 서버의 FQDN(정규화된 도메인 이름)을 사용하여 Ansible 인벤토리 파일을 생성했다고 가정합니다.
-
이 예제에서는 secret.yml Ansible 자격 증명 모음이
ipaadmin_password
를 저장하는 것으로 가정합니다.
-
ansible-freeipa
모듈이 실행되는 노드인 대상 노드는 IdM 도메인의 일부인 IdM 클라이언트, 서버 또는 복제본입니다. - IdM 관리자 암호를 알고 있습니다.
절차
/usr/share/doc/ansible-freeipa/playbooks/dnsconfig
디렉터리로 이동합니다.$ cd /usr/share/doc/ansible-freeipa/playbooks/dnsconfig
인벤토리 파일을 열고 구성할 IdM 서버가
[ipaserver]
섹션에 나열되어 있는지 확인합니다. 예를 들어server.idm.example.com을 구성하도록 Ansible에 지시하려면 다음을 입력합니다.
[ipaserver] server.idm.example.com
forwarders-absent.yml
Ansible 플레이북 파일의 사본을 만듭니다. 예를 들면 다음과 같습니다.$ cp forwarders-absent.yml ensure-absence-of-a-global-forwarder.yml
-
편집을 위해
ensure-absence-of-a-global-forwarder.yml
파일을 엽니다. 다음 변수를 설정하여 파일을 조정합니다.
-
플레이북의
name
변수를플레이북으로 변경하여 IdM DNS에서 글로벌 전달자가 없는지 확인합니다
. -
tasks
섹션에서DNS 글로벌 전달자가 없는지 확인하고 포트 53에 2001:4860:4860::8800
으로 작업이름을
변경합니다. ipadnsconfig
부분의forwarders
섹션에서 다음을 수행합니다.-
첫 번째
ip_address
값을 글로벌 전달자의 IPv4 주소로 변경합니다.8.8.6.6
. -
두 번째
ip_address
값을 글로벌 전달자의 IPv6 주소로 변경합니다.2001:4860:4860::8800
. -
port
값이53
으로 설정되어 있는지 확인합니다.
-
첫 번째
-
action
변수를member
로 설정합니다. -
상태가
absent
로 설정되어 있는지 확인합니다.
이 파일은 현재 예제에 맞게 수정된 Ansible 플레이북 파일입니다.
--- - name: Playbook to ensure the absence of a global forwarder in IdM DNS hosts: ipaserver vars_files: - /home/user_name/MyPlaybooks/secret.yml tasks: - name: Ensure the absence of a DNS global forwarder to 8.8.6.6 and 2001:4860:4860::8800 on port 53 ipadnsconfig: forwarders: - ip_address: 8.8.6.6 - ip_address: 2001:4860:4860::8800 port: 53 action: member state: absent
중요action: member
를 사용하지 않고 플레이북에서state: absent
옵션만 사용하는 경우 플레이북이 실패합니다.-
플레이북의
- 파일을 저장합니다.
플레이북을 실행합니다.
$ ansible-playbook --vault-password-file=password_file -v -i inventory.file ensure-absence-of-a-global-forwarder.yml
추가 리소스
-
/usr/share/doc/ansible-freeipa/
디렉터리의README-dnsconfig.md
파일 -
ipadnsconfig ansible-freeipa 모듈의
action: member
옵션