[technique] br0: received packet on eth0 with own address as source address
Laurent GUERBY
laurent at guerby.net
Mar 6 Mar 00:12:14 CET 2012
On Mon, 2012-03-05 at 22:05 +0100, Antoine Lubineau wrote:
> Bonsoir,
Bonsoir Antoine,
> 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
Au passage il faut mettre la protection contre les RA IPv6
http://chiliproject.tetaneutral.net/projects/tetaneutral/wiki/IPv6
pre-up echo 0 > /proc/sys/net/ipv6/conf/$IFACE/accept_ra
pre-up echo 0 > /proc/sys/net/ipv6/conf/$IFACE/autoconf
Et edit /etc/sysctl.d/local-ipv6.conf
C'est sans doute pas le probleme mais ca sera toujours ca de fait :).
> 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).
Est-ce que tu as mis le "ip link set br0 address MAC" au boot ?
Comme la machine a rebooté il n'est peut-etre plus actif.
> 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 :)
J'ai laissé tourner un tcpdump sur h3 aussi et rien d'interessant, en
boucle des trucs du genre :
20:51:19.136091 e0:69:95:9a:79:8a > ff:ff:ff:ff:ff:ff, ethertype Unknown (0x88a2), length 60:
20:51:19.136097 e0:69:95:9a:79:8a > ff:ff:ff:ff:ff:ff, ethertype Unknown (0x88a2), length 60:
20:51:44.735719 e0:69:95:9a:79:8a > 01:00:5e:00:00:01, ethertype IPv4 (0x0800), length 60: 0.0.0.0 > 224.0.0.1: igmp query v2
20:51:44.735781 e0:69:95:9a:79:8a > 33:33:00:00:00:01, ethertype IPv6 (0x86dd), length 86: fe80::e269:95ff:fe9a:798a > ff02::1: HBH ICMP6, multicast listener querymax resp delay: 1000 addr: ::, length 24
20:51:44.741128 e0:69:95:9a:79:8a > 01:00:5e:00:00:01, ethertype IPv4 (0x0800), length 60: 0.0.0.0 > 224.0.0.1: igmp query v2
20:52:02.495776 00:01:2e:2b:d2:07 > e0:69:95:9a:79:8a, ethertype ARP (0x0806), length 42: Reply 91.224.149.254 is-at 00:01:2e:2b:d2:07, length 28
20:52:19.295200 e0:69:95:9a:79:8a > ff:ff:ff:ff:ff:ff, ethertype Unknown (0x88a2), length 60:
20:52:19.295230 e0:69:95:9a:79:8a > ff:ff:ff:ff:ff:ff, ethertype Unknown (0x88a2), length 60:
20:52:32.431062 00:01:2e:2b:d2:07 > e0:69:95:9a:79:8a, ethertype ARP (0x0806), length 42: Reply 91.224.149.254 is-at 00:01:2e:2b:d2:07, length 28
20:53:19.454419 e0:69:95:9a:79:8a > ff:ff:ff:ff:ff:ff, ethertype Unknown (0x88a2), length 60:
20:53:19.454427 e0:69:95:9a:79:8a > ff:ff:ff:ff:ff:ff, ethertype Unknown (0x88a2), length 60:
20:53:50.173902 e0:69:95:9a:79:8a > 01:00:5e:00:00:01, ethertype IPv4 (0x0800), length 60: 0.0.0.0 > 224.0.0.1: igmp query v2
20:53:50.173933 e0:69:95:9a:79:8a > 33:33:00:00:00:01, ethertype IPv6 (0x86dd), length 86: fe80::e269:95ff:fe9a:798a > ff02::1: HBH ICMP6, multicast listener querymax resp delay: 1000 addr: ::, length 24
20:53:50.238096 e0:69:95:9a:79:8a > 01:00:5e:00:00:01, ethertype IPv4 (0x0800), length 60: 0.0.0.0 > 224.0.0.1: igmp query v2
20:54:19.613685 e0:69:95:9a:79:8a > ff:ff:ff:ff:ff:ff, ethertype Unknown (0x88a2), length 60:
20:54:19.613692 e0:69:95:9a:79:8a > ff:ff:ff:ff:ff:ff, ethertype Unknown (0x88a2), length 60:
20:55:19.772868 e0:69:95:9a:79:8a > ff:ff:ff:ff:ff:ff, ethertype Unknown (0x88a2), length 60:
20:55:19.772876 e0:69:95:9a:79:8a > ff:ff:ff:ff:ff:ff, ethertype Unknown (0x88a2), length 60:
Peut-etre poller sur
brctl showmacs eth0
Et/ou sur du tcpdump en capture sur les tap du bridge, comme le probleme
a l'air regulier tu dois pouvoir attraper le bon paquet.
Laurent
Plus d'informations sur la liste de diffusion technique