nslookup 报告“无法解析 '(null)':名称无法解析”,尽管它成功解析了 DNS 名称

Posted

技术标签:

【中文标题】nslookup 报告“无法解析 \'(null)\':名称无法解析”,尽管它成功解析了 DNS 名称【英文标题】:nslookup reported "can't resolve '(null)': Name does not resolve" though it successfully resolved the DNS namesnslookup 报告“无法解析 '(null)':名称无法解析”,尽管它成功解析了 DNS 名称 【发布时间】:2018-03-09 11:43:21 【问题描述】:

我在 ubuntu 上,我正在运行一个 docker 默认桥接网络。我有 zookeeper、kafka 的容器化版本,以及我编写的与 kafka 对话的应用程序。

我做了一个:

docker exec -it <my-app id> /bin/bash

然后在我的应用容器中运行nslookup kafka

/go # nslookup schmafka
nslookup: can't resolve '(null)': Name does not resolve

Name:      schmafka
Address 1: 172.20.0.8 docker_kafka_1.docker_default

我不明白为什么我得到输出“无法解析 '(null)'”,然后我得到了预期的 IP 地址打印出来。我试图谷歌 nslookup 和这个输出消息,但我不知道为什么会发生这种情况。

我的 /etc/resolv.conf 文件如下所示:

/go # cat /etc/resolv.conf 
search valhalla.local valhalla v
nameserver 127.0.0.11
options ndots:0

【问题讨论】:

当有选项forums.docker.com/t/…、github.com/docker-library/busybox/issues/27和github.com/moby/moby/issues/29398时,似乎其他人也面临着类似的问题 【参考方案1】:

这是 nslookup 中的错误/奇怪之处。 “无法解析”消息实际上是关于正在使用的 DNS 服务器,而不是您尝试查找的站点。

例如,这个查询(告诉 nslookup 使用 8.8.8.8 DNS 服务器查找 google.com)没有错误消息:

nslookup google.com 8.8.8.8
Server:    8.8.8.8
Address 1: 8.8.8.8 dns.google

Name:      google.com
Address 1: 172.217.164.110 sfo03s18-in-f14.1e100.net
Address 2: 2607:f8b0:4005:80b::200e sfo03s18-in-x0e.1e100.net

但是这个查询(其中 DNS 服务器为“null”)确实显示了“错误”:

UAP-AC-LR1-BZ.v4.0.42# nslookup google.com
nslookup: can't resolve '(null)': Name does not resolve

Name:      google.com
Address 1: 172.217.164.110 sfo03s18-in-f14.1e100.net
Address 2: 2607:f8b0:4005:80b::200e sfo03s18-in-x0e.1e100.net

诚然,这是误导/混淆,确实应该在 nslookup 中修复。

【讨论】:

以上是关于nslookup 报告“无法解析 '(null)':名称无法解析”,尽管它成功解析了 DNS 名称的主要内容,如果未能解决你的问题,请参考以下文章

nslookup的基本使用

Nslookup命令小结

DNS 解析调试(dig & nslookup)

nslookup命令

nslookup命令

DNS域名解析命令 nslookup