Why isn't my Linux box forwarding multicast packets?

Why isn't my Linux box forwarding multicast packets?

Post by Wei » Fri, 27 May 2005 05:09:18



My setup is as follows:

A ---------> B ---------> C
        eth0   eth1

A: 192.168.1.224
B eth0: 192.168.1.219 eth1: 192.168.1.711
C: 192.168.7.111

A and B are both out-of-box redhat 9 machine. C is windows 2000. The
traffic flows as the arrow's direction. The B is the multicast router
and I want multicast packets coming out from A to be forwarded from
SubnetAB to Subnet BC.

I enabled packet forwarding on B (echo 1 > /proc.../ip_forward) and it
worked I can ping C from A. I also added a route for 224.0.0.1 on B
(route add -net 224.0.0.0/4 netmask 240.0.0.0 dev eth0), and I am
really only interested in uni-directional multicast forwarding.

I compiled mrouted and started it with everything set as default.

./mrouted -d

Afterwards, I can see the multicast packets coming in from eth0, but
they never were forwarded to eth1.

tcpdump output on B:

B:>tcpdump -i eth1 ip multicast

15:27:03.145280 192.168.7.111 > 239.7.7.8: igmp v2 report 239.7.7.8
[ttl 1]
15:27:04.422349 192.168.7.211 > dvmrp.mcast.net: igmp v2 report
dvmrp.mcast.net (DF) [ttl 1]
15:27:04.512361 192.168.7.211 > all-routers.mcast.net: igmp v2 report
all-routers.mcast.net (DF) [ttl 1]
15:27:07.040699 192.168.7.211 > dvmrp.mcast.net: igmp dvmrp Probe [tos
0xc0]  [ttl 1]
15:27:11.155794 192.168.7.111 > 224.224.1.100: igmp v2 report
224.224.1.100 [ttl 1]

As you can see here, C was trying to join the 224.224.1.100 multicast
group.

B:>tcpdump -i eth0 ip multicast

15:33:52.230373 192.168.1.224.8100 > 224.224.1.100.8100: udp 188 (DF)
[ttl 1]
15:33:52.230380 192.168.1.224.8100 > 224.224.1.100.8100: udp 188 (DF)
[ttl 1]
15:33:52.230385 192.168.1.224.8100 > 224.224.1.100.8100: udp 188 (DF)
[ttl 1]
15:33:52.230390 192.168.1.224.8100 > 224.224.1.100.8100: udp 132 (DF)
[ttl 1]
15:33:52.230394 192.168.1.224.8100 > 224.224.1.100.8100: udp 8 (DF)
[ttl 1]

As you can see here, the UDP multicast packet traffic is going very
well on eth0.

The kernel is a vanilla 2.4.20-31.9 i686 kernel. The likely multicast
routing related options had all been compiled in.

CONFIG_IP_MROUTE=y
CONFIG_IP_MULTICAST=y

What am I missing? This had been puzzling me for the past few days. Any
help would be appreciated! Thanks!

Wei

 
 
 

Why isn't my Linux box forwarding multicast packets?

Post by Wei » Fri, 27 May 2005 05:15:05



> My setup is as follows:

> A ---------> B ---------> C
>         eth0   eth1

> A: 192.168.1.224
> B eth0: 192.168.1.219 eth1: 192.168.1.711

ugh. should have double checked the post before submitting it.

B eth1 should be 192.168.7.211

Thanks!

Wei

 
 
 

1. Why isn't Linux box "pingable" by name?

I only know enough about networking to make me dangerous...

I am using a Linksys DSL Router w/4-port switch to run a small home
network, sharing the DSL Internet connection.

I used to have 4 Windows boxes on this network, but I recently
switched one of them to being a Linux file server (SuSe Pro 8.0).

On the Linux box, I can get to the Web via a browser, and I can ping
the other nodes on the home network by their IP addresses.  But if I
try to ping them by name, I get a "not found" message.  Here's what I
find to be a kicker, tho: on the same Linux box, if I ping an
*Internet* node by name, that works, i.e. if I ping www.yahoo.com it
works.

From any of the Windows boxes (2 XP and 1 2000 Server) I can ping the
Linux box by IP but not by name.  Another thing I find puzzling: I've
set up a Samba share on the Linux box and I can map a drive to it from
the Win2K box, using its *name*!  But I can't ping it from there using
its name!

So, I'm guessing the Linux box must be using my DSL-provider's DNS
servers to resolve hostnames like "www.yahoo.com", but what is
supposed to resolve my local nodenames for it?  Are my local nodenames
NetBIOS names?  If so, where does the translation LOCAL_NODENAME ->
LOCAL_IP_ADDR take place?  Why does this work between any two of the
existing Windows boxes but not to or from the Linux box?

I wouldn't bother with this, except for the nagging suspicion that if
I can't ping by name, there's likely some other functionality that's
broken, too.

Thanks for any help...

2. Linux on Sun hardware....

3. LINUX box won't forward packets between PPP interfaces.

4. ilu vs omniOrb Corba

5. Forwarding multicast packets in Linux, for different subnets.

6. vi editor FAQ (Frequently Asked Question List), Part 1/2

7. Why won't the network forward packets in a dual-homed setup?

8. Newbie fall down go boom! :-)

9. Why it's a good thing FreeBSD isn't as popular as Linux

10. multicast packets forwarding status

11. Forwarding of multicast packets between two subnets with two NICS - Does not work

12. Forwarding (OSPF) multicast packets

13. Linux box DNS isn't working