30.8. Ansible을 사용하여 IdM에 DNS 글로벌 전달자가 있는지 확인

Ansible 플레이북을 사용하여 IdM에 DNS 글로벌 전달자가 있는지 확인하려면 다음 절차를 따르십시오. 아래 예제 절차에서 IdM 관리자는 포트 53에 있는 IP(Internet Protocol) v4 주소가 7.7.9.9 인 DNS 서버로 DNS 글로벌 전달자가 있는지, 포트 53 에서 2001:db8::1:0 의 IP v6 주소가 있는지 확인합니다.

사전 요구 사항

  • 다음 요구 사항을 충족하도록 Ansible 제어 노드를 구성했습니다.

    • Ansible 버전 2.14 이상을 사용하고 있습니다.
    • Ansible 컨트롤러에 ansible-freeipa 패키지가 설치되어 있습니다.
    • 이 예제에서는 ~/MyPlaybook/ 디렉터리에서 IdM 서버의 FQDN(정규화된 도메인 이름)을 사용하여 Ansible 인벤토리 파일을 생성했다고 가정합니다.
    • 이 예제에서는 secret.yml Ansible 자격 증명 모음이 ipaadmin_password 를 저장한다고 가정합니다.
  • IdM 관리자 암호를 알고 있습니다.

절차

  1. /usr/share/doc/ansible-freeipa/playbooks/dnsconfig 디렉터리로 이동합니다.

    $ cd /usr/share/doc/ansible-freeipa/playbooks/dnsconfig
  2. 인벤토리 파일을 열고 구성하려는 IdM 서버가 [ipaserver] 섹션에 나열되어 있는지 확인합니다. 예를 들어, server.idm.example.com 을 구성하도록 Ansible에 지시하려면 다음을 입력합니다.

    [ipaserver]
    server.idm.example.com
  3. forwarders-absent.yml Ansible 플레이북 파일의 사본을 만듭니다. 예를 들어 다음과 같습니다.

    $ cp forwarders-absent.yml ensure-presence-of-a-global-forwarder.yml
  4. 편집할 수 있도록 ensure-presence-of-a-global-forwarder.yml 파일을 엽니다.
  5. 다음 변수를 설정하여 파일을 조정합니다.

    1. IdM DNS에 글로벌 전달자가 있는지 확인하기 위해 플레이북의 name 변수를 Playbook로 변경합니다.
    2. tasks 섹션에서 작업의 이름을 변경하여 DNS 글로벌 전달자가 포트 53의 7.7.9.9 및 2001:db8::1:0으로 있는지 확인합니다.
    3. ipadnsconfig 부분의 forwarders 섹션에서 다음을 수행합니다.

      1. 첫 번째 ip_address 값을 global forwarder: 7.7.9.9 의 IPv4 주소로 변경합니다.
      2. 두 번째 ip_address 값을 global forwarder: 2001:db8::1:0 의 IPv6 주소로 변경합니다.
      3. 포트 값이 53 으로 설정되어 있는지 확인합니다.
    4. statepresent 로 변경합니다.

      이는 현재 예에 대해 수정된 Ansible 플레이북 파일입니다.

    ---
    - name: Playbook to ensure the presence of a global forwarder in IdM DNS
      hosts: ipaserver
    
      vars_files:
      - /home/user_name/MyPlaybooks/secret.yml
      tasks:
      - name: Ensure the presence of a DNS global forwarder to 7.7.9.9 and 2001:db8::1:0 on port 53
        ipadnsconfig:
          forwarders:
            - ip_address: 7.7.9.9
            - ip_address: 2001:db8::1:0
              port: 53
          state: present
  6. 파일을 저장합니다.
  7. 플레이북을 실행합니다.

    $ ansible-playbook --vault-password-file=password_file -v -i inventory.file ensure-presence-of-a-global-forwarder.yml

추가 리소스

  • /usr/share/doc/ansible-freeipa/ 디렉토리의 README-dnsconfig.md 파일을 참조하십시오.