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

29

我是在Ubuntu系统上运行的,使用默认的Docker桥接网络。我已经将Zookeeper、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

1
似乎其他人也在遇到相似的问题,即使有选项可用。参考链接如下:https://forums.docker.com/t/resolved-service-name-resolution-broken-on-alpine-and-docker-1-11-1-cs1/19307/19,https://github.com/docker-library/busybox/issues/27和https://github.com/moby/moby/issues/29398。 - Tarun Lalwani
1个回答

37

这是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中进行修复。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接