Menu Close
Settings Close

Language and Page Formatting Options

2.7. 統合 DNS と、ルート CA としての外部 CA を使用したデプロイメントのパラメーターの設定

以下の手順に従って、IdM 統合 DNS ソリューションを使用する環境で、外部 CA を持つ IdM サーバーを root CA としてインストールするようにインベントリーファイルを設定します。

注記

この手順のインベントリーファイルは、INI形式を使用します。または、YAML 形式または JSON 形式を使用できます。

手順

  1. 編集するインベントリーファイルを開きます。IdM サーバーとして使用するホストの完全修飾ドメイン名 (FQDN) を指定します。FQDN が以下の基準を満たしていることを確認してください。

    • 英数字およびハイフン (-) のみが使用できる。たとえば、アンダーラインは使用できないため、DNS の障害が発生する原因となる可能性があります。
    • ホスト名がすべて小文字である。
  2. IdM ドメインおよびレルムの情報を指定します。
  3. 以下のオプションを追加して、統合 DNS を使用することを指定します。

    ipaserver_setup_dns=yes
  4. DNS 転送設定を指定します。以下のいずれかのオプションを選択します。

    • インストールプロセスで /etc/resolv.conf ファイルのフォワーダーを使用する場合は、ipaserver_auto_forwarders=yes を使用します。/etc/resolv.conf ファイルで指定する nameserver が localhost 127.0.0.1 アドレスである場合、または仮想プライベートネットワークにあり、使用している DNS サーバーが通常パブリックインターネットから到達できない場合は、このオプションを使用することが推奨されません。
    • ipaserver_forwarders を使用して、フォワーダーを手動で指定します。インストールプロセスにより、インストールした IdM サーバーの /etc/named.conf ファイルに、フォワーダーの IP アドレスが追加されます。
    • 代わりに使用する root DNS サーバーを設定する場合は、ipaserver_no_forwarders=yes オプションを使用します。

      注記

      DNS フォワーダーがないと、環境は分離され、インフラストラクチャー内の他の DNS ドメインからの名前は解決されません。

  5. DNS の逆引きレコードとゾーンの設定を指定します。次のいずれかのオプションを選択します。

    • ゾーンがすでに解決可能であっても、ipaserver_allow_zone_overlap=yes オプションを使用して (リバース) ゾーンの作成を許可します。
    • ipaserver_reverse_zones オプションを使用して、手動でリバースゾーンを指定します。
    • インストールプロセスで DNS ゾーンの逆引きを作成しない場合は、ipaserver_no_reverse=yes オプションを使用します。

      注記

      任意で、逆引きゾーンの管理に IdM を使用できます。代わりに、この目的で外部 DNS サービスを使用することもできます。

  6. adminDirectory Manager のパスワードを指定します。Ansible Vault を使用してパスワードを保存し、Playbook ファイルから Vault ファイルを参照します。あるいは、安全性は低くなりますが、インベントリーファイルにパスワードを直接指定します。
  7. (必要に応じて) IdM サーバーで使用する個別の firewalld ゾーンを指定します。カスタムゾーンを設定しないと、サービスがデフォルトのfirewalld ゾーンに追加されます。事前定義されたデフォルトゾーンは public です。

    重要

    指定する firewalld ゾーンは存在し、永続的でなければなりません。

    必要なサーバー情報を含むインベントリーファイルの例 (パスワードを除く)

    [ipaserver]
    server.idm.example.com
    
    [ipaserver:vars]
    ipaserver_domain=idm.example.com
    ipaserver_realm=IDM.EXAMPLE.COM
    ipaserver_setup_dns=yes
    ipaserver_auto_forwarders=yes
    [...]

    必要なサーバー情報を含むインベントリーファイルの例 (パスワードを含む)

    [ipaserver]
    server.idm.example.com
    
    [ipaserver:vars]
    ipaserver_domain=idm.example.com
    ipaserver_realm=IDM.EXAMPLE.COM
    ipaserver_setup_dns=yes
    ipaserver_auto_forwarders=yes
    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=yes
    ipaserver_auto_forwarders=yes
    ipaadmin_password=MySecretPassword123
    ipadm_password=MySecretPassword234
    ipaserver_firewalld_zone=custom zone
    
    [...]

  8. インストールの最初ステップ用の Playbook を作成します。証明書署名要求 (CSR) を生成し、それをコントローラーから管理対象ノードにコピーする指示を入力します。

    ---
    - name: Playbook to configure IPA server Step 1
      hosts: ipaserver
      become: true
      vars_files:
      - playbook_sensitive_data.yml
      vars:
        ipaserver_external_ca: yes
    
      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: yes
  9. インストールの最終ステップ用に、別の Playbook を作成します。

    ---
    - name: Playbook to configure IPA server Step -1
      hosts: ipaserver
      become: true
      vars_files:
      - playbook_sensitive_data.yml
      vars:
        ipaserver_external_cert_files: "/root/chain.crt"
    
      pre_tasks:
      - name: Copy "{{ groups.ipaserver[0] + '-chain.crt' }}" to /root/chain.crt on node
        copy:
          src: "{{ groups.ipaserver[0] + '-chain.crt' }}"
          dest: "/root/chain.crt"
          force: yes
    
      roles:
      - role: ipaserver
        state: present

関連情報

  • フォワードポリシーのデフォルト設定は、man ページの ipa-dns-install(1) に記載される --forward-policy の説明を参照してください。
  • ipaserver ロールが使用する DNS 変数の詳細は、/usr/share/doc/ansible-freeipa ディレクトリーの README-server.md ファイルにある DNS Variables セクションを参照してください。