Ubuntu 20.04下Bind9反向DNS区域配置遇NXDOMAIN错误求助
Bind9反向区域NXDOMAIN问题排查(Ubuntu 20.04)
核心排查步骤
1. 反向区域命名格式校验
反向区域名称必须严格遵循IP段逆向+in-addr.arpa规则:
- 例如解析
192.168.1.0/24段,区域名应为1.168.192.in-addr.arpa - 检查
named.conf.local中的zone声明,确保名称完全匹配,示例:zone "1.168.192.in-addr.arpa" { type master; file "/etc/bind/db.192.168.1"; allow-update { none; }; };
2. 反向区域文件语法检查
- 确认PTR记录格式正确:
[主机位] IN PTR [域名],对应192.168.1.10的示例:
注意:域名末尾必须加10 IN PTR server.example.com..,否则会自动拼接$ORIGIN(若存在) - 用官方工具验证文件合法性:
输出named-checkzone 1.168.192.in-addr.arpa /etc/bind/db.192.168.1OK则格式无误,否则根据提示修复语法问题
3. Bind服务状态与日志定位
- 重启服务并确认无启动报错:
systemctl restart bind9 systemctl status bind9 - 实时查看Bind日志,获取具体错误原因:
日志会明确提示区域加载失败的细节(如权限问题、路径错误、视图配置遗漏等)journalctl -u bind9 -f
4. 解析测试与缓存清理
- 指定本地Bind服务器测试反向解析:
检查输出的dig -x 192.168.1.10 @127.0.0.1SERVER字段是否指向本地服务,ANSWER SECTION是否为空 - 清除本地DNS缓存,避免旧缓存干扰:
systemd-resolve --flush-caches
5. 文件权限与视图配置检查
- 确保区域文件属主为
bind用户,权限合规:chown bind:bind /etc/bind/db.192.168.1 chmod 644 /etc/bind/db.192.168.1 - 若使用了视图(view),必须将反向区域包含在对应视图中,否则Bind会忽略该区域
额外验证
确认/etc/resolv.conf中nameserver指向127.0.0.1,避免系统调用外部DNS服务器
内容的提问来源于stack exchange,提问作者Ekaterina
相关产品推荐
相关产品推荐

