1

in remote network, we have two machines. one of them receives multicast subscriptions, another one doesn't

machine one receives only igmp query:

sudo tcpdump -nevv -i eth1 -s 1515 igmp
tcpdump: listening on eth1, link-type EN10MB (Ethernet), capture size 1515 bytes
09:42:12.973995 00:24:97:23:54:3f > 01:00:5e:00:00:01, ethertype IPv4 (0x0800), length 60: (tos 0xc0, ttl 1, id 13227, offset 0, flags [none], proto IGMP (2), length 32, options (RA))
    157.157.7.252 > 224.0.0.1: igmp query v2

while machine two receives many more igmp packets:

09:46:12.986376 00:24:97:23:54:3f > 01:00:5e:00:00:01, ethertype IPv4 (0x0800), length 60: (tos 0xc0, ttl 1, id 13468, offset 0, flags [none], proto IGMP (2), length 32, options (RA))
    157.157.7.252 > 224.0.0.1: igmp query v2
09:46:13.148086 00:e0:81:b3:f7:66 > 01:00:5e:14:14:8b, ethertype IPv4 (0x0800), length 46: (tos 0xc0, ttl 1, id 0, offset 0, flags [DF], proto IGMP (2), length 32, options (RA))
    192.168.21.12 > 230.20.20.139: igmp v2 report 230.20.20.139
09:46:13.384097 00:e0:81:b3:f7:66 > 01:00:5e:1e:1e:6e, ethertype IPv4 (0x0800), length 46: (tos 0xc0, ttl 1, id 0, offset 0, flags [DF], proto IGMP (2), length 32, options (RA))
    192.168.21.12 > 231.30.30.110: igmp v2 report 231.30.30.110
09:46:15.056105 00:e0:81:b3:f7:66 > 01:00:5e:14:14:b7, ethertype IPv4 (0x0800), length 46: (tos 0xc0, ttl 1, id 0, offset 0, flags [DF], proto IGMP (2), length 32, options (RA))
    192.168.21.12 > 231.20.20.183: igmp v2 report 231.20.20.183
09:46:15.212094 00:e0:81:b3:f7:66 > 01:00:5e:00:00:fb, ethertype IPv4 (0x0800), length 46: (tos 0xc0, ttl 1, id 0, offset 0, flags [DF], proto IGMP (2), length 32, options (RA))
    192.168.21.12 > 224.0.0.251: igmp v2 report 224.0.0.251
09:46:15.900096 00:e0:81:b3:f7:66 > 01:00:5e:14:14:24, ethertype IPv4 (0x0800), length 46: (tos 0xc0, ttl 1, id 0, offset 0, flags [DF], proto IGMP (2), length 32, options (RA))
    192.168.21.12 > 230.20.20.36: igmp v2 report 230.20.20.36
09:46:16.036096 00:e0:81:b3:f7:66 > 01:00:5e:1d:1d:99, ethertype IPv4 (0x0800), length 46: (tos 0xc0, ttl 1, id 0, offset 0, flags [DF], proto IGMP (2), length 32, options (RA))
    192.168.21.12 > 231.29.29.153: igmp v2 report 231.29.29.153
09:46:18.764102 00:e0:81:b3:f7:66 > 01:00:5e:14:14:8a, ethertype IPv4 (0x0800), length 46: (tos 0xc0, ttl 1, id 0, offset 0, flags [DF], proto IGMP (2), length 32, options (RA))
    192.168.21.12 > 230.20.20.138: igmp v2 report 230.20.20.138
09:46:21.612091 00:e0:81:b3:f7:66 > 01:00:5e:14:14:08, ethertype IPv4 (0x0800), length 46: (tos 0xc0, ttl 1, id 0, offset 0, flags [DF], proto IGMP (2), length 32, options (RA))
    192.168.21.12 > 231.20.20.8: igmp v2 report 231.20.20.8
09:46:22.764102 00:e0:81:b3:f7:66 > 01:00:5e:14:14:70, ethertype IPv4 (0x0800), length 46: (tos 0xc0, ttl 1, id 0, offset 0, flags [DF], proto IGMP (2), length 32, options (RA))
    192.168.21.12 > 230.20.20.112: igmp v2 report 230.20.20.112
09:46:22.956111 00:e0:81:b3:f7:66 > 01:00:5e:14:14:85, ethertype IPv4 (0x0800), length 46: (tos 0xc0, ttl 1, id 0, offset 0, flags [DF], proto IGMP (2), length 32, options (RA))
    192.168.21.12 > 230.20.20.133: igmp v2 report 230.20.20.133

in both cases, routes are:

224.0.0.0       *               240.0.0.0       U     0      0        0

same lan, no firewalls, no iptables rules, and it worked well before ups failure..

non working machine is ubuntu 14, working one is debian jessie

tried testing with iperf, ubuntu machine can send multicast packets but cannot receive them.

what else could be checked?

Pavel K.
  • 267
  • 2
  • 8

1 Answers1

1

switch to IGMPv2 on Ubuntu

echo "2" > /proc/sys/net/ipv4/conf/eth1/force_igmp_version

and try againt. If you have same problem than check Reverse Path filtering

cat /proc/sys/net/ipv4/conf/default/rp_filter

1 indicates, that the kernel will do source validation by confirming reverse path.

0 indicates, no source validation.

use 0

stambata
  • 1,598
  • 3
  • 13
  • 18