Question

I installed openWRT distro on my router and enable support of avahi in it. My goal is to discover network services in my network.

I plugged my PC to LAN port with announced services. On router I run tcpdump on bridge interface : tcpdump -i br0 -vvn udp port 5353

During avahi browse execution i receive output: root@localhost:~# avahi-browse -art

21:55:22.995004 IP (tos 0x0, ttl 255, id 0, offset 0, flags [DF], proto UDP (17), length 74)
    192.168.1.1.5353 > 224.0.0.251.5353: [udp sum ok] 0 PTR (QM)? _services._dns-sd._udp.local. (46)

But on my PC wireshark didn't show any multicast queries during that call, hence no services found.

Does it mean that router filter multicast packets somehow? Only way that i know is to filter in ebtables, which shows nothing about filtering of mDNS addresses:

root@localhost:~# ebtables -L
Bridge table: filter

Bridge chain: INPUT, entries: 1, policy: ACCEPT
-j RO_INPUT

Bridge chain: FORWARD, entries: 1, policy: ACCEPT
-j RO

Bridge chain: OUTPUT, entries: 1, policy: ACCEPT
-j IGMPPROXY

Bridge chain: RO, entries: 0, policy: RETURN

Bridge chain: RO_INPUT, entries: 0, policy: RETURN

Bridge chain: IGMPPROXY, entries: 4, policy: RETURN
-p IPv4 -o wl0.1 --ip-dst 239.0.0.0/8 -j DROP 
-p IPv4 -o wl0.2 --ip-dst 239.0.0.0/8 -j DROP 
-p IPv4 -o wl0.3 --ip-dst 239.0.0.0/8 -j DROP 
-p IPv4 -o br0 --ip-dst 239.0.0.0/8 -j DROP 

Where these multicast packets could be filtered/dropped?

Was it helpful?

Solution

I found that in my router snooping was enabled, which i think corresponds to IGMP snooping

After disabling it, multicast DNS queries reached destination and were show be wireshark.

Here what i've done (of course path could vary in different hardware and distro):

echo "0" > /proc/hwswitch/default/snooping
Licensed under: CC-BY-SA with attribution
Not affiliated with StackOverflow
scroll top