Eu executei duas VMs baseadas no Xen / CentOS 6.5, ambas hospedadas pela mesma empresa, mas conectadas a diferentes redes (básica / 24s com um único gateway a 0,1) em diferentes locais físicos. Eu desenvolvi um firewall iptables no primeiro host, parte do qual logou e deixou cair o tráfego das várias redes reservadas: 192.168.0.0/16, 127.0.0.0/8, etc. Incluído nesta lista é 224.0.0.0/4. Na primeira vm eu raramente via tráfego para / de qualquer uma das redes reservadas e poderia seguramente assumir que ela foi forjada e soltá-la sem preocupação.
No entanto, assim que instalei o mesmo conjunto de regras iptables na segunda vm, ele começou a registrar pacotes de 0.0.0.0 a 224.0.0.1 a cada dois minutos.
Jan 6 21:44:43 server kernel: ipt (reserved): IN=eth0 OUT= MAC=01:00:5e:00:00:01:00:25:90:2f:69:a8:08:00 SRC=0.0.0.0 DST=224.0.0.1 LEN=32 TOS=0x00 PREC=0xC0 TTL=1 ID=0 DF PROTO=2
O tcpdump esclareceu que os pacotes são de fato pacotes multicast IGMPv2.
19:44:43.779680 IP (tos 0xc0, ttl 1, id 0, offset 0, flags [DF], proto IGMP (2), length 32, options (RA))
0.0.0.0 > all-systems.mcast.net: igmp query v2
O conhecimento do host do IGMP parece ser:
[root@server ~]# cat /proc/net/igmp
Idx Device : Count Querier Group Users Timer Reporter
1 lo : 1 V3
010000E0 1 0:00000000 0
2 eth0 : 1 V3
010000E0 1 0:00000000 0
BTW, os endereços MAC src / dst na linha de log do iptables não são da interface do host nem da interface de gateways (pelo menos de acordo com o arp), se isso faz alguma diferença.
Perguntas:
- Esse tipo de tráfego é de uso legítimo para um host básico de tipo de servidor (não roteador)?
- O meu anfitrião deve vê-lo do lado do roteador?
- Se sim, o que estou perdendo ao descartá-lo?
- Devo modificar minhas regras para aceitar pacotes broadcast / multicast do tipo --pkt apropriados se eles forem bem formados?
- Se não, existe uma maneira de eu notificar o outro lado para interromper a entrega na minha interface?
Obrigado pela sua ajuda.