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 eth1 192.168.60.250 $MGROUP gretun 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
Zhuang Yuyao
2006-Sep-11 03:16 UTC
Re: [HELP] Mutlicast over GRE tunnel (some minor fix on RtrA setup script but the problem is still there)
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 325 /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 > > >
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 325 /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 > > >