6.2. 使用 ad_integration RHEL 系统角色将 RHEL 系统直接连接到 AD
您可以通过运行 Ansible playbook,使用 ad_integration
系统角色配置 RHEL 系统和 AD 域之间的直接集成。
从 RHEL8 开始,RHEL 默认不再支持 RC4 加密。如果无法在 AD 域中启用 AES,您必须启用 AD-SUPPORT
加密策略,并在 playbook 中允许 RC4 加密。
RHEL 服务器和 AD 之间的时间必须同步。您可以通过在 playbook 中使用 timesync
系统角色来确保这一点。
在本例中,RHEL 系统通过使用 AD Administrator
用户和存储在 Ansible vault 中的此用户的密码加入 domain.example.com
AD 域。playbook 还设置 AD-SUPPORT
加密策略,并允许 RC4 加密。为确保 RHEL 系统和 AD 之间的时间同步,playbook 会将 adserver.domain.example.com
服务器设置为 timesync
源。
先决条件
- 您已准备好控制节点和受管节点。
- 以可在受管主机上运行 playbook 的用户登录到控制节点。
-
用于连接到受管节点的帐户具有
sudo
权限。 AD 域控制器上的以下端口已开放,并可从 RHEL 服务器访问:
表 6.1. 使用 ad_integration 系统角色将 Linux 系统直接集成到 AD 所需的端口 源端口 目的地端口 协议 Service 1024:65535
53
UDP 和 TCP
DNS
1024:65535
389
UDP 和 TCP
LDAP
1024:65535
636
TCP
LDAPS
1024:65535
88
UDP 和 TCP
Kerberos
1024:65535
464
UDP 和 TCP
Kerberos 更改/设置密码(
kadmin
)1024:65535
3268
TCP
LDAP 全局目录
1024:65535
3269
TCP
LDAP 全局目录 SSL/TLS
1024:65535
123
UDP
NTP/Chrony (可选)
1024:65535
323
UDP
NTP/Chrony (可选)
步骤
创建包含以下内容的 playbook 文件,如
~/playbook.yml
:--- - name: Configure a direct integration between a RHEL system and an AD domain hosts: managed-node-01.example.com roles: - rhel-system-roles.ad_integration vars: ad_integration_realm: "domain.example.com" ad_integration_password: !vault | vault encrypted password ad_integration_manage_crypto_policies: true ad_integration_allow_rc4_crypto: true ad_integration_timesync_source: "adserver.domain.example.com"
验证 playbook 语法:
$ ansible-playbook --syntax-check ~/playbook.yml
请注意,这个命令只验证语法,不会防止错误但有效的配置。
运行 playbook:
$ ansible-playbook ~/playbook.yml
验证
显示 AD 用户详情,如
administrator
用户:$ getent passwd administrator@ad.example.com administrator@ad.example.com:*:1450400500:1450400513:Administrator:/home/administrator@ad.example.com:/bin/bash
其他资源
-
/usr/share/ansible/roles/rhel-system-roles.ad_integration/README.md
file -
/usr/share/doc/rhel-system-roles/ad_integration/
directory