IGMP queries not responded to; multicast quits coming

Issues related to configuring your network
Post Reply
tamboril
Posts: 2
Joined: 2014/07/30 21:59:20
Location: Chicago, USA

IGMP queries not responded to; multicast quits coming

Post by tamboril » 2014/07/30 22:12:06

SOLVED 4 Jan, 2015:CentOS 7 uses firewalld, not iptables. Running firewall-config, going to "Rich Rules" and adding an "accept" rule for protocol IGMP fixed the problem.

Code: Select all

tcpdump
apparently taps in before the firewall, and I had assumed there was no blocking if I could see the queries coming in

Code: Select all

tcpdump
.

Update 1 Jan, 2015: Still have this problem after updating to VMware 11, updating the virtual hardware, patching CentOS with all the latest patches. Am I the only one with these IGMP issues?

I've tried everything, but my CentOS 7 is not replying to IGMP queries, and as a result stops receiving multicast packets a few minutes after I start the receiving application.

Everything is fine on CentOS 6.

If I run

Code: Select all

tcpdump -i ens33 igmp
, I can see the query come in, and I can see my CentOS 6 box (and a bunch of other ones on the network) responding, but the CentOS 7 box does not reply with an IGMP report. It does send an unsolicited report right when my application that joins starts up, and it does work for about four minutes, but then the packets stop. My theory is that it's because of the host's failure to reply to the igmp query.

netstat -g shows the group is still joined.

I have disabled iptables. I have set the rp_filter sysctl variable to 2 and then 0 to no avail. I've tried to add a multicast route. I've tried adding a link-local route. I've tried disabling the virbr0 interface.

This is running in a vmware workstation (bridged networking), but so is the CentOS 6 instance that works. Note that if I start the app on the other VM, the packets resume on the CentOS 7 VM, but stop as soon as I stop the app on the first VM. I assume this is due to the (real) host joining the group when I do that.

What am I missing here?

Code: Select all

 netstat -r
Kernel IP routing table
Destination     Gateway         Genmask         Flags   MSS Window  irtt Iface
default         172.18.2.1      0.0.0.0         UG        0 0          0 ens33
172.18.2.0      0.0.0.0         255.255.255.0   U         0 0          0 ens33
192.168.122.0   0.0.0.0         255.255.255.0   U         0 0          0 virbr0
224.0.0.0       jhlinux1.htgcap 240.0.0.0       UG        0 0          0 ens33

ifconfig
ens33: flags=4163<UP,BROADCAST,RUNNING,MULTICAST>  mtu 1500
        inet 172.18.2.204  netmask 255.255.255.0  broadcast 172.18.2.255
        inet6 fe80::20c:29ff:fe48:a7da  prefixlen 64  scopeid 0x20<link>
        ether 00:0c:29:48:a7:da  txqueuelen 1000  (Ethernet)
        RX packets 156645  bytes 33827014 (32.2 MiB)
        RX errors 0  dropped 0  overruns 0  frame 0
        TX packets 732  bytes 237138 (231.5 KiB)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0

lo: flags=73<UP,LOOPBACK,RUNNING>  mtu 65536
        inet 127.0.0.1  netmask 255.0.0.0
        inet6 ::1  prefixlen 128  scopeid 0x10<host>
        loop  txqueuelen 0  (Local Loopback)
        RX packets 6  bytes 560 (560.0 B)
        RX errors 0  dropped 0  overruns 0  frame 0
        TX packets 6  bytes 560 (560.0 B)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0

virbr0: flags=4099<UP,BROADCAST,MULTICAST>  mtu 1500
        inet 192.168.122.1  netmask 255.255.255.0  broadcast 192.168.122.255
        ether 52:54:00:f9:cc:08  txqueuelen 0  (Ethernet)
        RX packets 0  bytes 0 (0.0 B)
        RX errors 0  dropped 0  overruns 0  frame 0
        TX packets 2  bytes 144 (144.0 B)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0

netstat -gn
IPv6/IPv4 Group Memberships
Interface       RefCnt Group
--------------- ------ ---------------------
lo              1      224.0.0.1
ens33           1      233.72.75.148
ens33           1      224.0.0.251
ens33           1      224.0.0.1
virbr0          1      224.0.0.251
virbr0          1      224.0.0.1
lo              1      ff02::1
lo              1      ff01::1
ens33           1      ff02::1:ff48:a7da
ens33           1      ff02::1
ens33           1      ff01::1
virbr0          1      ff02::1
virbr0          1      ff01::1
virbr0-nic      1      ff02::1
virbr0-nic      1      ff01::1

cat /proc/net/igmp
Idx	Device    : Count Querier	Group    Users Timer	Reporter
1	lo        :     1      V3
				010000E0     1 0:00000000		0
2	ens33     :     3      V3
				944B48E9     1 0:00000000		0
				FB0000E0     1 0:00000000		0
				010000E0     1 0:00000000		0
3	virbr0    :     2      V3
				FB0000E0     1 0:00000000		0
				010000E0     1 0:00000000		0



tamboril
Posts: 2
Joined: 2014/07/30 21:59:20
Location: Chicago, USA

Re: IGMP queries not responded to; multicast quits coming

Post by tamboril » 2015/02/19 14:35:02

After giving up and coming back to make a weekend project of this, I solved it.

CentOS 7 uses firewalld as its firewall. I just had to configure or disable firewalld, and it started working.

Post Reply