Köprüleme ve ipv6 ile ilgili Linux ana bilgisayarlarında komşu tablo taşması


10

Not: Bu sorun için (aşağıda açıklandığı gibi) zaten bir geçici çözümüm var, bu yüzden bu sadece "bilmek istiyorum" sorusu.

Ben xen 4 çalışan bıçaklar ve iscsi sağlayan equallogics dahil olmak üzere yaklaşık 50 ana bilgisayar ile verimli bir kurulum var. Tüm xen dom0'lar neredeyse düz Debian 5'tir. Kurulum, xen köprülü ağları desteklemek için her dom0'da birkaç köprü içerir. Toplamda her dom0 üzerinde her biri bir vlana hizmet veren 5 ila 12 arasında köprü vardır. Ana bilgisayarların hiçbirinde yönlendirme etkin değil.

Bir zamanlar makinelerden birini bir baskın denetleyicisi de dahil olmak üzere yeni bir donanıma taşıdık ve bu nedenle xen yamaları olan bir 3.0.22 / x86_64 çekirdeği kurduk. Diğer tüm makineler debian xen-dom0-kernel kullanır.

O zamandan beri kurulumdaki tüm ana bilgisayarlarda ~ 2 dakikada bir aşağıdaki hataları fark ettik:

[55888.881994] __ratelimit: 908 callbacks suppressed
[55888.882221] Neighbour table overflow.
[55888.882476] Neighbour table overflow.
[55888.882732] Neighbour table overflow.
[55888.883050] Neighbour table overflow.
[55888.883307] Neighbour table overflow.
[55888.883562] Neighbour table overflow.
[55888.883859] Neighbour table overflow.
[55888.884118] Neighbour table overflow.
[55888.884373] Neighbour table overflow.
[55888.884666] Neighbour table overflow.

Arp tablosu (arp -n) hiçbir zaman her makinede yaklaşık 20'den fazla girdi göstermedi. Bariz tweaks denedik ve

/proc/sys/net/ipv4/neigh/default/gc_thresh*

değerler. Nihai olarak 16384 girişe ancak hiçbir etkisi yoktur. ~ 2 dakikalık aralık bile değişmedi, bu da beni tamamen ilgisiz olduğu sonucuna götürdü. tcpdump herhangi bir arabirimde nadir bir ipv4 trafiği göstermedi. Tcpdump gelen tek ilginç bulgu gibi patlama ipv6 paketleri vardı:

14:33:13.137668 IP6 fe80::216:3eff:fe1d:9d01 > ff02::1:ff1d:9d01: HBH ICMP6, multicast listener reportmax resp delay: 0 addr: ff02::1:ff1d:9d01, length 24
14:33:13.138061 IP6 fe80::216:3eff:fe1d:a8c1 > ff02::1:ff1d:a8c1: HBH ICMP6, multicast listener reportmax resp delay: 0 addr: ff02::1:ff1d:a8c1, length 24
14:33:13.138619 IP6 fe80::216:3eff:fe1d:bf81 > ff02::1:ff1d:bf81: HBH ICMP6, multicast listener reportmax resp delay: 0 addr: ff02::1:ff1d:bf81, length 24
14:33:13.138974 IP6 fe80::216:3eff:fe1d:eb41 > ff02::1:ff1d:eb41: HBH ICMP6, multicast listener reportmax resp delay: 0 addr: ff02::1:ff1d:eb41, length 24

Bu kurulumda hiçbir ipv6 hizmetimiz olmadığından, sorunun belki ipv6 ile ilgili olduğu fikrimi yerleştirdi.

Sadece diğer ipucu sorunların başlangıcı ile ana bilgisayar yükseltme tesadüf oldu. Söz konusu ana bilgisayarı kapattım ve hatalar gitti. Daha sonra ana bilgisayardaki köprüleri indirdim ve aşağı indiğimde (ifconfig aşağı) özellikle bir köprü:

br-vlan2159 Link encap:Ethernet  HWaddr 00:26:b9:fb:16:2c  
          inet6 addr: fe80::226:b9ff:fefb:162c/64 Scope:Link
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:120 errors:0 dropped:0 overruns:0 frame:0
          TX packets:9 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:0 
          RX bytes:5286 (5.1 KiB)  TX bytes:726 (726.0 B)

eth0.2159 Link encap:Ethernet  HWaddr 00:26:b9:fb:16:2c  
          inet6 addr: fe80::226:b9ff:fefb:162c/64 Scope:Link
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:1801 errors:0 dropped:0 overruns:0 frame:0
          TX packets:20 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:0 
          RX bytes:126228 (123.2 KiB)  TX bytes:1464 (1.4 KiB)

bridge name bridge id       STP enabled interfaces
...
br-vlan2158     8000.0026b9fb162c   no      eth0.2158
br-vlan2159     8000.0026b9fb162c   no      eth0.2159

Hatalar tekrar kayboldu. Gördüğünüz gibi köprü hiçbir ipv4 adresi tutmaz ve sadece üye eth0.2159 olduğundan trafik geçmemelidir. Köprü ve arayüz .2159 / .2157 / .2158 , bağlı oldukları vlan dışında tüm yönleriyle aynıdır, aşağı çekildiklerinde hiçbir etkisi yoktur. Şimdi sysctl net.ipv6.conf.all.disable_ipv6 üzerinden tüm ana bilgisayarda ipv6'yı devre dışı bıraktım ve yeniden başlattım . Bundan sonra köprü br-vlan2159 etkinken bile hata oluşmaz.

Herhangi bir fikir bekliyoruz.

Yanıtlar:


5

Sorununuzun yamalanmış bir çekirdek hatası nedeniyle olduğuna inanıyorum net-next.

Çok noktaya yayın gözetleme, tablo yeniden oluşturulmaya çalışılan bir hata nedeniyle köprü başlatıldığında devre dışı bırakılır. IGMP gözetleme, köprünün her HBH ICMPv6 çok noktaya yayın sorgu yanıtını iletmesini durdurur, bu da komşu tablonun görmemesiff02:: gereken çok noktaya yayın yanıtlarından komşularla doldurulmasıyla sonuçlanır (dener ).ip -6 neigh show nud all

Uygun çözüm gibi gözetleme yeniden etkinleştirmek için çalışmaktır: echo 1 > /sys/class/net/eth0/bridge/multicast_snooping. Alternatif olarak, komşu tablo gc eşiklerini yayın alanındaki ana bilgisayar sayısından daha büyük yapmaktır.

Yama burada .


Yapmalıydım echo 1 > /sys/class/net/br0/bridge/multicast_snooping.
Adrian Heine

3

ip route show cache table allBu hatayı yaşadığınızda dönüşü nedir?

arp -nveya ip neigh showyalnızca önbellekteki bazı girişleri gösterir.

ip route show cache table all çok daha ayrıntılı olacaktır (ve çok sayıda v6 ilgili girişi içerecektir).

Belirgin tweaks denedik ve / proc / sys / net / ipv4 / neigh / default / gc_thresh *

Aynı şeyi ipv6 için mi yaptınız? bu bizim için problemi çözdü

Hoşçakal,

- creis


1
ip rota gösterisi önbellek tablosu tüm çok daha fazla giriş ortaya koymadı. Ben net.ipv6.neigh.default.gc_thresh1 = 1024 net.ipv6.neigh.default.gc_thresh2 = 2048 net.ipv6.neigh.default.gc_thresh3 = 4096)sysctl ayarlayarak hata mesajları düzeltildi .
tim
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.