企业DNS、DHCP与IPAM统一治理
DNS、DHCP和IP地址管理经常由不同人员、表格和设备分别维护:DNS里有记录,DHCP里有租约,交换机里有MAC,资产系统又有另一套IP。故障时无法快速回答“这个地址属于谁、为什么被分配、域名指向哪个环境”。DDI治理的目标,是把名称、地址、租约和资产关系纳入统一流程,而不是只替换一台DNS服务器。
本文覆盖权威DNS、递归DNS、DHCP高可用、IPAM数据模型、动态更新和审计。涉及生产DNS变更时,应保留第二解析路径、配置备份和回滚方案。
一、明确三类职责
| 系统 | 管理对象 | 关键问题 |
|---|---|---|
| DNS | 名称到地址及其他记录 | 谁可解析、由谁修改、TTL和生效范围 |
| DHCP | 地址、租期和客户端选项 | 谁获得地址、租约多久、如何高可用 |
| IPAM | 网段、地址、VRF、VLAN和占用关系 | 哪些地址可用、归属谁、是否冲突 |
IPAM应作为地址规划的事实来源,DNS与DHCP通过审批或自动化消费它的数据。不要让多个系统都可以独立创建同一个IP记录而没有冲突检测。
二、建立分层地址模型
推荐的数据层级:
区域/园区
└─ VRF或网络域
└─ VLAN
└─ 前缀/子网
└─ IP地址
└─ 接口、资产、DNS记录、租约
每个前缀至少记录:
- CIDR、网关、VRF、VLAN和位置;
- 用途、环境、负责人和分配策略;
- DHCP池、保留区、静态区和基础设施地址区;
- DNS区域、反向区域和默认TTL;
- 路由、安全域、互联网暴露和NAT关系;
- 使用率、预留量和扩容阈值。
状态不要只分“已用/未用”,建议包括:可用、预留、DHCP、静态、占用、隔离、待回收和历史。地址回收应有冷静期,避免旧DNS缓存或设备配置仍引用该IP。
三、DNS架构分层
企业DNS应区分:
- 权威DNS:负责组织拥有的区域,不递归任意互联网请求;
- 递归DNS:代表客户端查询外部和内部权威服务器;
- 转发器:将特定区域或其他查询交给上游;
- 隐藏主服务器:仅负责区域编辑与传送,不直接面对普通客户端;
- 辅助服务器:通过区域传送保留权威副本。
权威与递归角色混合会扩大攻击面,也让访问控制、缓存和故障边界变得模糊。至少使用两个处于不同故障域的权威服务器,递归DNS也应提供冗余地址。
四、区域与记录治理
常见记录的管理重点:
| 类型 | 用途 | 常见错误 |
|---|---|---|
| A/AAAA | 主机地址 | 环境指错、旧地址未清理 |
| CNAME | 别名 | 链过长、与其他记录冲突 |
| MX | 邮件路由 | 优先级和反垃圾配置不一致 |
| TXT | 验证、SPF等 | 临时验证记录长期残留 |
| SRV | 服务发现 | 端口、权重或目标名错误 |
| PTR | 反向解析 | 正反向不一致 |
| CAA | 限制可签发CA | 遗漏导致证书申请失败 |
每次变更应记录业务负责人、来源工单、旧值、新值、TTL、计划生效时间和回滚值。删除记录前先降低TTL并确认调用方,不要直接删除仍被客户端缓存或硬编码的名称。
五、TTL不是越短越好
短TTL有利于快速切换,但会增加查询量和对权威DNS可用性的依赖。长TTL减少查询,却会延长错误记录和灾备切换的收敛时间。
建议:
- 普通稳定记录使用适中的默认TTL;
- 计划切换前至少一个原TTL周期提前降低;
- 切换完成并稳定后恢复正常TTL;
- 不要在故障发生后才降低TTL,旧值已经进入缓存;
- 评估应用、JVM、操作系统和本地DNS缓存是否遵守权威TTL。
六、递归DNS安全
递归服务只应对授权网段开放,防止成为开放递归和放大攻击节点。控制项包括:
- 允许查询、递归和缓存访问的客户端范围;
- Response Rate Limiting与异常查询检测;
- DNSSEC验证和失败监控;
- 上游转发器、根提示和网络出口冗余;
- 缓存命中率、SERVFAIL、NXDOMAIN和延迟;
- 管理接口与查询接口分离;
- 临时调试日志有时间限制,避免长期高负载。
查询日志可能包含用户访问行为和内部域名,应限制访问、保留周期和外发范围。
七、DHCP地址池设计
一个网段不要把所有地址都放进动态池。可划分:
.1 网关
.2-.20 网络、时间、DNS等基础设施
.21-.50 服务器或静态设备
.51-.220 DHCP动态池
.221-.240 DHCP保留或临时扩容
.241-.254 网络设备、HA或未来用途
实际范围按子网规模和组织规则确定。地址池还应记录:
- 默认租期和最大租期;
- 网关、DNS、域名、NTP和其他选项;
- PXE、IP电话、无线和终端分类;
- 保留地址与MAC或客户端标识;
- 冲突检测、异常客户端和耗尽告警。
租期越短,地址回收越快,但DHCP交互和数据库写入增加;租期越长,离线设备占用地址的时间更久。
八、Kea DHCP高可用
Kea可使用HA Hook构建Load Balancing或Hot Standby。设计时应明确:
- 两台服务的角色与通信地址;
- 租约数据库是本地还是共享;
- Partner Down判定与人工接管流程;
- 网络分区时如何避免双重分配;
- 两端时钟是否同步;
- 维护期间如何暂停、同步和恢复状态机;
- DHCP Relay的双服务器地址是否正确。
高可用测试至少包括:进程停止、主机断电、单向网络中断、数据库不可用、Relay到单节点不通和恢复后的租约同步。只测试正常关闭不足以证明故障切换可靠。
九、DHCP与DNS动态更新
DHCP可以在分配租约时动态更新DNS,但必须处理:
- 正向与反向区域;
- 客户端主机名是否合法且是否唯一;
- 旧租约释放后记录何时删除;
- 静态记录是否允许被动态更新覆盖;
- 更新认证是否使用TSIG或GSS-TSIG;
- DHCP与DNS故障时的重试和补偿;
- 多DHCP节点是否产生重复更新。
不要允许任意终端通过主机名覆盖关键服务记录。动态区域和人工维护区域可以分离,并使用命名规则限制更新范围。
十、IP分配工作流
推荐流程:
- 用户提交用途、网络域、环境、数量和有效期;
- IPAM检查前缀容量、地址冲突和保留规则;
- 审批后创建预留记录;
- 自动生成DNS、DHCP或设备配置草案;
- 变更系统执行并验证正向、反向和连通性;
- 资产系统绑定设备、接口和负责人;
- 到期前提醒续期,不续期则进入待回收;
- 清理DNS、DHCP、ACL和监控后再释放地址。
批量自动化应使用API和幂等操作。失败时要能区分“IPAM已预留但DNS未创建”等中间状态,并提供补偿任务。
十一、DNSSEC与传送安全
DNSSEC用于验证DNS数据完整性和来源,不提供查询内容加密。运维重点包括:
- KSK/ZSK或自动密钥策略;
- DS记录提交与父区状态;
- RRSIG有效期和自动重签;
- 密钥轮换、备份和应急恢复;
- 辅助服务器是否获得已签名区域;
- 验证失败、时间异常和算法兼容监控。
区域传送应限制到授权辅助服务器,使用ACL和TSIG保护。不要向任意来源开放AXFR。
十二、监控指标
DNS:
- 查询量、类型、来源和峰值;
- NOERROR、NXDOMAIN、SERVFAIL和REFUSED比例;
- 递归延迟、缓存命中率和上游失败;
- 区域传送、SOA序列号和辅助同步延迟;
- DNSSEC验证失败和证书/密钥到期;
- 进程、端口、CPU、内存和网络丢包。
DHCP:
- 地址池使用率、预计耗尽时间;
- DISCOVER/OFFER/REQUEST/ACK和NAK;
- 租约分配延迟、数据库错误和冲突;
- HA伙伴状态、心跳、租约同步和Partner Down;
- Relay来源、异常客户端和拒绝请求。
IPAM:
- 前缀和地址利用率;
- 无负责人、过期、重复和孤立记录;
- IPAM、DNS、DHCP、CMDB之间的差异;
- 自动化任务失败和未完成中间状态。
十三、排障路径
域名无法解析
dig app.example.com A
dig @<AUTHORITATIVE_SERVER> app.example.com A +norecurse
dig +trace app.example.com
依次确认客户端使用的DNS、递归缓存、权威记录、区域同步、DNSSEC和网络ACL。
DHCP无法获得地址
确认客户端链路、VLAN、Relay、服务器作用域、地址池、分类规则、HA状态和租约数据库。抓包时按DORA过程检查请求是否到达以及回复返回路径。
地址冲突
同时查询IPAM、DHCP租约、交换机MAC表、ARP/邻居表、无线控制器和资产系统。不要只通过Ping不通就判断地址空闲。
十四、迁移旧系统
- 导出区域、记录、地址池、保留和租约;
- 清洗重复、过期、无负责人和格式错误数据;
- 建立新IPAM模型并只读同步;
- 在隔离环境导入DNS和DHCP配置;
- 对比记录数量、SOA、反向区域和地址池;
- 选择低风险区域或网段试点;
- 双轨观察查询与租约;
- 切换客户端或Relay;
- 保留旧系统只读一段时间再下线。
迁移不能只验证几个常用域名,应自动对比全部记录、TTL、区域序列号、租约和保留地址。
十五、上线检查清单
- [ ] IPAM是地址规划的事实来源,数据层级和状态明确;
- [ ] 权威DNS与递归DNS角色分离并跨故障域部署;
- [ ] 区域传送、动态更新和递归范围均受认证或ACL保护;
- [ ] DHCP池、静态区、基础设施区和保留区没有重叠;
- [ ] DHCP HA经过断电、网络分区和恢复同步演练;
- [ ] DNS/DHCP/IPAM/CMDB差异可定期发现;
- [ ] TTL变更、DNS切换和地址回收有完整流程;
- [ ] 查询日志和资产数据按敏感信息管理;
- [ ] 地址池耗尽、SERVFAIL、HA异常和区域不同步有告警;
- [ ] 变更、自动化和回收都可以追溯到负责人和工单。