31.8. 외부 DNS 및 외부 CA를 사용하여 배포에 대한 매개변수 설정
외부 DNS 솔루션을 사용하는 환경의 루트 CA로 외부 CA를 사용하여 IdM 서버를 설치하기 위한 인벤토리 파일을 구성하려면 다음 절차를 완료합니다.
이 절차의 인벤토리 파일은 INI
형식을 사용합니다. 또는 YAML
또는 JSON
형식을 사용할 수 있습니다.
절차
~/MyPlaybooks/
디렉터리를 생성합니다.$ mkdir MyPlaybooks
-
~/MyPlaybooks/inventory
파일을 만듭니다. 편집할 인벤토리 파일을 엽니다. IdM 서버로 사용하려는 호스트의 정규화된 도메인 이름(
FQDN
)을 지정합니다.FQDN
이 다음 기준을 충족하는지 확인합니다.- 영숫자 및 하이픈(-)만 허용됩니다. 예를 들어 밑줄은 허용되지 않으며 DNS 오류가 발생할 수 있습니다.
- 호스트 이름은 모두 소문자여야 합니다.
- IdM 도메인 및 영역 정보를 지정합니다.
-
ipaserver_setup_dns
옵션이no
로 설정되었거나 존재하지 않는지 확인합니다. -
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=no [...]
필수 서버 정보가 있는 인벤토리 파일의 예(암호 포함)
[ipaserver] server.idm.example.com [ipaserver:vars] ipaserver_domain=idm.example.com ipaserver_realm=IDM.EXAMPLE.COM ipaserver_setup_dns=no 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=no 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
추가 리소스
- IdM 서버 설치: 통합 DNS 없이 루트 CA로 외부 CA를 사용
-
man
ipa-server-install(1)
-
/usr/share/doc/ansible-freeipa/README-server.md