CloudLinux上VMware部署WHM的PowerDNS ns2解析与权威DNS故障咨询
WHM+PowerDNS环境下ns2权威DNS失效排查指南
基础环境信息
- 部署架构:VMware虚拟机运行CloudLinux系统,安装WHM服务,使用PowerDNS作为权威DNS引擎
- 域名规划:
domain.co.za设置为系统主机名,该域名通过Cloudflare配置A记录指向WHM服务器,计划基于该域名搭建自有DNS名称服务器
已复现故障列表
- 与系统主机名一致的
ns1.domain.co.za解析、运行正常,ns2.domain.co.za无法正常提供解析服务 - 在WHM中为其他域名配置自定义名称服务器时,触发 Authoritative Nameserver failure for domain 报错
- intoDNS检测自有域名
orginc.co.za时返回告警:被服务器列为权威DNS的节点未在父级DNS中完成登记 - 在服务器本地执行
dig ns2.domain.co.za返回REFUSED状态,无有效A记录应答,原始输出如下:
Host 20.20.20.164.in-addr.arpa. not found: 3(NXDOMAIN) [root@ns1 ~]# dig ns2.domain.co.za ; <<>> DiG 9.11.4-P2-RedHat-9.11.4-26.P2.el7_9.3 <<>> ns2.domain.co.za ;; global options: +cmd ;; Got answer: ;; ->>HEADER<<- opcode: QUERY, status: REFUSED, id: 61082 ;; flags: qr rd; QUERY: 1, ANSWER: 0, AUTHORITY: 0, ADDITIONAL: 1 ;; WARNING: recursion requested but not available ;; OPT PSEUDOSECTION: ; EDNS: version: 0, flags:; udp: 4096 ;; QUESTION SECTION: ;ns2.domain.co.za. IN A ;; Query time: 0 msec ;; SERVER: 164.20.20.20#53(164.20.20.20) ;; WHEN: Sat Feb 13 12:11:12 SAST 2021 ;; MSG SIZE rcvd: 51
核心问题定位
- 报错提示“父级DNS未登记”是当前故障的核心诱因:私有权威DNS节点的IP与域名绑定(即Glue记录)必须在父级域的解析体系完成登记,否则全球递归DNS无法识别该节点的合法性,WHM的权威校验流程也会直接拦截配置
- 之前执行dig命令得到的REFUSED结果,实际查询走的是服务器配置的上游递归DNS(即输出中显示的164.20.20.20),而非本地运行的PowerDNS服务,由于上游递归DNS中未存储
ns2.domain.co.za的解析记录,因此返回REFUSED状态,该结果不能直接代表本地PowerDNS的配置异常 - 社区提及的反向DNS(PTR)配置问题,是影响DNS服务可信度的次要因素,并非当前ns2无法被全球DNS识别的直接原因
分步操作方案
1. 校验PowerDNS本地区配置
- 注意:不要直接执行无指定DNS服务器的dig命令,该命令默认会走服务器配置的上游递归DNS,无法校验本地PowerDNS的配置正确性
- 登录WHM后台的PowerDNS管理界面,确认
domain.co.za的Zone文件内已添加两条A记录:ns1.domain.co.za指向WHM服务器公网可路由IPns2.domain.co.za指向预先分配的ns2节点公网IP(禁止使用内网地址)
- 确认
domain.co.za的NS记录已明确声明ns1.domain.co.za、ns2.domain.co.za为该域的权威DNS服务器 - 执行本地权威查询校验,指定走本地PowerDNS服务:
dig @127.0.0.1 ns2.domain.co.za A,若仍返回无记录,需在WHM后台重启PowerDNS服务,或通过pdnsutil check-zone domain.co.za命令排查区文件语法错误
2. 配置父级域Glue记录
- 由于
domain.co.za当前通过Cloudflare托管解析,需登录Cloudflare的域名管理后台,在高级DNS设置中添加对应Glue记录(自定义NS绑定):- 主机名
ns1,绑定IP为WHM服务器公网IP - 主机名
ns2,绑定IP为ns2节点的公网IP
- 主机名
- 若你在域名注册商层面管理自定义NS服务器,需同步到
domain.co.za的注册商后台完成相同的Glue记录配置,该步骤完成后,intoDNS提示的“父级未登记”告警会消失,WHM的Authoritative Nameserver failure报错也会同步解决
3. 完成反向DNS配置
- 反向DNS记录的配置权限归属于公网IP段的持有方,你方为自有硬件托管在数据中心的场景,无需申请整段IP的反向解析委派权限,只需联系托管数据中心,为你正在使用的2个公网IP提交PTR记录修改申请:
- ns1对应IP的PTR记录指向
ns1.domain.co.za - ns2对应IP的PTR记录指向
ns2.domain.co.za
- ns1对应IP的PTR记录指向
- 该配置完成后,可避免多数公共递归DNS因权威节点无有效PTR而拒绝解析应答的问题
4. 校验配置生效
- 等待15-30分钟DNS缓存同步完成后,执行公共递归DNS查询命令:
dig @8.8.8.8 ns2.domain.co.za A,确认返回你预设的公网IP - 再执行
dig @8.8.8.8 orginc.co.za NS,确认返回的ns1、ns2节点均能正常解析到对应IP,即可完成全部配置
内容的提问来源于stack exchange,提问作者Gareth Bredenkamp
相关产品推荐
相关产品推荐

