常见问题
按症状找原因,按安装、登录、AD 信任、许可、客户端、复制分组。多数问题出在 DNS 或时间。
先跑这三条,八成问题能定位:
sudo ipactl status # 哪个服务没起
chronyc tracking # 时间偏移
getent hosts $(hostname -f); dig +short -x <本机IP> # 正反解
| 症状 | 原因 | 处理 |
|---|
ipa-server-install 报主机名不可解析或 loopback | IPA_HOSTNAME 没有正反解,或 /etc/hosts 把它挂在 127.0.0.1 / ::1 行 | 修 DNS 或 /etc/hosts 指真实 IP;nsswitch.conf 去掉 myhostname |
| 在 DNS 转发器校验失败 | IPA_FORWARDERS 不可达,或留了 IPA_AUTO_FORWARDERS=true 抓到 resolv.conf 的坏地址 | 三选一见快速开始 |
时间相关任务 FAILED | 裸机 IPA_NO_NTP=true 且没有外部对时 | IPA_NO_NTP=false |
setup_dns 子参数被拒 | IPA_SETUP_DNS=false 时又传了 DNS 子选项 | 用 bundle 里的 render-inventory.sh,它会自动中和 |
| collections 版本不匹配 | 控制节点 ansible-core 与打包时不同 | 用包内 collections/,在该目录内 ansible-galaxy collection install -r requirements.yml |
| ansible ping 不通 | ssh 用户没有 NOPASSWD sudo,或私钥错 | ansible -i deploy/inventory.generated.yml all -m ping 单测 |
重跑 playbook 在 ipa-server-install 卡住 | 上次失败没清 | ipa-server-install --uninstall -U 后再跑,见部署 |
装到 configuring mod_ssl 报 ssl.conf 不存在 | 目标机缺 mod_ssl | dnf install mod_ssl,包内 RPM 仓有 |
| 装到 httpd keytab 或 pkispawn 报目录不存在 | 目标机不干净,/var/lib/ipa/gssproxy、/var/log/pki 之类被删过 | rpm -Va --nofiledigest | grep ^missing 全盘查,dnf reinstall 对应包 |
| 验收第 ⑤ 条(未激活写操作)没被拒 | 许可闸门没生效 | 查 /etc/httpd/conf.d/ipa.conf 的 WSGIScriptAlias /ipa 指向 /opt/idmatrix-license/gate_wsgi.py;status.json 可读 |
| 症状 | 原因 | 处理 |
|---|
| 浏览器证书不受信任 | 出厂用 IPA 内置 CA | 正常。导入 /etc/ipa/ca.crt 到浏览器信任库,或换客户 CA 的证书 |
ERR_CERT_AUTHORITY_INVALID 且怎么都进不去 | 用 IP 访问 | 用 FQDN |
| 管理台打不开 | 443 没放行或被占 | ss -lntp | grep :443;firewalld 放行 |
kinit admin 报 Clock skew too great | 时差超过 5 分钟 | 对时 |
| 登录后每个写操作都 403 | 未激活,或该模块不在许可里 | 看 status.json 的 valid 和 mods |
| 某个导航组不见了 | 许可不含该模块 | 同上,不是缓存 |
| 经典界面能用、新管理台空白 | dist/ 没部署或路径不对 | IDM_WEBUI_DIST_DST 下有 index.html;ipa.conf 有 /ipa/modern-ui 别名 |
| 症状 | 原因 | 处理 |
|---|
trust-add 找不到 AD 域 | 没建转发区 | ipa dnsforwardzone-add <AD域> --forwarder <AD DNS> --skip-overlap-check |
WERR_CONNECTION_REFUSED | 用了双向信任 | 单向:--range-type=ipa-ad-trust,不加 --two-way |
KRB5KDC_ERR_SKEW | 与域控时差超过 5 分钟 | 同一 NTP 源 |
信任建了,id <AD用户>@<AD域> 无返回 | sssd 没取到,或 winbind 没跑 | ipactl status 看 smb / winbind;sss_cache -E |
AD 用户 id 正常但 ssh 拒绝 | HBAC 没放行 | ipa hbactest --user <AD用户>@<AD域> --host <主机> --service sshd |
| 管理台没有 Trusts | 许可不含 AD 域信任模块 | 企业版 |
更多见 AD 信任前置。
| 症状 | 原因 | 处理 |
|---|
| 红横幅「未激活」 | 出厂态,没上传 .lic | 激活页取指纹,上传 .lic |
| 「未授权在此服务器」 | 指纹不符:换机、重装、克隆、machine-id 变了 | 用新指纹重签 |
上传返回 许可证文件为空或过大 | curl --data-binary @ 路径不对 | 用绝对路径 |
status.json degraded: true | 看 reason:过期、超主机数、吊销、指纹不符 | 对应处理 |
ipa host-add 报错 | 受管主机数到上限 | ipa host-find --sizelimit=0 | tail -1 看数量;扩容重签 |
httpd 日志找不到 LicenseModuleLocked | 闸门拒绝不写日志 | 只看 status.json |
改了 idmatrix-license.service 的 env 不生效 | 少了 daemon-reload + systemctl start | timer 一天一次 |
| 症状 | 原因 | 处理 |
|---|
ipa-client-install 报 Failed to upload host SSH public keys | 1.0.2 之前的许可闸门把主机公钥算进 ssh-keys 模块 | 升到 1.0.2;已注册的主机 ipa host-mod <FQDN> --sshpubkey="$(cat /etc/ssh/ssh_host_ed25519_key.pub)" 补 |
| 客户端用户登录慢或超时 | sssd 找不到 KDC,DNS SRV 不通 | 客户端 dig +short _kerberos._tcp.<域> SRV |
| 首次登录没家目录 | 客户端没开 mkhomedir | authselect enable-feature with-mkhomedir,起 oddjobd |
| sudo 规则不生效 | sssd 缓存 | sss_cache -E;sudo -l 看拿到了什么 |
| 症状 | 原因 | 处理 |
|---|
Invalid credentials (49),DS 日志 gss_accept_sec_context | 新主机缺 /etc/krb5.conf.d/crypto-policies,KDC 签 camellia 票 | 见添加第二台 |
topologysegment 是 both 但 user-add 不同步 | RUV 里有僵尸 replica id | dsconf ... cleanallruv --replica-id <id> |
replica 装机 CA_UNREACHABLE | 第一台许可缺证书签发模块(1.0.2 前) | 升级或补证 |
带着这些找 Reallysec:
sudo ipactl status
cat /var/lib/idmatrix-license/status.json
sudo ipa-healthcheck --failures-only
sudo tail -100 /var/log/ipaserver-install.log # 装机问题
sudo tail -100 /var/log/dirsrv/slapd-<REALM>/errors # 复制问题