RHEL 10 加入 AD:Windows Server DC 与 realm join
This content is not available in your language yet.
RHEL 加入 AD 的关键不在 realm join 本身,而在 DC 可用、DNS 指向 DC、时间同步、客户端包齐全。本页用一台 Windows Server 2025 DC 和一台 RHEL 10.2 客户端走完整流程。
| 角色 | 主机 | 系统 | IP |
|---|---|---|---|
| DC | 962 WIN-7LEKJTEQMDM | Windows Server 2025 Std Eval | 192.168.2.246 |
| Client | 390 | RHEL 10.2 | 192.168.2.232 |
| Domain | lab.runentlinux | NetBIOS LAB | — |
E3 记录:plans/content-expansion/evidence/rhel/rhel-ad/run.json;截图在同目录。
Windows Server 的两个坑
Section titled “Windows Server 的两个坑”1. 磁盘:用 SATA,不要直接 virtio-scsi
Section titled “1. 磁盘:用 SATA,不要直接 virtio-scsi”Windows Setup 默认没有 virtio-scsi 驱动,磁盘列表会是空的。把 40G 盘挂成 sata0 后可见:
qm set 962 --delete scsi0 --sata0 local-lvm:vm-962-disk-02. 网卡:用 e1000,不要 virtio-net
Section titled “2. 网卡:用 e1000,不要 virtio-net”virtio-net 在 Setup/SConfig 里同样没有驱动,SConfig 会显示“没有可用网络适配器”。改成 e1000:
qm set 962 --net0 e1000,bridge=vmbr2改完后 SConfig 能看到 Intel(R) PRO/1000 MT Network Connection。
- 选 Windows Server 2025 Standard Evaluation(Core);
- 接受 EULA,Custom 安装到 40G 磁盘;
- 首次登录设置 Administrator 密码;
- SConfig → 15 退出到 PowerShell;
- 设静态 IP 与 DNS:
new-netipaddress -interfaceindex 6 -ipaddress 192.168.2.246 ` -prefixlength 24 -defaultgateway 192.168.2.2set-dnsclientserveraddress -interfaceindex 6 -serveraddresses 127.0.0.1- 装 AD DS 并提升林:
install-windowsfeature ad-domain-services -includemanagementtoolsinstall-addsforest -domainname lab.runentlinux -domainnetbiosname lab -installdns -forceDSRM 密码用与 Administrator 相同的实验密码;完成后自动重启。
验证 DC DNS
Section titled “验证 DC DNS”dig +short @192.168.2.246 _ldap._tcp.dc._msdcs.lab.runentlinux SRV# 0 100 389 win-7lekjteqmdm.lab.runentlinux.有 SRV 记录,客户端才能 realm discover。
390 上:
sudo dnf -y install realmd sssd sssd-tools krb5-workstation oddjob-mkhomedirDNS 必须指向 DC(本次临时在 /etc/resolv.conf 顶部加 nameserver 192.168.2.246):
realm discover lab.runentlinuxlab.runentlinux type: kerberos realm-name: LAB.RUNENTLINUX domain-name: lab.runentlinux configured: no server-software: active-directory client-software: sssdsudo realm join -U Administrator lab.runentlinux密码交互;成功后:
realm listlab.runentlinux type: kerberos realm-name: LAB.RUNENTLINUX domain-name: lab.runentlinux configured: kerberos-member server-software: active-directory client-software: sssd验证身份与票据
Section titled “验证身份与票据”uid=762600500([email protected])gid=762600513(domain [email protected])groups=...,762600512(domain [email protected]),...klistDefault principal: [email protected]Valid starting Expires Service principal11/05/26 16:54:43 11/06/26 02:54:43 krbtgt/[email protected]No such realm found:DNS 没指向 DC,或 SRV 记录缺失;realm join卡住:时间偏差 >5 分钟、445/389 被挡、DC 未启动;id查不到:sssd未运行、use_fully_qualified_names配置、缓存未刷新;- 客户端改 DNS 后失联:本次 393 在
nmcli con up后进入 emergency mode,未作为客户端;改用 390。
- DC 静态 IP、DNS 指向自己;
-
_ldap._tcp/_kerberos._tcpSRV 可查; - 客户端装 realmd/sssd/krb5-workstation;
- 客户端 DNS 指向 DC;
- 时间同步;
-
realm discover识别 active-directory; -
realm join成功、realm list为 kerberos-member; -
id/kinit/getent验证。
未实测与边界
Section titled “未实测与边界”- 未测试 GPO 下发;
- 未测试 SSSD 域用户 SSH 登录/sudo 规则;
- 未测试多 DC/站点;
- 393 因网络变更进入 emergency mode,未完成客户端验证。
- RHEL 10 SELinux 上下文 — 家目录/sssd 权限
- RHEL 10 网络排障 — DNS/端口
- 官方:Integrating RHEL systems into an Active Directory environment
以下截图来自 PVE 上的实测环境,仅保留关键步骤。







更多过程截图
Section titled “更多过程截图”展开查看完整过程(33 张)
































