Bind9配置反向DNS返回NXDOMAIN无法解析该如何排查?
BIND9反向解析故障排查及修复方案
已识别的配置错误
- 多余的非法A记录:反向区域(in-addr.arpa后缀)仅用于存储SOA、NS、PTR三类记录,你在反向区域文件中添加的
@ IN A 116.193.190.67属于无效配置,会导致BIND加载区域文件失败。 - SOA记录不符合规范:SOA记录的第一个字段必须填写该区域的主权威DNS完整域名,你当前填写的
alice-abm.id.错误,需修改为ns1.alice-abm.id.。 - 查询时未指定自建DNS服务器:默认执行nslookup会调用系统配置的公共DNS,公共DNS不会同步你私搭DNS的解析记录,自然返回NXDOMAIN错误。
- 可选优化:反向区域文件中的
$ORIGIN 190.193.116.in-addr.arpa.属于冗余配置,named.conf.local中已经声明了区域名,@符号会自动匹配该区域,无需额外声明。
修复步骤
- 替换反向区域配置文件
/etc/bind/db.190.193.116.in-addr.arpa内容如下:
; ; BIND reverse data file for 116.193.190.0/24 ; $TTL 604800 @ IN SOA ns1.alice-abm.id. admin.alice-abm.id. ( 2024052001 ; 每次修改配置必须更新Serial号,推荐格式YYYYMMDDXX 604800 ; Refresh 86400 ; Retry 2419200 ; Expire 604800 ) ; Negative Cache TTL ; @ IN NS ns1.alice-abm.id. @ IN NS ns2.alice-abm.id. 67 IN PTR alice-abm.id.
- 校验配置并生效
# 检查全局配置语法 named-checkconf # 检查反向区域文件语法 named-checkzone 190.193.116.in-addr.arpa /etc/bind/db.190.193.116.in-addr.arpa # 重载配置生效 systemctl reload bind9
- 验证解析(指定自建DNS服务器IP查询)
# 假设你的BIND服务器IP为116.193.190.67 nslookup 116.193.190.67 116.193.190.67
公网部署补充说明
如果需要公网用户能查询到你的反向解析记录,需要向IP地址所属的运营商申请反向解析授权,将对应IP段的反向解析权指向你搭建的BIND服务器,否则公网DNS默认不会向你的私设DNS发起查询。
内容的提问来源于stack exchange,提问作者Development FlazHost
相关产品推荐
相关产品推荐

