Menu Close

Red Hat Training

A Red Hat training course is available for RHEL 8

78.4. Ansible 플레이북을 사용하여 여러 변수와 함께 IdM에 기본 DNS 영역이 있는지 확인합니다.

이 섹션에서는 IdM(Identity Management) 관리자가 Ansible 플레이북을 사용하여 기본 DNS 영역이 있는지 확인하는 방법을 보여줍니다. 아래 절차에서 사용된 예제에서 IdM 관리자는 zone.idm.example.com DNS 영역이 있는지 확인합니다. Ansible 플레이북은 영역의 여러 매개 변수를 구성합니다.

사전 요구 사항

  • Ansible 컨트롤러에 ansible-freeipa 패키지를 설치했습니다. 이는 절차의 단계를 실행하는 호스트입니다.
  • IdM 관리자 암호를 알고 있습니다.

절차

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

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

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

    $ cp dnszone-all-params.yml dnszone-all-params-copy.yml
  4. 편집할 dnszone-all-params-copy.yml 파일을 엽니다.
  5. ipadnszone 작업 섹션에서 다음 변수를 설정하여 파일을 조정합니다.

    • ipaadmin_password 변수를 IdM 관리자 암호로 설정합니다.
    • zone_name 변수를 zone.idm.example.com 으로 설정합니다.
    • PTR 레코드와 A 및 AAAA 레코드의 동기화인 정방향 및 역방향 레코드의 동기화를 허용하려면 allow_sync_ptr 변수를 true로 설정합니다.
    • IdM 클라이언트 시스템에서 IP 주소를 추가하거나 업데이트할 수 있도록 dynamic_update 변수를 true로 설정합니다.
    • 영역에 있는 레코드의 인라인 DNSSEC 서명을 허용하려면 dnssec 변수를 true로 설정합니다.
    • allow_transfer 변수를 영역의 보조 이름 서버의 IP 주소로 설정합니다.
    • allow_query 변수를 쿼리를 발행할 수 있는 IP 주소 또는 네트워크로 설정합니다.
    • forwarders 변수를 글로벌 전달자의 IP 주소로 설정합니다.
    • serial 변수를 SOA 레코드 일련 번호로 설정합니다.
    • 영역의 DNS 레코드에 대한 refresh,retry,expire , minimum, ttl 및 default_ttl 값을 정의합니다.
    • nsec3param_rec 변수를 사용하여 영역에 대한 NSEC3 PARAM 레코드를 정의합니다.
    • 기존 영역과 겹치는 경우에도 DNS 생성을 강제 하려면 skip_overlap_check 변수를 true로 설정합니다.
    • 이름 서버를 확인할 수 없는 경우에도 DNS 영역을 강제로 생성하려면 skip_nameserver_check 를 true로 설정합니다.

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

    ---
    - name: Ensure dnszone present
      hosts: ipaserver
      become: true
    
      tasks:
      - name: Ensure zone is present.
        ipadnszone:
          ipaadmin_password: Secret123
          zone_name: zone.idm.example.com
          allow_sync_ptr: true
          dynamic_update: true
          dnssec: true
          allow_transfer:
            - 1.1.1.1
            - 2.2.2.2
          allow_query:
            - 1.1.1.1
            - 2.2.2.2
          forwarders:
            - ip_address: 8.8.8.8
            - ip_address: 8.8.4.4
              port: 52
          serial: 1234
          refresh: 3600
          retry: 900
          expire: 1209600
          minimum: 3600
          ttl: 60
          default_ttl: 90
          name_server: server.idm.example.com.
          admin_email: admin.admin@idm.example.com
          nsec3param_rec: "1 7 100 0123456789abcdef"
          skip_overlap_check: true
          skip_nameserver_check: true
          state: present
  6. 파일을 저장합니다.
  7. 플레이북을 실행합니다.

    $ ansible-playbook -v -i inventory.file dnszone-all-params-copy.yml

추가 리소스

  • DNS 영역에 대한 자세한 내용은 지원되는 DNS 영역 유형을 참조하십시오.
  • IdM에서 구성할 수 있는 DNS 영역 속성에 대한 자세한 내용은 기본 IdM DNS 영역의 구성 속성을 참조하십시오.
  • /usr/share/doc/ansible-freeipa -freeipa/ 디렉터리에서 사용할 수 있는 README-dnszone.md Markdown 파일에서 ansible -freeipa ipadnszone 모듈에 대한 더 많은 샘플 Ansible 플레이북을 볼 수 있습니다. 파일에는 ipadnszone 변수의 정의도 포함되어 있습니다.
  • /usr/share/doc/ansible-freeipa/playbooks/dns zone 디렉터리에서 ipadns zone 모듈에 대한 샘플 Ansible 플레이북을 볼 수 있습니다.