如何在 Windows 中解析 .local 地址?

Jor*_*tro 18 windows zeroconf

我的家庭网络上有一些 Linux 服务器,可以通过“hostname.local”访问,但是在使用 Windows 机器时,除非我通过 IP 地址访问,否则它们似乎无法解决此问题。

如何使我的 Windows 机器可以解析 hostname.local 地址?我知道如何编辑,C:\Windows\System32\drivers\etc\hosts但肯定有一些自动方式让 Windows 找到这些机器?

use*_*686 32

通常.local使用 mDNS 解析名称——Linux 服务器可能运行 Avahi,OS X 内置了它,而对于 Windows,则有 Apple 自己的 Bonjour。

2020 年 12 月 14 日:针对 Windows 10 内置 mDNS 支持进行了更新。

Windows 10 (版本 1511 或更高版本)

视窗10可以处理hostnamehostname.local相同:它同时尝试LLMNR对于裸露的主机名,NetBIOS进行裸主机名,用于hostname.local(任选地)的mDNS。这种 mDNS 支持不再局限于“现代”应用程序。

要激活 mDNS 支持,请将EnableMulticast注册表值设置为 1:

reg add "HKLM\Software\Policies\Microsoft\Windows NT\DNSClient" /v EnableMulticast /t REG_DWORD /d 1 /f
Run Code Online (Sandbox Code Playgroud)

Windows XP—8.x

Bonjour 打印服务中包含旧版本的 Bonjour (v2.0) 。它也可作为巧克力包装提供

最新版本 (v3.x) 不能作为独立下载提供,而是作为 iTunes(和一些其他应用程序)的一部分安装。可以使用存档管理器(如 7-Zip 或 WinRAR)Bonjour64.msi从 iTunes 安装程序中提取。

  • 安装程序现在是一个 exe,但您可以使用 WinRAR 提取它。 (5认同)
  • 我不会更新次要版本的答案。您可以使用 `msiexec /a iTunes.msi TARGETPATH=iTunes.out` 从 iTunes.msi 中提取最新版本。 (3认同)
  • 您还可以使用 7zip 等从 exe 安装程序中提取它。 (2认同)

小智 7

正如@Kevin Keane 在这里(以及上面的评论部分)指出的那样,Windows 10 现在使用仅适用于现代 Windows 应用程序的服务来破坏 mDNS 端口 5353。因此,要让 Bonjour 回到端口,必须通过上述链接中描述的注册表编辑取消 Windows mDNS 服务。

在 Windows 10 版本而不是 Home 而不是注册表编辑中,可以使用组策略编辑器:

  • 启动 gpedit.msc
  • 导航到计算机配置>管理模板>网络> DNS 客户端
  • 启用“关闭多播名称解析”策略。

我不必重新启动。

警告,我已经安装了 iTunes 和 Bonjour 打印服务。简单地卸载 Bonjour 打印服务并重新安装不起作用——我必须进入添加-删除程序,卸载 Bonjour 和 Bonjour 打印服务,然后重新安装 Bonjour 打印服务,然后 ping .local 地址再次开始工作(仅限虚拟机主机)运行 avahi-daemon 的 linux 来宾)。我认为这是因为我的“Bonjour 服务”服务绑定到 Bonjour,而不是 Bonjour 打印服务,并且它没有重新注册自己。