dig、nslookup、telnet 和 curl 的不同 DNS 查找结果

dig、nslookup、telnet 和 curl 的不同 DNS 查找结果

我的 Debian 7 机器上的一堆工具对某个域名应该解析为的 IP 地址存在奇怪的分歧:

$ dig www.ip-camera-beveiliging.com
[...]
;; ANSWER SECTION:
www.ip-camera-beveiliging.com. 60 IN    A   85.17.33.164

$ nslookup www.ip-camera-beveiliging.com
[...]
Non-authoritative answer:
Name:   www.ip-camera-beveiliging.com
Address: 85.17.33.164

$ telnet www.ip-camera-beveiliging.com 80
Trying 50.57.203.17...
Connected to www.ip-camera-beveiliging.com.

$ curl -v http://www.ip-camera-beveiliging.com/
* About to connect() to www.ip-camera-beveiliging.com port 80 (#0)
*   Trying 50.57.203.17...

前两个结果符合我的预期,后两个结果则显示一些低俗的广告页面。我很想知道这是怎么发生的。

编辑:我apt-get upgrade一个小时前就运行过,并且nscd是升级包之一。我重新启动了 nscd,问题就解决了。感谢 Michael 的建议!

答案1

唔...神经胶质细胞是名称服务缓存守护进程。您在结果中看到的不一致可能是由过时/缓存的查找引起的。

你是当然您需要运行 nscd 吗?如果不使用它,您的查询将使用您的 DNS 服务器,我认为您会得到更好的结果。如果您没有理由启用 nscd,请考虑将其关闭。

答案2

这个问题可以追溯到 2014 年。然而,在最新的systemd配置发行版中,尝试刷新systemd-resolved

systemctl restart systemd-resolved

相关内容