I have four networks on my machine:

  1. wired (connected only at work)
  2. wireless (connected only at home)
  3. VMWare's NAT
  4. VMWare's host-only

My OS X (10.5) seems to prefer to use VMWare's NAT over my Wireless network for machinename.local. Is there any way to change the preference baring shutting down the VMWare interfaces?


In Windows, have you tried using Run > "msconfig" to disable the "mDNSResponder" service (I believe that gets installed via iTunes)? If it's running, then I'm guessing the Bonjour traffic is being generated from Windows itself.

Otherwise, I would try the steps in this guide.

In VMWare, open the settings for the virtual machine you're using. You need to change the "Network" settings to use bridge mode, instead of NAT.

To do so, as the relevant paragraph from the above website states:

"Click on the settings of your particular virtual machine, hop over the the network, and select “Connect directly to the physical network (Bridged)”.

alt text

| improve this answer | |
  • This question isn't about a getting a virtual machine to use a given interface, it is about getting OS X to use a given network for mdns. mdns returns my address on the rather than on the network when I am on wireless. – Chas. Owens May 22 '09 at 18:35
  • Cool, I get that. That's why I suggested checking if mdnsreponder is active in your Windows virtual machine. I thought the second piece of advice might be acceptable as a workaround. If both interfaces are trying to use "machinename.local" then it's a matter of which machine gets an address first, so you would need to delay the second interface from starting. Just as though you had tw Macs with the name "MacPro.local" - eg: you get macpro.local and macpro-1.local. You need to either delay the vmware interface from starting up, or change its .local name – username May 22 '09 at 18:54
  • Have you tried running Bonjour Browser to help see what's going on? If it's Windows grabbing the name, you might be able to block outgoing Bonjour traffic (port 5353, I think) in the Win firewall – username May 22 '09 at 19:00
  • No virtual machines are currently running. – Chas. Owens May 22 '09 at 19:12
  • This is purely a case of OS X deciding to use the wrong network. – Chas. Owens May 22 '09 at 19:13

Have you checked your routing table to see which interface is preferred for publishing to the Zeroconf multicast group?

netstat -rn | grep 224

Will return all the routing information for reserved multicast groups. Look for an entry for; this is the group used for MDNS. If there isn't a specific entry for this group, then check the entry for with the most specific mask. It may be bound to your VMWare interface, or if multiple routes are installed, the VMWare one may have the lowest metric.

Assuming that this is the problem, a variant of the following command (run as root):

route add -host dev ra0

Where 'ra0' is the devicename of your wireless interface will install a specific route forcing traffic for the Zeroconf group out via your wireless interface. This is obviously manual configuration that probably won't persist across a reboot; I'm not that familiar with OS X. Can anyone advise on the 'preferred' way of modifying the host routing table under OS X?

| improve this answer | |
  • I don't have any entries for – Chas. Owens May 24 '09 at 17:37

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.