I think you need mdns between subnets for it to be discovered, but not 100% sure, sometimes its better to check the type of traffic with tcpdump, but normally they do use mdns.
This will not be super easy since most of it needs to be done via the command line or winscp.
What you want is to install a plugin named avahi-dbus-daemon.
When done, you download winscp, and putty.
for putty you type in:
192.168.8.1, port 22 and click on ok, then you get asked for a user and password these are the same as the ui, user is root.
Option 1: (use vim text editor on the router)
Then you type: cd /etc/avahi
and press enter, then you use vi avah(press tab to auto complete name)
, great you now see the configuration of avahi in front of you, to write you press the ins/insert button on your keyboard and to stop you press esc, use :
to access vim options, we want to save, that would be: :wq
which means write quit, :q
is quiting and :q!
is quiting without saving.
Option 2 (easier):
Use winscp, connect the same as putty with protocol scp, then on the right scroll back to the root directory and navigate to /etc/avahi
, edit avahi-daemon.conf
.
Under [reflector]
you add or change it to enable-reflector=yes
, and for security under [server]
you add this line deny-interfaces=pppoe-wan,wan,wgclient
note that alllow-interfaces
exists too but it fails on recent OpenWrts.
Then on putty type /etc/init.d/avahi-deamon stop && /etc/init.d/avahi-deamon start
, then type logread
to see what avahi listens to and check google Home.
It is possible you still need a firewall rule, try setting forwarding to accept on iot.
And try to add zone iot on zone lan only as destination forward.
What avahi is supposed to do is:
it listens on all subnets to the broadcast mdns traffic and mirrors it as 0.0.0.0, each subnet has a gateway, basicly the 0.0.0.0, and this way avahi broadcast the mdns to other subnets.