配置项
customer.env 逐项说明。模型 A 的 .env 与模型 B 的 customer.env 共用同一套变量,只有连接方式和几个容器相关项不同。
装机前填一个文件:模型 B 是 deploy/customer.env(从 customer.env.example 复制),模型 A 是一体机的 .env(从 appliance.env.example 复制)。render-inventory.sh 把它渲染成 ansible inventory;缺必填项会报出字段名。
文件含明文口令。chmod 600,装完留在控制节点,不回传、不进版本库、不发给客户。
连接方式
| 变量 | 说明 | 模型 A | 模型 B |
|---|---|---|---|
ANSIBLE_CONNECTION | 安装器怎么连到目标 | local | ssh,或 all-in-one 的 local |
IPA_HOST_ALIAS | inventory 里的目标标识 | 任意,local 时忽略 | 目标 FQDN |
身份参数
每个客户必改。装完不能改。
| 变量 | 说明 | 约束 | 示例 |
|---|---|---|---|
IPA_HOSTNAME | IPA 服务器 FQDN | 与 hostname -f 一致,正反解通,不是 loopback | idm.corp.example |
IPA_REALM | Kerberos realm | 全大写,通常是域名大写 | CORP.EXAMPLE |
IPA_DOMAIN | IPA 域 | 全小写 | corp.example |
IPA_NETBIOS | NetBIOS 名,AD 信任用 | 全大写,15 字符以内,与 AD 域的不重名 | CORP |
口令
| 变量 | 用途 |
|---|---|
IPA_ADMIN_PASSWORD | admin 账号:登管理台、kinit admin、日常管理 |
IPA_DM_PASSWORD | Directory Manager:备份恢复、复制拓扑维护、cn=config 级操作。不参与复制,每台 IPA 各自一份 |
两个用不同的强口令。装完存进密码库,交付清单里要有。Directory Manager 口令丢了可以用 root 在本机通过 LDAPI 重设(dsconf slapd-<REALM> config replace nsslapd-rootpw=...),不用停机,但多台 IPA 要各设一遍。
POSIX ID 范围
默认够中小规模。AD 用户的 uid / gid 不在这个范围里,信任建立时自动生成独立的 <AD域>_id_range,按 SID 算法映射,不用手动配。
| 变量 | 默认 | 说明 |
|---|---|---|
IPA_IDSTART | 60000 | 本地用户 / 组的起始 id |
IPA_IDMAX | 62000 | 上限。2000 个本地账号够用;不够改大,装后改要走 ipa idrange-mod |
IPA_RID_BASE | 63000 | RID base,adtrust 用 |
IPA_SECONDARY_RID_BASE | 70000 | 次 RID base |
DNS
| 变量 | 默认 | 说明 |
|---|---|---|
IPA_SETUP_DNS | true | IPA 内建 DNS,自动维护 A / PTR / SRV。false 时要在客户 DNS 手工加记录,且 IPA_FORWARDERS 等全部忽略 |
IPA_AUTO_FORWARDERS | true | 从目标机 /etc/resolv.conf 取上游转发器。生产改成 false,改用 IPA_FORWARDERS 显式指定 |
IPA_FORWARDERS | 空 | 上游 DNS,多个用引号空格分隔。装机会连它做校验,不可达即失败 |
IPA_FORWARD_POLICY | first | first:先问转发器,失败再自己递归;only:只问转发器 |
IPA_NO_DNSSEC | true | 关 DNSSEC 校验。多数内网上游不支持 DNSSEC,开着会满屏警告 |
IPA_AUTO_REVERSE | true | 自动建反向区 |
三种摆法的对应填法在快速开始。
AD 信任
| 变量 | 默认 | 说明 |
|---|---|---|
IPA_SETUP_ADTRUST | true | 装 adtrust(smb、winbind),建信任的前提。信任本身装完后手动 ipa trust-add,见 AD 信任前置 |
没有 AD 也可以留 true,多两个服务,不影响使用。
主机、防火墙、时间
| 变量 | 模型 A | 模型 B | 说明 |
|---|---|---|---|
IPA_SETUP_FIREWALLD | false | true | 容器里没有 firewalld;裸机让安装器放行 IPA 端口 |
IPA_NO_NTP | true | false | 容器不跑 NTP;裸机让 IPA 装 chrony 并管时间 |
IPA_NO_HOST_DNS | true | 视情况 | 跳过装机前的主机 DNS 检查。裸机保持 false,让它替你查 |
模型 B 专属
只在 ANSIBLE_CONNECTION=ssh 时用。管理台和许可层由控制节点推送,路径指向本包内的目录。
| 变量 | 说明 |
|---|---|
SSH_USER | 登录目标机的用户,需 NOPASSWD sudo |
SSH_HOST | 目标 IP 或主机名 |
SSH_PRIVATE_KEY | 私钥路径。留空走 ssh-agent 或口令 |
SSH_COMMON_ARGS | 额外 ssh 参数,如 -o StrictHostKeyChecking=no。含空格要引号 |
IDM_LIC_SRC | 控制节点上的许可层源目录,<bundle>/license |
IDM_LIC_REMOTE_SRC | false。true 是模型 A 的容器挂载语义 |
IDM_WEBUI_DIST_SRC | 控制节点上的管理台源目录,<bundle>/dist |
IDM_WEBUI_DIST_DST | 目标机上的管理台目录,默认 /opt/idmatrix/dist |
all-in-one 时 SSH_* 全部留空,IDM_*_SRC 填本机解包路径。
模型 A 专属
一体机 .env 多几项驱动 compose 网络:
| 变量 | 默认 | 说明 |
|---|---|---|
IDM_IP | 192.168.58.100 | 容器在网桥上的 IP,要与 IPA_HOSTNAME 的解析一致 |
IDM_SUBNET | 192.168.58.0/24 | 网桥子网 |
IDM_HTTPS_PORT | 8443 | 宿主端口,映射到容器 443 |
容器的 /etc/machine-id 必须持久化(compose 已 bind),否则每次重建指纹变,许可失效。