dig和nslookup/ping的DNS解析方式区别

[问题现象]

自己创建了一个内网的DNS Server并且把主域的子域NS解析到这台内网的DNS(网络是通的). 使用如下操作:

客户端默认使用公网的DNS

  1. 使用dig命令来查看某一个域名的解析,能够得到A记录.

    dig @8.8.8.8 a.xxxx.com +trace 

    clipboard.png

  2. 使用nslookup/ping 来解析相同的域名,得到的是

    Server:        8.8.8.8
    Address:    8.8.8.8#53
    
    ** server can't find a.xxx.com: SERVFAIL

客户端直接配置内网DNS的地址

所有的解析方式都正常.

[问题提问]

  1. 明显dig和nslookup/ping的解析方式有些区别, 是哪些区别呢? (是协议的区别还是工作原理的区别?).

  2. 如果要实现这个架构 需要怎么来解决这个问题. 怀疑的点是

    • flglns2.dnspod.net这个域名解析做了一些限制.

    • 内网的DNS Server少配置了哪些内容导致获取的结果有问题.

  3. 像这种情况有没有好的快速定位问题的方式推荐.

先谢谢.

阅读 13.1k
1 个回答
新手上路,请多包涵

我这边测试的结果是,如果你直接让NS记录指向一个IPV4的地址,是解析不了的;需要将NS指向一个域名,如dns.example.com,然后再加一条A记录,使得这个dns.example.com指向你的dns服务器的ipv4地址,这样是可行的。仅供参考

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
宣传栏