Kev*_*ane 21 bonjour mdns windows-10 windows-10-v1803
我正在寻找一种在 Windows 10 中解析 .local 地址的方法。
Windows 本身也包括 mDNS 支持,但这似乎只适用于现代 API 应用程序。
过去,建议一直是安装 Apple 的 Bonjour,例如How to enable mDNS on Windows (7)。不幸的是,这似乎不再起作用。
据我所知,问题在于 Windows 自己的进程之一 DNSCache 现在正在侦听端口 5353。
如何让 mDNS 为非现代应用程序工作?
Kev*_*ane 16
在发布我的问题几分钟后,我最终找到了答案。
解决方法是首先在 Windows 中禁用 mDNS。这必须在注册表中完成。像往常一样,标准警告适用:编辑注册表不适合胆小的人,如果操作不当,可能会损坏您的 Windows 安装,无法修复。
导航到注册表项 Computer\HKEY_LOCAL_MACHINE\SOFTWARE\Policies\Microsoft\Windows NT\DNSClient。如果密钥不存在,您可能需要创建它。
然后将值 EnableMulticast 添加为 REG_DWORD,值为 0。
重启。
然后安装卓悦。在这次黑客攻击之后,mDNS 按预期工作。
更新:在最近的版本中(在 Windows 10 10.0.19042 上测试),似乎 Windows 可以为所有应用程序开箱即用地解析 mDNS,根本不需要注册表黑客或 Bonjour。我在Pro版上测试过,不知道Home版是否也适用。
根据Windows 10 和 Windows Server 2016 文档的组策略主页,您必须使用策略设置关闭链接本地多播名称解析 (LLMNR)DNSClient::EnableMulticast。
如果通过以下步骤启用 DNSClient::EnableMulticast 策略设置,则可以禁用 LLMNR:
regedit在“打开”框中键入,然后单击“确定”。找到并单击DNSClient注册表路径中的子项:
HKEY_LOCAL_MACHINE\Software\Policies\Microsoft\Windows NT\
DNSClient子项不存在,则通过右键单击Windows NT子项创建一个新的注册表项。DNSClient.右键单击DNSClient子项。
EnableMulticast.EnableMulticast以编辑值0如果此过程要长时间创建批处理文件并以管理员身份运行:
enable_mdns.bat使用您喜欢的文本编辑器创建一个文件。REG ADD "HKLM\Software\Policies\Microsoft\Windows NT\DNSClient" /V "EnableMulticast" /D "0" /T REG_DWORD /F
Run Code Online (Sandbox Code Playgroud)
.bat文件。| 归档时间: |
|
| 查看次数: |
48934 次 |
| 最近记录: |