DNS查询解析外网域名返回SERVFAIL

原创
2020/04/03 00:36
阅读数 8.2K

搭建内部DNS服务时,查询解析内部域名成功。查询解析外部域名时返回如下:

nslookup www.baidu.com 10.10.10.10
...
server can't find www.baidu.com: SERVFAIL

DNS服务器拦截报文如下:

tcpdump -i eth0 port 53
18:35:08.466852 IP 192.168.1.1.9532 > CentOS77.domain: 9797+ A? www.baidu.com. (31)
18:35:08.467373 IP CentOS77.38117 > ns.gy.gz.cn.domain: 42931+ A? www.baidu.com. (31)
18:35:08.533218 IP ns.gy.gz.cn.domain > CentOS77.38117: 42931 3/0/0 CNAME www.a.shifen.com., A 14.215.177.38, A 14.215.177.39 (90)
18:35:08.533625 IP CentOS77.domain > 192.168.1.1.9532: 9797 ServFail 0/0/0 (31)

以上结果显然DNS服务已经从外部DNS服务器拿到了查询的IP地址。所以问题应是我们的DNS配置有问题,经查找资料,解决如下:

# 注释named.conf文件中的以下语句
include "/etc/named.root.key";
# 或者清空该文件
: > /etc/named.root.key
# 重启DNS即可
service named restart

查询得知该文件是bind9 DNSSEC特性,服务启动默认会加载该文件,以启用该特性。更进一步看:

# DNSSEC向导
https://ftp.eenet.ee/pub/isc/dnssec-guide/html/dnssec-guide.html
https://www.digitalocean.com/community/tutorials/how-to-setup-dnssec-on-an-authoritative-bind-dns-server--2
展开阅读全文
打赏
0
0 收藏
分享
加载中
更多评论
打赏
0 评论
0 收藏
0
分享
返回顶部
顶部