我在家里和工作中运行混合环境。我的服务器机器是 Win Vista,我有一台运行 10.5.7 的 Unibody Macbook Pro
在我的 Mac 上,我可以按名称 ping 一些家庭窗口(如果我使用全名,例如 Stallion-main.local),但其他机器,我不能。
我的机器从 DHCP 获取动态 ip,所以我无法在 mac 上编辑 hosts 文件,或者我想避免该解决方案。
当我尝试将 RDP 从我的 Mac 导入我的 Windows 机器时,这是一个 PITB;因为我必须登录我的路由器来确定我无法解析其名称的 Windows 机器的 IP 地址。
我不确定为什么有些名称可以解析,而有些则没有。
帮助我obi-wan-serverfault,你是我唯一的希望。
为什么不将 Bonjour 安装到 Windows 机器上?
在 Mac 上打开 Windows 文件共享。这将在 Mac 上激活 Samba,并让它直接查询 NetBIOS 名称。它似乎可以正确、自动地配置 WINS,尽管隐藏得令人恼火。启用共享后,大多数 Windows 操作似乎都变得更轻松了。
在 10.5 中,它位于系统首选项 -> 共享 -> 文件共享 -> 选项 <10.5 它是系统首选项 -> 共享 -> Windows 文件共享
我注意到 ubuntu 下的 .local 域也存在类似问题——也许同样的技巧可以在 mac 上使用?
这就是我所做的:
我的线最终是这样的:
主机:文件 dns mdns4_minimal mdns4
它在某些 Windows 机器上运行而不是在其他机器上运行的原因很可能是因为您在其中一些机器上安装了 Bonjour,但并不知情。许多版本的 iTunes 都会悄悄地安装 Bonjour,然后可以通过 .local 找到该机器。
最好的解决方法是从 Apple 下载 Windows Bonjour 安装程序并在每台 Windows 机器上运行它。这也将允许所有 Windows 机器为任何 Apple 客户端以及所有 Windows 客户端使用 .local 地址。
像这样的 Windows 名称解析问题往往是机器不在同一个工作组中的结果。如果您的所有机器都在同一个工作组中,它们应该能够相互浏览和交谈。如果不控制您的本地 DNS 环境,这可能是使其工作的最简单方法。
也许作为一种可行的解决方法:可以将 DHCP 配置为在主机连接时始终为其提供相同的 IP。“同一主机”由 MAC 地址定义。甚至大多数路由器都有允许您执行此操作的设置。这将为您省去试图找出 IP 地址的痛苦。
显然 OSX 中没有等效的 nsswitch.conf。
正如布伦特所说,在 Ubuntu 中,您将安装 winbind 并将“wins”添加到该 conf 文件中。
我做了很多挖掘,这是死胡同:
http://episteme.arstechnica.com/eve/forums/a/tpc/f/8300945231/m/972003839731/inc/1
+1 布伦特原油
我正在运行 Yosemite,我可以使用“smbutil”命令进行 WINS 查找
如果您的机器使用 mDNS(多播 DNS / zeroconf dns 系统,有关详细信息,请参阅 wikipedia/RFCs),可能的罪魁祸首是:
听起来像 mDNS 的原因是您特别提到您需要通过包含 .local 的全名进行查询。要检查它是否真的是 mDNS,您可以尝试使用 dig、host 或 nslookup 等工具直接查询 /etc/hosts 中列出的名称服务器,看看它们是否会给您任何合理的响应。
如果事实证明不是 mDNS 进行名称解析,请告诉我们您正在运行哪个 dhcpd 和 dns/named,检查它们的日志并查看它们是否提供任何指示,说明为什么某些 dhcp-leases 的名称没有t 已在 dns 中注册。