30.12. Ansible을 사용하여 IdM에 DNS Forward Zone이 여러 전달자가 있는지 확인

Ansible 플레이북을 사용하여 IdM의 DNS 전달 영역에 여러 전달자가 있는지 확인하려면 다음 절차를 따르십시오. 아래 예제 절차에서 IdM 관리자는 example.com 의 DNS 전달 영역이 8. 8.8 및 4.4.4. 4 로 전달되어 있는지 확인합니다.

사전 요구 사항

  • 다음 요구 사항을 충족하도록 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-multiple-forwarders.yml
  4. 편집할 수 있도록 ensure-presence-multiple-forwarders.yml 파일을 엽니다.
  5. 다음 변수를 설정하여 파일을 조정합니다.

    1. IdM DNS의 dnsforwardzone에 여러 개의 전달자가 있는지 확인하기 위해 플레이북의 name 변수를 Playbook로 변경합니다.
    2. tasks 섹션에서 dnsforwardzone의 dnsforwardzone의 8.8.8.8 및 4.4.4.4 forwarders가 있는지 확인하도록 작업 이름을 변경합니다.
    3. tasks 섹션에서 ipadnsconfig 제목을 ipadnsforwardzone 로 변경합니다.
    4. ipadnsforwardzone 섹션에서 다음을 수행합니다.

      1. ipaadmin_password 변수를 추가하고 IdM 관리자 암호로 설정합니다.
      2. name 변수를 추가하고 example.com 으로 설정합니다.
      3. 전달자 섹션에서 다음을 수행합니다.

        1. ip_addressport 행을 제거합니다.
        2. 확인하려는 DNS 서버의 IP 주소를 대시 앞에 추가합니다.

          - 8.8.8.8
          - 4.4.4.4
      4. state 변수를 present로 변경합니다.

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

    ---
    - name: name: Playbook to ensure the presence of multiple forwarders in a dnsforwardzone in IdM DNS
      hosts: ipaserver
    
      vars_files:
      - /home/user_name/MyPlaybooks/secret.yml
      tasks:
      - name: Ensure presence of 8.8.8.8 and 4.4.4.4 forwarders in dnsforwardzone for example.com
      ipadnsforwardzone:
          ipaadmin_password: "{{ ipaadmin_password }}"
         name: example.com
          forwarders:
              - 8.8.8.8
              - 4.4.4.4
          state: present
  6. 파일을 저장합니다.
  7. 플레이북을 실행합니다.

    $ ansible-playbook --vault-password-file=password_file -v -i inventory.file ensure-presence-multiple-forwarders.yml

추가 리소스

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