domain-name-system – OSX上的多播主机名查找

前端之家收集整理的这篇文章主要介绍了domain-name-system – OSX上的多播主机名查找前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我的OSX计算机上的主机名查找有问题.根据Apple的 HK3473文档,它为v10.6说:

Host names that contain only one label in addition to local,for example “My-Computer.local”,are resolved using Multicast DNS (Bonjour) by default. Host names that contain two or more labels in addition to local,for example “server.domain.local”,are resolved using a DNS server by default.

这不符合我的测试.如果我尝试在本地计算机上打开到远程端口的连接:

telnet example.domain.local 22

然后,它将在A和AAAA查找旁边的多播DNS中查找IP地址.这会导致每次查找都有两秒的查找超时.这是很多!

当我尝试使用IPv4时,它不会使用多播查询获取远程地址只是简单的A查询.

telnet -4 example.domain.local 22

当我尝试使用IPv6时:

telnet -6 example.domain.local 22

然后它将再次使用多播DNS和AAAA进行查找,并再次发生2秒超时延迟.

我试图为我的/etc/resolver/domain.local和/etc/resolver/local.1创建一个解析器条目,但它们都没有工作.

有没有办法禁用“两个或多个标签添加到本地”域的多播查找,或者只是为选定的子域(domain.local)禁用它?

谢谢!

更新#1

感谢@mralexgray用于scutil –dns命令,现在我可以在列表中看到我的域名,但它在订单中已经很晚了:

DNS configuration

resolver #1
  domain : adverticum.lan
  nameserver[0] : 192.168.1.1
  order   : 200000

resolver #2
  domain : local
  options : mdns
  timeout : 2
  order   : 300000

resolver #3
  domain : 254.169.in-addr.arpa
  options : mdns
  timeout : 2
  order   : 300200

resolver #4
  domain : 8.e.f.ip6.arpa
  options : mdns
  timeout : 2
  order   : 300400

resolver #5
  domain : 9.e.f.ip6.arpa
  options : mdns
  timeout : 2
  order   : 300600

resolver #6
  domain : a.e.f.ip6.arpa
  options : mdns
  timeout : 2
  order   : 300800

resolver #7
  domain : b.e.f.ip6.arpa
  options : mdns
  timeout : 2
  order   : 301000

resolver #8
  domain : domain.local
  nameserver[0] : 192.168.1.1
  order   : 200001

如果我能将解析器#8移动到位置#2,它可能会起作用.

更新#2

不可能不会工作,因为192.168.1.1上的本地DNS服务器回答了domain.local请求,而它在mDNS(解析器#2)之前.

更新#3

我可以减少/System/Library/SystemConfiguration/IPMonitor.bundle/Contents/Info.plist文件中的mDNS超时,这会加快查找速度,但这不是解决方案.

解决方法

您是否尝试在/ etc / hosts文件中定义名称
10.0.1.1                ns1 ns1.local
10.0.1.200              www www.local
2001:470:20::9999       www ns1 www.example.net ns1.example.net

在本地子网上运行的其他DNS服务是什么?您可以通过明确地提供本地DNS来解决许多问题,而且非常简单 – 使用DNSMasq,我全心全意地建议您这样做.

您也可能只需要使用dscacheutil -flushcache↩或一个好的sudo killall mDNSResponder flush来清除东西.在极端的事情,我不建议 – 你也可以完全禁用mDNSResponder(Bonjour等)↝

launchctl unload -w /System/Library/LaunchDaemons/com.apple.mDNSResponderHelper.plist
launchctl unload -w /System/Library/LaunchDaemons/com.apple.mDNSResponder.plist

10.5之后的系统通过一个非常令人困惑的指令链提供DNS解析,这些指令由configd强制执行,对于旧的“系统踢球者”来说是明显的.要获得其状态↝scutil–dns↩,它显示DNS解析的系统顺序,例如↯

DNS configuration

resolver #1 domain: example.net search domain[0]: example.net nameserver[0]: 127.0.0.1 order: 200000

resolver #2 domain: local options: mdns timeout: 2 order: 300000

resolver #3 domain:254.169.in-addr.arpa options: mdns timeout: 2 order: 300200

resolver #4 domain: 8.e.f.ip6.arpa options: mdns timeout: 2 order: 300400

如果您仍然遇到问题,请确保此列表“对您而言有意义” – 然后从那里开始……

原文链接:https://www.f2er.com/html/229254.html

猜你在找的HTML相关文章