在具有桥接接口的服务器上进行多播

networking:

10.1.1.2和10.1.1.3在同一个networking中。 10.1.1.2 VPN服务器以接模式运行。 10.1.1.4 – VPN客户端的IP地址。 所有机器都安装了Debian 6。

我正在尝试使用iperf来testing多播。

监听器:

iperf -s -u -B 224.1.1.1 -i 1 

发件人:

 iperf -c 224.1.1.1 -u -T 32 -t 3 -i 1 

这些组合工作正常:

  1. 10.1.1.2上的监听器,10.1.1.3上的发送器
  2. 10.1.1.2上的监听器,10.1.1.4上的发送器
  3. 10.1.1.3上的监听器,10.1.1.3上的发送器
  4. 监听器10.1.1.3,发件人10.1.1.4
  5. 10.1.1.4上的监听器,10.1.1.3上的发送器
  6. 10.1.1.4上的监听器,10.1.1.4上的发送器

这些组合失败:

  1. 10.1.1.3上的监听器,10.1.1.2上的发送器
  2. 10.1.1.4上的监听器,10.1.1.2上的发送器
  3. 10.1.1.2上的侦听器,10.1.1.2上的发送器

所以,我不能从10.1.1.2发送任何组播数据包。

10.1.1.2的ifconfig:

 br0 Link encap:Ethernet HWaddr 00:25:90:e3:1e:0c inet addr:10.1.1.2 Bcast:10.1.1.255 Mask:255.255.255.0 inet6 addr: fe80::225:90ff:fee3:1e0c/64 Scope:Link UP BROADCAST RUNNING PROMISC MULTICAST MTU:1500 Metric:1 RX packets:31968583 errors:0 dropped:0 overruns:0 frame:0 TX packets:29453949 errors:0 dropped:0 overruns:0 carrier:0 collisions:0 txqueuelen:0 RX bytes:3140243824 (2.9 GiB) TX bytes:243929369766 (227.1 GiB) eth0 Link encap:Ethernet HWaddr 00:25:90:e3:1e:0c inet6 addr: fe80::225:90ff:fee3:1e0c/64 Scope:Link UP BROADCAST RUNNING PROMISC MULTICAST MTU:1500 Metric:1 RX packets:2196690402 errors:0 dropped:0 overruns:0 frame:0 TX packets:8254769825 errors:0 dropped:0 overruns:0 carrier:0 collisions:0 txqueuelen:1000 RX bytes:344354922111 (320.7 GiB) TX bytes:11202019887816 (10.1 TiB) Memory:dfb20000-dfb40000 tap0 Link encap:Ethernet HWaddr be:fb:ed:8a:ce:f9 inet6 addr: fe80::bcfb:edff:fe8a:cef9/64 Scope:Link UP BROADCAST RUNNING PROMISC MULTICAST MTU:1500 Metric:1 RX packets:163739 errors:0 dropped:0 overruns:0 frame:0 TX packets:196107 errors:0 dropped:0 overruns:0 carrier:0 collisions:0 txqueuelen:100 RX bytes:14506871 (13.8 MiB) TX bytes:28238942 (26.9 MiB) 

问题可能在哪里?

我不确定你的多播问题是在数据链路层还是在networking层。

过去,我在IP报文时遇到了以太网组播的问题, 所有具有多播地址的IP数据包被丢弃,即在第一个字节的最低有效位中设置值为1的MAC地址。

不过,我注意到某些协议的多播/广播帧正在通过这样的NLB,STP,ARP粘贴而没有问题。 所以我得出的结论是桥接以太网多播数据包最有可能看协议来做出与Etherenet多播有关的桥接决定。

由于我的networking是在以太网广播/多播没有不同的方式结构,我简单地使用ebtables广播组播帧。

请阅读我以前的post,关于这个问题在以下链接: http : //forums.debian.net/viewtopic.php?f=5&t=111338

或者,你可以设置网桥不过滤框架,而是传递给iptables做出路由决定。

不知何故重启后10.1.1.2组播开始按预期工作。 为什么发生这个事情还是个谜。