How to enable mDNS on Windows 10 build 17134?

57,596

Solution 1

I ended up finding the answer minutes after posting my question.

The solution is to first disable mDNS in Windows. This has to be done in the registry. As usual, the standard warning applies: editing the registry is not for the faint of heart, and doing it incorrectly can damage your Windows installation beyond repair.

Navigate to the registry key Computer\HKEY_LOCAL_MACHINE\SOFTWARE\Policies\Microsoft\Windows NT\DNSClient. If the key does not exist, you may need to create it.

Then add the value EnableMulticast as a REG_DWORD, with the value 0.

Reboot.

Then install Bonjour. After this hack, mDNS works as expected.

Update: In recent versions (tested on Windows 10 10.0.19042), it appears that Windows resolves mDNS for all applications out of the box, without needing a registry hack or Bonjour at all. I tested it on the Pro version, and do not know if it applies to the Home version as well.

Solution 2

According to the Group Policy Home for Windows 10 and Windows Server 2016 documentation you have to Turn off the Link Local Multicast Name Resolution (LLMNR) using the DNSClient::EnableMulticast policy setting.

You can disable the LLMNR if you enable the DNSClient::EnableMulticast policy setting by following these steps:

  1. Press Win + R, type regedit in the Open box, and then click OK.
  2. If prompted by User Account Control, click Yes to open the Registry Editor.
  3. Locate and then click the DNSClient subkey in the registry path: HKEY_LOCAL_MACHINE\Software\Policies\Microsoft\Windows NT\

    1. If the DNSClient subkey does not exits create a new Registry Key by Right-click on Windows NT subkey.
    2. Select New and then Key
    3. Name it as DNSClient.
  4. Right-click on DNSClient subkey.

  5. Select New and then DWORD (32-bit) Value
  6. Name it as EnableMulticast.
  7. Double-click on EnableMulticast to edit the value with 0
  8. Reboot your PC.

If this process is to long create a batch file and run it as administrator:

  1. Create an enable_mdns.bat file using your favorite text editor.
  2. Copy and paste this snippet:
REG ADD "HKLM\Software\Policies\Microsoft\Windows NT\DNSClient" /V "EnableMulticast" /D "0" /T REG_DWORD /F
  1. Save it and Run it as administrator.
  2. If prompted by User Account Control, click Yes to run the .bat file.
  3. Reboot your PC.
Share:
57,596

Related videos on Youtube

Kevin Keane
Author by

Kevin Keane

Updated on September 18, 2022

Comments

  • Kevin Keane
    Kevin Keane almost 2 years

    I am looking for a way to resolve .local addresses in Windows 10.

    Windows itself also includes mDNS support, but that appears to only be available for Modern API applications.

    In the past, the advice has always been to install Apple's Bonjour, for instance How to enable mDNS on Windows (7). Unfortunately, that seems to no longer be working.

    As far as I can tell, the problem is that one of Windows' own processes, DNSCache, is now listening on port 5353.

    How do I get mDNS to work for non-Modern applications?

  • carlossless
    carlossless about 5 years
    +1 Thanks! Just to clarify you need to reinstall bonjour if you already have it installed after changing the registry.
  • dazonic
    dazonic over 4 years
    Thanks for the one liner, works great
  • Erhannis
    Erhannis almost 3 years
    I wrote a program that used mDNS, and was confused why it only sometimes worked. Adding the registry hack above seems to have fixed it. Do you know: what does DNSCache do? What side effects might disabling it have? Is there a way to play nicely with it on an un-hacked windows install?
  • Kevin Keane
    Kevin Keane almost 3 years
    The entry is DNSClient, not DNSCache. It disables the mDNS implementation that Windows itself provides. See the answer from Teocci for details. The problem with the Windows implementation is that it is only available to Universal applications, but not to Win32 applications, which is most of it. At the same time, it does listen on port 5353, which prevents Bonjour from running. So once you free up port 5353 by disabling Microsoft's limited implementation, you can then run Bonjour and get the full benefit of mDNS.