28.10. 使用 Ansible 安装配置为使用 eDNS 的 IdM 客户端


使用 Ansible 加密所有 DNS 查询以提高安全性,使用 DNS-over-TLS (DoT)安装身份管理(IdM)客户端。

以下示例应用 强制的 DoT 策略,并要求客户端只使用 eDNS 查询。

先决条件

  • 您在使用 Ansible 版本 2.15 或更高版本。
  • 您已安装了 ansible-freeipa 软件包。
  • 示例假定 secret.yml Ansible vault 存储了 ipaadmin_password,并且您可以访问存储保护 secret.yml 文件的密码的文件。
  • 您已通过客户端上的 TLS 为 DNS 配置解析器。

流程

  1. 在控制器上,创建一个名为 install-client-edns.yml 的 playbook,其中包含一个任务来安装启用了 eDNS 的 IdM 客户端:

    ---
    - name: Playbook to configure an IdM client with eDNS enabled
      hosts: ipaclients
      become: true
      vars_files:
      - /home/user_name/MyPlaybooks/secret.yml
      vars:
        ipaadmin_password: "{{ ipaadmin_password }}"
        ipaclient_domain=idm.example.com
        ipaclient_dns_over_tls=true
    
      roles:
      - role: freeipa.ansible_freeipa.ipaclient

    如果在客户端通信的 IdM 服务器上关闭 DNSSEC 验证,您还必须通过在 playbook 的 vars 部分中设置 ipaclient_no_dnssec_validation = true 来在客户端上禁用它。否则,对于客户端,TLS 上的 DNS 无法正常工作。

  2. 运行 Ansible playbook:

    $ ansible-playbook --vault-password-file=password_file -v -i ~/MyPlaybooks/inventory ~/MyPlaybooks/install-client-edns.yml

验证

  1. 在 IdM 客户端上,查看 /etc/unbound/unbound.conf

    $ cat /etc/unbound/unbound.conf
  2. 验证配置是否包含 IdM 服务器的 IP 地址和主机名。

故障排除

  1. 在 IdM 客户端上,运行 DNS 查询来触发流量:

    $ dig <domain_name>
  2. 查看 IdM 服务器上的日志,以验证查询是否已通过 DoT 路由。
Red Hat logoGithubredditYoutubeTwitter

学习

尝试、购买和销售

社区

關於紅帽

我们提供强化的解决方案,使企业能够更轻松地跨平台和环境(从核心数据中心到网络边缘)工作。

让开源更具包容性

红帽致力于替换我们的代码、文档和 Web 属性中存在问题的语言。欲了解更多详情,请参阅红帽博客.

关于红帽文档

Legal Notice

Theme

© 2026 Red Hat
返回顶部