[LARTC] [HELP] Mutlicast over GRE tunnel

Zhuang Yuyao mlistz at gmail.com
Wed Sep 20 11:50:18 CEST 2006


Hi, I sent this mail to this list several days ago but got no answer.
Any help will be appreciated.

Zhuang Yuyao wrote:
> Hi,
>
> I got a problem similar to this one 
> (http://mailman.ds9a.nl/pipermail/lartc/2005q4/017614.html), GRE 
> tunnel can forward normal IP packets such as ICMP but failed to tunnel 
> multicast traffics.
>
> Here's the setup:
>
>                        192.168.20.0/24
> LAN-A--------------RtrA-------------RtrB--------------LAN-B
>      192.168.50.0/24                     192.168.60.0/24
>
> RtrA interfaces:
> eth0 192.168.20.100
> eth1 192.168.50.1
>
> HOSTA in LAN-A
> eth0 192.168.50.250
>
> RtrB interfaces:
> eth0 192.168.20.98
> eth1 192.168.60.1
>
> HOSTB in LAN-B
> eth0 192.168.60.250
>
> Here is the setup script on RtrB:
>
>      1 #!/bin/sh
>      2
>      3 END_L=192.168.20.98
>      4 END_R=192.168.20.100
>      5 GRE_L=10.0.0.4
>      6 GRE_R=10.0.0.3
>      7 MGROUP=224.0.55.55
>      8 SUBNET_R=192.168.50.0/24
>      9
>     10 /usr/sbin/iptables -F
>     11 /usr/sbin/iptables -F -t nat
>     12 /usr/sbin/iptables -P FORWARD ACCEPT
>     13
>     14 ip tunnel del gretun
>     15 ip tunnel add gretun mode gre remote $END_R local $END_L ttl 255
>     16 ip link set gretun up multicast on
>     17 ip addr add $GRE_L peer $GRE_R/24 dev gretun
>     18
>     19 ip route del $SUBNET_R via $GRE_R
>     20 ip route add $SUBNET_R via $GRE_R
>     21
>     22 /usr/sbin/smcroute -k
>     23 /usr/sbin/smcroute -d
>     24 sleep 3
>     25 /usr/sbin/smcroute -a eth1 192.168.60.250 $MGROUP gretun
>     26 /usr/sbin/smcroute -j gretun $MGROUP
>
> and the setup script on RtrA:
>      1 #!/bin/sh
>      2
>      3 END_L=192.168.20.100
>      4 END_R=192.168.20.98
>      5 GRE_L=10.0.0.3
>      6 GRE_R=10.0.0.4
>      7 MGROUP=224.0.55.55
>      8 SUBNET_R=192.168.60.0/24
>      9
>     10 /usr/sbin/iptables -F
>     11 /usr/sbin/iptables -F -t nat
>     12 /usr/sbin/iptables -P FORWARD ACCEPT
>     13
>     14 ip tunnel del gretun
>     15 ip tunnel add gretun mode gre remote $END_R local $END_L ttl 255
>     16 ip link set gretun up multicast on
>     17 ip addr add $GRE_L peer $GRE_R/24 dev gretun
>     18
>     19 ip route del $SUBNET_R via $GRE_R
>     20 ip route add $SUBNET_R via $GRE_R
>     21
>     22 /usr/sbin/smcroute -k
>     23 /usr/sbin/smcroute -d
>     24 sleep 3
    25 /usr/sbin/smcroute -a gretun 192.168.60.250 $MGROUP eth0
    26 /usr/sbin/smcroute -j gretun $MGROUP
>
> On RtrB (while running #ping 192.168.50.250 on HOSTB):
> /usr/sbin/tcpdump -i eth0 -n
> 10:46:21.470623 IP 192.168.20.98 > 192.168.20.100: GREv0, length 88: 
> IP 192.168.60.250 > 192.168.50.250: ICMP echo request, id 44558, seq 
> 1, length 64
> 10:46:21.476843 IP 192.168.20.100 > 192.168.20.98: GREv0, length 88: 
> IP 192.168.50.250 > 192.168.60.250: ICMP echo reply, id 44558, seq 1, 
> length 64
> 10:46:22.487867 IP 192.168.20.98 > 192.168.20.100: GREv0, length 88: 
> IP 192.168.60.250 > 192.168.50.250: ICMP echo request, id 44558, seq 
> 2, length 64
> 10:46:22.491629 IP 192.168.20.100 > 192.168.20.98: GREv0, length 88: 
> IP 192.168.50.250 > 192.168.60.250: ICMP echo reply, id 44558, seq 2, 
> length 64
> 10:46:23.473064 IP 192.168.20.98 > 192.168.20.100: GREv0, length 88: 
> IP 192.168.60.250 > 192.168.50.250: ICMP echo request, id 44558, seq 
> 3, length 64
> 10:46:23.473711 IP 192.168.20.100 > 192.168.20.98: GREv0, length 88: 
> IP 192.168.50.250 > 192.168.60.250: ICMP echo reply, id 44558, seq 3, 
> length 64
> 10:46:24.452719 IP 192.168.20.98 > 192.168.20.100: GREv0, length 88: 
> IP 192.168.60.250 > 192.168.50.250: ICMP echo request, id 44558, seq 
> 4, length 64
> 10:46:24.453209 IP 192.168.20.100 > 192.168.20.98: GREv0, length 88: 
> IP 192.168.50.250 > 192.168.60.250: ICMP echo reply, id 44558, seq 4, 
> length 64
> 10:46:25.470861 IP 192.168.20.98 > 192.168.20.100: GREv0, length 88: 
> IP 192.168.60.250 > 192.168.50.250: ICMP echo request, id 44558, seq 
> 5, length 64
> 10:46:25.478632 IP 192.168.20.100 > 192.168.20.98: GREv0, length 88: 
> IP 192.168.50.250 > 192.168.60.250: ICMP echo reply, id 44558, seq 5, 
> length 64
>
> As you can see, the ICMP packets are encapsulated by GRE tunnel.
>
> Now I started to run multicast test by running "iperf -c 224.0.55.55 
> -u -T 32 -t 1000 -i 1" on HOSTB
> On RtrB:
> /usr/sbin/tcpdump -i eth0 -n
> /usr/sbin/tcpdump -i gretun -n
> both captured nothing !!!
>
> I am really confused. Any help will be appreciated!
>
> Thanks very much!
>
> Best regards,
>
>    Zhuang Yuyao
>
>
>






More information about the LARTC mailing list