【问题标题】:Where multicast packets could be filtered?在哪里可以过滤多播数据包?
【发布时间】:2014-03-06 08:01:53
【问题描述】:

我在我的路由器上安装了 openWRT 发行版并在其中启用了对 avahi 的支持。我的目标是在我的网络中发现网络服务。

我将我的 PC 插入 LAN 端口并提供已公布的服务。在路由器上,我在网桥接口上运行 tcpdump:tcpdump -i br0 -vvn udp port 5353

在 avahi 浏览执行期间,我收到输出: 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)

但在我的 PC 上,wireshark 在那次通话期间没有显示任何多播查询,因此没有找到服务。

这是否意味着路由器以某种方式过滤多播数据包? 我知道的唯一方法是过滤 ebtables,它没有显示过滤 mDNS 地址:

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 

这些多播数据包可以在哪里被过滤/丢弃?

【问题讨论】:

    标签: multicast avahi ebtables


    【解决方案1】:

    我发现在我的路由器中启用了监听,我认为这对应于IGMP snooping

    禁用后,多播 DNS 查询到达目的地并显示为 wireshark。

    这是我所做的(当然路径可能因不同的硬件和发行版而异):

    echo "0" > /proc/hwswitch/default/snooping
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-07-01
      • 1970-01-01
      • 2017-03-31
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多