[technique] br0: received packet on eth0 with own address as source address

Antoine Lubineau antoine at lubignon.info
Lun 5 Mar 22:05:42 CET 2012


Bonsoir,

Depuis quelques jours (je n’ai pas le compte exact, mais ça doit se 
trouver sur le Nagios de tetaneutral.net), une machine physique que je 
partage avec des amis (crapaud.tetaneutral.net), installée à Myrys, a un 
problème de réseau.

Environ toutes les 1 min 55 s, ce message apparaît dans le dmesg(1) :

br0: received packet on eth0 with own address as source address

et le réseau vers la machine coupe pendant quelques secondes : depuis 
l’extérieur, j’ai environ 2 % de perte de paquets en moyenne avec ping 
et ping6, et depuis une VM de Crapaud, aucune perte en ping, et 20 % de 
perte en ping6.
À noter que le réseau ne coupe pas entre les VM et l’extérieur, ni en 
IPv4, ni en IPv6.

La machine héberge des machines virtuelles en KVM (gérées par Archipel), 
dont les interfaces sont bridgées avec eth0 :

root at crapaud:~# cat /etc/network/interfaces
auto lo
iface lo inet loopback

auto br0
iface br0 inet static
     bridge_ports eth0
     address 91.224.149.66
     netmask 255.255.255.0
     gateway 91.224.149.254

iface br0 inet6 static
     bridge_ports eth0
     address 2a01:6600:8081:4200::1
     netmask 56
     gateway fe80::31

root at crapaud:~# ip a
../..
2: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast 
master br0 state UP qlen 1000
     link/ether e0:69:95:9a:79:8a brd ff:ff:ff:ff:ff:ff
     inet6 fe80::e269:95ff:fe9a:798a/64 scope link
        valid_lft forever preferred_lft forever
../..
5: br0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc noqueue state UP
     link/ether e0:69:95:9a:79:8a brd ff:ff:ff:ff:ff:ff
     inet 91.224.149.66/24 brd 91.224.149.255 scope global br0
     inet6 2a01:6600:8081:4200::1/56 scope global
        valid_lft forever preferred_lft forever
     inet6 fe80::e269:95ff:fe9a:798a/64 scope link
        valid_lft forever preferred_lft forever
6: vnet0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast 
master br0 state UNKNOWN qlen 500
     link/ether fe:ad:b7:91:56:da brd ff:ff:ff:ff:ff:ff
     inet6 fe80::fcad:b7ff:fe91:56da/64 scope link
        valid_lft forever preferred_lft forever
../..
14: vnet8: […]

Chaque VM a bien une adresse MAC distincte, et la MAC de br0 ne bouge 
pas (la fixer à la main ne change rien).

J’ai essayé un coup de tcpdump(1) sur h3 (tcpdump -eni eth0 ether host 
E0:69:95:9A:79:8A) comme indiqué par Laurent, mais je ne suis pas sûr de 
savoir quoi y chercher.

Si vous avez ne serait-ce qu’un indice, je suis preneur :)

Antoine



Plus d'informations sur la liste de diffusion technique