Forward mDns from one subnet to another

forwardingmdns

Is there an ipfw rule that can easily forward mDns packets from one subnet to another? I have a Snow Leopard Server machine serving as the gateway between the two subnets and would like for machines in each subnet to see the services available in the other subnet. The gateway machine is already confirmed as configured correctly such that packets route correctly between the two subnets (ping works, traceroute shows the subnet hop, etc). My problem in designing a ipfw rule is that I don't know how to instruct that I would like multicast packets addressed to 224.0.0.251:5353 on en0 to be addressed to the same ip/port but on fw0 (the other interface). I attempted a rule such as

fwd 192.168.10.1 log udp from 192.168.1.0/24 to 224.0.0.251 recv en1

to force the packet to hop over to the other interface (from en1 to fw0), but no dice. The ipfw log shows that the rule is being triggered by packets, but tcpdump isn't showing any packets on the other interface. Also, the only other firewall rules in place are the divert port 8668 and rule #65535 "allow any to any".

Any suggestions? Thanks.

Best Answer

I've tried to have this work as expected for a long time.

All I found is that these multicast packets will not cross subnets.

However, the only real solution I have found is to use an mDNS Reflector daemon such as avahi-daemon on a system which spans across subnets.

It also sounds like you could benefit from Wide Area Bonjour which is designed for large corporations to broadcast Bonjour / mDNS traffic across subnets.

See http://discussions.apple.com/thread.jspa?threadID=1251044