Jak*_*ger 13 dns bonjour osx-lion
我们公司网络xxx.companyname.local
用于本地网络上的所有服务器。每当我在 Mac 上访问其中一台服务器时,都会有 10 秒的延迟。我发现这种延迟是由 DNS 查找引起的,因为 Lion 按以下顺序解析 .local 域:
/etc/hosts
IPv6 地址/etc/hosts
IPv4 地址现在,问题是,我们没有 IPv6 网络。xxx.companyname.local
我们网络上的所有服务器都只有 IPv4 地址,而 DNS 服务器只有 A 记录。这意味着地址在第 5 步中得到解决。问题在于第 3 步在超时之前需要 10 秒!每次我连接到我们的 wiki、SVN 服务器、Kerberos 服务器等时,都会有 10 秒的延迟。
我设法通过添加如下几行来欺骗 Lion /etc/hosts
::FFFF:10.99.99.99 xxx.companyname.local
Run Code Online (Sandbox Code Playgroud)
如果我这样做,Lion 会认为该域有 IPv6 地址并在第 1 步后停止。但是,这种变通方法完全绕过了 DNS 的所有有用功能。我不想手动跟踪数十个内部域的 IP 地址!我也可以停止使用主机名而只输入 IP 地址!
所以:有人知道如何更改此查找顺序吗?还是因为我们没有 IPv6 网络而禁用 IPv6 查找?
local.
.如上所述,滥用您公司不拥有的域名,因此不应假设它可以在其中创建公司子域,这是错误的,并且是问题的一半。如果公司的计算机包括 Macintoshes(或其他任何使用 DNSSD 的计算机),那么绝对不要认为它local.
是您以这种方式随意使用的。
MacOS 10.4 确实会xxx.companyname.local.
按照您的描述进行处理。但这在操作系统的后续版本中发生了变化。MacOS 10.5 仅将两个标签名称传递给多播 DNS。xxx.companyname.local.
MDNS 不处理诸如此类的三标签名称。MacOS 10.6 更进一步,并尝试检测 DNS 服务器是否被错误配置为具有local.
区域并采取相应措施。
您至少应该将 Macintosh 配置为在其中包含一个公司/etc/resolver/
名称.local
文件,search_order 1
其中列出了您的代理 DNS 服务器的当前 IP 地址。但是,正如 Apple 所说,这不适用于 DHCP 分配的 DNS 服务器 IP 地址会发生变化。
......这些只是逐渐变得更加复杂的bodges以适应错误的头脑。引用 Apple 的 Marc Krochmal 的话,当人们local.
以您公司的方式滥用时,“总会有一些问题” 。从(快速搜索告诉我)2002 年以来,如果不是更早的话,它就被认为是错误的。只是不要这样做。
我不了解 mac,所以无法真正提供帮助,但我想到了一个聪明的解决方法想法:如果您在互联网上的某个地方进行设置,"somedomain.com DNAME companyname.local"
- 它会在第 2 步捕获 DNAME。现在我不确定会发生什么接下来,它是否仍然会回退到 bonjour,或者因为它已经处于某个 DNS 进程的中间,所以它可能会坚持使用 DNS。