Problem: Routing multicast

Werner Schram wrschram at
Sat Feb 13 21:59:41 UTC 2010

On Sat, Feb 13, 2010 at 12:26 PM, Nazeem نجم لدين <nazeemnss at> wrote:
> hi,
> Consider 3 pc's,
> pc1: Has two 2 NIC's , eth0 ( and eth1 (
> pc2: eth0 (, connected to eth0 of pc1 and has default gateway
> pc3: eth0 (, connected to eth1 of pc1 and has default gateway
> ie,
>  we have two subnets.
> [eth0] ---------- [eth0] |
> [eth1]------------ [eth0]
>        pc2                                               pc1
>                               pc3
> Now how do I route multicast packets, so that I can ip-multicast from pc2 to
> pc3 or vice-versa?
> The problem is that if trying to add route on pc 1, 224/4 has to be routed
> to both eth0 and eth1 depending upon from whether they come from pc2 or pc3.

I havent done to much with multicast, but maybe I can help you to get
on your way. You noted that it is imposible to define a route in your
routing table, which is correct. Multicast routing is a kind of
anomally (in respect to common unicast traffic) which is handled by a
userspace daemon on linux (take a look at pimd).

The userspace daemon keeps track of the hosts that are subscribed to
the multicast traffic, and routes the traffic accordingly.
Subscriptions are handled using the IGMP protocol (so you should allow
IGMP traffic in your firewalls and ACLs). If you have a host that
sends multicast, it should route it to a host that can handle
multicast subscriptions.

So in your situation, you should run a multicast daemon on pc1 (pimd
for example). I suspect this is related to the VPN setup from your
earlier mail? If this is the case, do you only want multicast traffic
to go trough the vpn, or all traffic? The first case might be a bit
hard to setup so it might be easier to start with routing all traffic
trough the VPN and then work to splitting off the normal traffic. To
get multicast working, you should setup your hosts (pc2 and pc3) to
route 224/4 to the server running the multicast daemon (pc1). You can
do this by using static routes or by changing your dhcp configuration.
If you route all traffic (so unicast and multicast) to pc1, you will
have the default gateway set to pc1, in which case you shouldn't
change anything.

Note that errors are presented using the ICMP protocol, so if things
don't work as expected, it might be a good idea to use wireshark or
tcpdump to monitor those packets.

This page has a pretty good explanation about what goes in in
multicast (although section 2.3 doesn't explain the IGMP subscription
mechanism, which I find slightly confusing):

I hope this helps.


More information about the ubuntu-users mailing list