Forwarding mDNS on second OpenWRT device

I have the following setup:

2 Networks configured on an Archer C7 running OpenWrt 22.03.5: LAN and IOT.
Within IOT there is a hub running Homebridge that advertises mDNS.

I want to access my Smart Devices from LAN, so the Archer is running avahi-daemon using default config except enable-reflector=yes.

When I'm connected to the Archer directly everything works as expected and I get mDNS advertisements

I run another OpenWrt 22.03.5 on a Raspi 4 that handles WAN and LAN. The Archers LAN interface is a Client in Raspi4 LAN.
The Raspi handles DHCP for LAN and has a static route to the Archer for the IOT Network.
Also on the Raspi there are three interfaces: eth0 -> Going to Archer, eth1 -> WAN, eth2 -> going to Unifi AP in another part of my house. (both eth0 and eth2 are connected to br_lan)

All IOT devices can be accessed from either side, however when I'm connected to the AP that's connected to the Raspi I do not get mDNS advertisements from IOT lan.

I would have considered LAN a single network and therefore expected the reflected mDNS ads to hop over to the other side of the Raspi, but that doesn't seem to be the case.

Do I need to re-reflect, or where are my advertisement lost?

To have mDNS between subnets try with reflector enabled

But wouldn't all of LAN be the same subnet?

Normally with the default configuration yes.

But you have options which work very well:

Add in /etc/avahi/avahi-daemon.conf (if the config don't exist it is the global config there I forgot its name because I'm on phone)

deny-interfaces=br-device,br-anotherone
allow-interfaces=br-bla,br-bla2

I guess only using allow-interfaces would be a better suite.

I set it up with allow interfaces and it seems to be working.
Still don't really understand why I need to do this to be honest...

1 Like

Normally if the reflector is set to yes it will use mdns on each local interface, mostly fine in alot of use cases.

However this on a larger scale with bigger networks could create issues with load and latency, but it could also conflict for example if you ran a instance with iptv and igmpproxy.

These options give you more a fine control over it as per interface mdns control, its optional :+1:

Thank you for the explanation.
I understand why allow-interfaces makes sense.
What I do not understand is why i need to enable reflection on the second router at all, as I'm under the impression that the broadcast should reach the whole Network (192.168.0.0/24) without reflection.

That depends how router 2 is setup.

Usually I think the best setup you want for router 2 is a dumb ap.

Meaning that it has no firewall, and the network and interfaces it gets are from router 1, it basicly only sents out the traffic from router 1 through the router 2 antennas this can be accomplished via vlans.

See:

However if router 2 hosts its own nat/firewall and is not a dumbap, you have to allow multicast from wan and I think you can just remove the wan firewall zone from interface wan, and then aswell I think use avahi there on the lan on router 2.

Router 2 is basicly just a dhcp client on router 1 in that regards, so the avahi instance on router 2 automaticly sents multicast traffic to router 1.

Also note if there is a switch in between that the switch needs to be able to do multicast otherwise it strips out multicast packets.