domain-name-system – 了解DNS解析器之间的区别

domain-name-system – 了解DNS解析器之间的区别,第1张

概述介绍 在尝试调试内部网本地的网络问题时,很明显curl主机nslookup和dig的行为方式不同. dig和host返回有问题的URL的IP地址,curl和nslookup返回: curl: (6) Could not resolve host: internal.site.company.com 和 nslookup: can't resolve 'internal.site.company.c 介绍

在尝试调试内部网本地的网络问题时,很明显curl主机nslookup和dig的行为方式不同. dig和host返回有问题的URL的IP地址,curl和nslookup返回:

curl: (6) Could not resolve host: internal.site.company.com

nslookup: can't resolve 'internal.site.company.com`

上下文

虽然这无关紧要,但本质上是为问题提供了更多的背景,这个问题发生在docker-machine之上和之后(在虚拟​​机和并行上使用docker-machine进行测试确切).它所托管的docker-machine和容器都在/etc/resolv.conf中具有所需内部DNS服务器的正确IP地址.还可以从无法解析名称的计算机访问所需URL的IP地址.如上所述,地址是内部站点,我们的DNS服务器也是内部站点.可以从安装了docker-machine的计算机访问该站点并进行解析.

问题

这让我想到了……

1)在引擎盖下,挖掘和主机的做法与cURL和nslookup有什么不同?

2)什么可能阻止浏览器或卷曲解析URL主机和挖掘成功解析名称的方式?

建立

dig -v:DiG 9.11.1

host -v:host 9.11.1

卷曲-V:卷曲7.49.1

docker version:Version 17.06.0-ce-mac19(18663)频道:稳定

Boot2Docker version 17.06.0-ce,build head : 0672754
解决方法 我希望curl给我们解析器库,它将使用/etc/nsswitch.conf主机规范中列出的名称服务提供程序.如果这不包括DNS,则不会发生DNS解析. nslookup没有记录使用此文件,但根据您的经验,它可能会出现.通常,此数据由名称服务缓存守护程序缓存.如果守护程序失败,即使其他配置正确,您也可能会遇到此类问题.

host和dig是纯DNS查找程序.它们都只通过DNS解析名称.他们不会使用文件或其他非DNS提供程序解析名称.我希望他们直接使用/etc/resolv.conf中的信息.

总结

以上是内存溢出为你收集整理的domain-name-system – 了解DNS解析器之间区别全部内容,希望文章能够帮你解决domain-name-system – 了解DNS解析器之间的区别所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/web/1093188.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-05-28
下一篇 2022-05-28

发表评论

登录后才能评论

评论列表(0条)

保存