How can I resolve .local addresses in Windows?
Usually .local
names are resolved using mDNS – the Linux servers probably run Avahi, OS X has it built in, and for Windows there is Apple's own Bonjour.
2020-12-14: Updated for Windows 10 built-in mDNS support.
Windows 10 (version 1511 or later)
Windows 10 handles both hostname
and hostname.local
identically: it simultaneously tries LLMNR for the bare hostname, NetBIOS for the bare hostname, and (optionally) mDNS for hostname.local. This mDNS support is not restricted to 'Modern' apps anymore.
To activate the mDNS support, set the EnableMulticast
registry value to 1:
reg add "HKLM\Software\Policies\Microsoft\Windows NT\DNSClient" /v EnableMulticast /t REG_DWORD /d 1 /f
- How to enable mDNS on Windows 10 build 17134?
Windows XP—8.x
An older version of Bonjour (v2.0) is included within Bonjour Print Services. It is also available as a Chocolatey package.
The latest version (v3.x) is not available as an independent download, but is installed as part of iTunes (and a few other applications). It is possible to use an archive manager (like 7-Zip or WinRAR) to extract Bonjour64.msi
from the iTunes installer.
As @Kevin Keane points out here (and in the comments section above), Windows 10 now clobbers mDNS port 5353 with a service that only works for modern Windows apps. So to let Bonjour back onto the port, the windows mDNS service must be quashed via the registry edit described in the link above.
In Windows 10 versions other than Home instead of the registry edit, the group policy editor can be used:
- launch gpedit.msc
- Navigate to Computer Configuration > Administrative Templates > Network > DNS Client
- Enable the "Turn off Multicast Name Resolution" policy.
I didn't have to reboot.
Caveat, I already had both iTunes and Bonjour Print Services installed. Simply uninstalling Bonjour Print Services and reinstalling didn't work -- I had to go into add-remove programs, uninstall both Bonjour and Bonjour Print Services, then reinstall Bonjour Print Services, before pinging .local addresses started working again (virtualbox host-only linux guest with avahi-daemon running). I think this is because my "Bonjour Service" service was tied to Bonjour, not Bonjour Print Services, and it wasn't re-registering itself.