25.7. 통합 DNS 및 외부 CA를 루트 CA로 사용하여 배포에 대한 매개변수 설정
IdM 통합 DNS 솔루션을 사용하는 환경에서 외부 CA를 루트 CA로 설치하기 위한 인벤토리 파일을 구성하려면 이 절차를 완료합니다.
이 절차의 인벤토리 파일은 INI
형식을 사용합니다. 또는 YAML
또는 JSON
형식을 사용할 수 있습니다.
절차
~/MyPlaybooks/
디렉터리를 생성합니다.$ mkdir MyPlaybooks
-
~/MyPlaybooks/inventory
파일을 만듭니다. 편집할 인벤토리 파일을 엽니다. IdM 서버로 사용하려는 호스트의 정규화된 도메인 이름(
FQDN
)을 지정합니다.FQDN
이 다음 기준을 충족하는지 확인합니다.- 영숫자 및 하이픈(-)만 허용됩니다. 예를 들어 밑줄은 허용되지 않으며 DNS 오류가 발생할 수 있습니다.
- 호스트 이름은 모두 소문자여야 합니다.
- IdM 도메인 및 영역 정보를 지정합니다.
다음 옵션을 추가하여 통합 DNS를 사용할 것을 지정합니다.
ipaserver_setup_dns=true
DNS 전달 설정을 지정합니다. 다음 옵션 중 하나를 선택합니다.
-
설치 프로세스에서
/etc/resolv.conf
파일의 전달자를 사용하려면ipaserver_auto_forwarders=true
옵션을 사용합니다./etc/resolv.conf
파일에 지정된 이름 서버가 localhost 127.0.0.1 주소이거나 가상 프라이빗 네트워크에 있고 사용 중인 DNS 서버는 일반적으로 공용 인터넷에서 연결할 수 없는 경우 이 옵션을 사용하지 않는 것이 좋습니다. -
ipaserver_forwarders
옵션을 사용하여 전달자를 수동으로 지정합니다. 설치 프로세스에서는 설치된 IdM 서버의/etc/named.conf
파일에 전달자 IP 주소를 추가합니다. ipaserver_no_forwarders=true
옵션을 사용하여 대신 사용할 루트 DNS 서버를 구성합니다.참고DNS 전달자가 없으면 환경이 분리되어 있으며 인프라의 다른 DNS 도메인의 이름은 확인되지 않습니다.
-
설치 프로세스에서
DNS 역방향 레코드 및 영역 설정을 지정합니다. 다음 옵션 중에서 선택합니다.
-
ipaserver_allow_zone_overlap=true
옵션을 사용하여 영역이 이미 확인 가능한 경우에도 (반복) 영역을 생성할 수 있습니다. -
ipaserver_reverse_zones
옵션을 사용하여 역방향 영역을 수동으로 지정합니다. 설치 프로세스에서 역방향 DNS 영역을 생성하지 않으려면
ipaserver_no_reverse=true
옵션을 사용합니다.참고IdM을 사용하여 역방향 영역을 관리하는 것은 선택 사항입니다. 대신 외부 DNS 서비스를 사용할 수 있습니다.
-
-
admin
및Directory Manager
의 암호를 지정합니다. Ansible Vault를 사용하여 암호를 저장하고 플레이북 파일에서 Vault 파일을 참조합니다. 또는 덜 안전한 경우 인벤토리 파일에서 직접 암호를 지정합니다. 선택 사항: IdM 서버에서 사용할 사용자 지정
firewalld
영역을 지정합니다. 사용자 지정 영역을 설정하지 않으면 IdM에서 서비스를 기본firewalld
영역에 추가합니다. 사전 정의된 기본 영역은public
입니다.중요지정된
firewalld
영역이 있어야 하며 영구적으로 있어야 합니다.필수 서버 정보가 있는 인벤토리 파일의 예(암호 제외)
[ipaserver] server.idm.example.com [ipaserver:vars] ipaserver_domain=idm.example.com ipaserver_realm=IDM.EXAMPLE.COM ipaserver_setup_dns=true ipaserver_auto_forwarders=true [...]
필수 서버 정보가 있는 인벤토리 파일의 예(암호 포함)
[ipaserver] server.idm.example.com [ipaserver:vars] ipaserver_domain=idm.example.com ipaserver_realm=IDM.EXAMPLE.COM ipaserver_setup_dns=true ipaserver_auto_forwarders=true ipaadmin_password=MySecretPassword123 ipadm_password=MySecretPassword234 [...]
사용자 지정
firewalld
영역이 있는 인벤토리 파일의 예[ipaserver] server.idm.example.com [ipaserver:vars] ipaserver_domain=idm.example.com ipaserver_realm=IDM.EXAMPLE.COM ipaserver_setup_dns=true ipaserver_auto_forwarders=true ipaadmin_password=MySecretPassword123 ipadm_password=MySecretPassword234 ipaserver_firewalld_zone=custom zone [...]
설치의 첫 번째 단계에 대한 플레이북을 생성합니다. CSR(인증서 서명 요청)을 생성하고 컨트롤러에서 관리 노드로 복사하는 지침을 입력합니다.
--- - name: Playbook to configure IPA server Step 1 hosts: ipaserver become: true vars_files: - playbook_sensitive_data.yml vars: ipaserver_external_ca: true roles: - role: ipaserver state: present post_tasks: - name: Copy CSR /root/ipa.csr from node to "{{ groups.ipaserver[0] + '-ipa.csr' }}" fetch: src: /root/ipa.csr dest: "{{ groups.ipaserver[0] + '-ipa.csr' }}" flat: true
설치의 마지막 단계에 대해 다른 플레이북을 생성합니다.
--- - name: Playbook to configure IPA server Step 2 hosts: ipaserver become: true vars_files: - playbook_sensitive_data.yml vars: ipaserver_external_cert_files: - "/root/servercert20240601.pem" - "/root/cacert.pem" pre_tasks: - name: Copy "{{ groups.ipaserver[0] }}-{{ item }}" to "/root/{{ item }}" on node ansible.builtin.copy: src: "{{ groups.ipaserver[0] }}-{{ item }}" dest: "/root/{{ item }}" force: true with_items: - servercert20240601.pem - cacert.pem roles: - role: ipaserver state: present
추가 리소스
-
man
ipa-server-install(1)
-
/usr/share/doc/ansible-freeipa/README-server.md