Linux – getting multicast on a virtual interface on linux

ifconfiglinuxroute

I create a virtual network interface with:

ifconfig eth0:1 192.168.0.1 netmask 255.255.255.0

but when I ping the multicast address:

ping 224.0.0.1

my virtual interface does not respond.

Why?

Best Answer

224.0.0.1 is disabled by default on linux 2.6+ hosts. From http://kerneltrap.org/node/16225

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

I was able to reproduce this with my debian desktop at home:

From my 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

On my debian box:

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

Then again on the 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
Related Topic