在Linux上的虚拟接口上获取组播

我创build了一个虚拟networking接口:

ifconfig eth0:1 192.168.0.1 netmask 255.255.255.0

但是当我ping多播地址时:

ping 224.0.0.1

我的虚拟接口不响应。

为什么?

Linux 2.6+主机默认禁用224.0.0.1。 来自http://kerneltrap.org/node/16225

 echo "0" > /proc/sys/net/ipv4/icmp_echo_ignore_broadcasts 

我能够在家里用我的debian桌面重现这一点:

从我的MacBook:

 $ ping 224.0.0.1 PING 224.0.0.1 (224.0.0.1): 56 data bytes 64 bytes from 10.4.1.84: icmp_seq=0 ttl=64 time=0.227 ms 64 bytes from 10.4.1.8: icmp_seq=0 ttl=64 time=6.676 ms 

在我的debian框中:

 # echo "0" > /proc/sys/net/ipv4/icmp_echo_ignore_broadcasts 

然后再次在MacBook上:

 $ ping 224.0.0.1 PING 224.0.0.1 (224.0.0.1): 56 data bytes 64 bytes from 10.4.1.84: icmp_seq=0 ttl=64 time=0.301 ms 64 bytes from 10.4.1.12: icmp_seq=0 ttl=64 time=1.467 ms # my debian box 64 bytes from 10.4.1.8: icmp_seq=0 ttl=64 time=1.924 ms