A common problem with multicasting, particularly on Linux, is the lack of a default route or multicast network route. Most systems are configured to have at least a “default” route, and on such systems, multicast messages use the default route like any other network traffic. Systems do not necessarily require a default route. Multicasting might not function correctly on systems that lack a default route. Attempts to send messages on such systems fail with a Network Unreachable message because the operating system is unable to determine the correct network interface on which to send the message.
The quick solution is to add a default route on such systems. In some environments, however, it might not make sense to add a default route. In such cases, another solution is to add a network route for the 224.0.0.0/4 block representing the multicast IP address space. On Linux, for example, issue the following command as the root user:
route add -net 224.0.0.0 netmask 240.0.0.0 dev eth0
This command tells the system to send all multicast datagrams to the eth0 network card by default. Substitute eth0 with a different interface name if applicable.