29.9. Ansible を使用して、統合された eDNS と外部ルート CA を備えた IdM サーバーをインストールする


ansible-freeipa パッケージで利用可能な ipaserver ロールを使用して、DNS-over-TLS (DoT) が有効になっている Identity Management (IdM) サーバーをインストールできます。

重要

enforced ポリシーまたは relaxed ポリシーのいずれかを選択できます。デフォルトでは、インストーラーは relaxed ポリシーを使用します。このポリシーは DoT を試行しますが、セキュアな接続を確立できない場合は標準の暗号化されていない DNS へのフォールバックを許可します。enforced ポリシーを適用するには、Ansible Playbook の vars セクションで ipaserver_dns_policy 変数を enforced に設定します。

統合された IdM 認証局 (CA) が発行した証明書を使用することも、外部 CA が発行したカスタム証明書を提供することもできます。証明書を提供しない場合、IdM CA はインストール中に自動的に DoT 証明書を発行します。

前提条件

手順

  1. オプション: 外部認証局が発行した DoT 用のカスタム PEM 形式の証明書とキーを使用する場合:

    1. IdM サーバーをインストールするホストに SSH で接続します。

      $ ssh root@server.idm.example.com
      Copy to Clipboard Toggle word wrap
    2. 2 つのファイルを作成し、named デーモンに所有権を割り当てます。

      # openssl req \
        -newkey rsa:2048 \
        -nodes \
        -keyout /etc/pki/tls/certs/privkey.pem \
        -x509 \
        -days 36500 \
        -out /etc/pki/tls/certs/certificate.pem \
        -subj "/C=<country_code>/ST=<state>/L=<location>/O=<organization>/OU=<organizational_unit>/CN=<idm_server_fqdn>/emailAddress=<email>" && \
        chown named:named /etc/pki/tls/certs/privkey.pem /etc/pki/tls/certs/certificate.pem
      Copy to Clipboard Toggle word wrap
    3. IdM サーバー上の SSH セッションを終了します。

      # exit
      Copy to Clipboard Toggle word wrap
  2. Ansible コントローラーで、外部 CA を使用して IdM サーバーをインストールするための手順を記述した install-server-external-ca-step1.yml という名前の Playbook ファイルを作成します。

    ---
    - name: Playbook to configure IPA server Step 1: generate CSR for IdM external CA setup
      hosts: ipaserver
      become: true
      vars_files:
      - /home/user_name/MyPlaybooks/secret.yml
      vars:
        ipaserver_domain: idm.example.com
        ipaserver_realm: IDM.EXAMPLE.COM
        ipaserver_hostname: server.idm.example.com
        ipaadmin_password: "{{ vault_admin_password }}"
        ipadm_password: "{{ vault_dm_password }}"
        ipaserver_setup_dns: true
        ipaserver_dot_forwarders:
          - "<server_ip>#<dns_server_hostname>"
        ipaserver_external_ca: true
        ipaserver_dns_over_tls: true
        ipaserver_no_dnssec_validation: true
        ipaserver_auto_reverse: true
    
      roles:
        - role: freeipa.ansible_freeipa.ipaserver
    
      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
    Copy to Clipboard Toggle word wrap

    外部認証局によって発行された DoT 用のカスタム PEM 形式の証明書とキーを使用している場合は、vars セクションに以下を追加します。

    ipaserver_dns_over_tls_cert: /etc/pki/tls/certs/certificate.pem
    ipaserver_dns_over_tls_key: /etc/pki/tls/certs/privkey.pem
    Copy to Clipboard Toggle word wrap
  3. インストールの最初のステップの指示に従って、Ansible Playbook を実行します。

    $ ansible-playbook --vault-password-file=password_file -v -i ~/MyPlaybooks/inventory ~/MyPlaybooks/install-server-external-ca-step1.yml
    Copy to Clipboard Toggle word wrap
  4. コントローラー上の ipa.csr 証明書署名要求ファイルを見つけ、これを外部 CA に送信します。
  5. 次のステップの Playbook が見つけられるように、外部 CA によって署名された IdM CA 証明書と CA 証明書チェーンをコントローラーファイルシステムに配置します。
  6. IdM サーバーのインストールの 2 番目のステップ用に、次の内容を含む新しい Ansible Playbook (例: install-server-external-ca-step2.yml) を作成します。

    ---
    - name: Playbook to configure IdM server Step 2: import certificates and finalize installation
      hosts: ipaserver
      become: true
      vars_files:
      - /home/user_name/MyPlaybooks/secret.yml
      vars:
        ipaserver_domain: idm.example.com
        ipaserver_realm: IDM.EXAMPLE.COM
        ipaserver_hostname: server.idm.example.com
        ipaadmin_password: "{{ vault_admin_password }}"
        ipadm_password: "{{ vault_dm_password }}"
        ipaserver_setup_dns: true
        ipaserver_dot_forwarders:
          - "<server_ip>#<dns_server_hostname>"
        ipaserver_external_ca: true
        ipaserver_dns_over_tls: true
        ipaserver_no_dnssec_validation: true
        ipaserver_auto_reverse: true
        ipaserver_external_cert_files:
          - servercert20240601.pem
          - 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: freeipa.ansible_freeipa.ipaserver
        state: present
    Copy to Clipboard Toggle word wrap
  7. インストールの最後の手順の指示に従って、Ansible Playbook を実行します。

    $ ansible-playbook --vault-password-file=password_file -v -i ~/MyPlaybooks/inventory ~/MyPlaybooks/install-server-external-ca-step2.yml
    Copy to Clipboard Toggle word wrap

トラブルシューティング

  1. IdM サーバーに SSH 接続します。

    # ssh root@server.idm.example.com
    Copy to Clipboard Toggle word wrap
  2. unbound サービスの詳細ロギングを有効にします。

    # unbound-control verbosity 3
    Copy to Clipboard Toggle word wrap
  3. 更新された設定を適用するには、unbound サービスを再起動します。

    # systemctl restart unbound
    Copy to Clipboard Toggle word wrap
  4. unbound サービスのリアルタイムログを監視します。

    $ journalctl -u unbound -f
    Copy to Clipboard Toggle word wrap
トップに戻る
Red Hat logoGithubredditYoutubeTwitter

詳細情報

試用、購入および販売

コミュニティー

Red Hat ドキュメントについて

Red Hat をお使いのお客様が、信頼できるコンテンツが含まれている製品やサービスを活用することで、イノベーションを行い、目標を達成できるようにします。 最新の更新を見る.

多様性を受け入れるオープンソースの強化

Red Hat では、コード、ドキュメント、Web プロパティーにおける配慮に欠ける用語の置き換えに取り組んでいます。このような変更は、段階的に実施される予定です。詳細情報: Red Hat ブログ.

会社概要

Red Hat は、企業がコアとなるデータセンターからネットワークエッジに至るまで、各種プラットフォームや環境全体で作業を簡素化できるように、強化されたソリューションを提供しています。

Theme

© 2025 Red Hat