लिनक्स मेजबानों पर पड़ोसी टेबल ओवरफ्लो ब्रिजिंग और आईपीवी 6 से संबंधित है


10

नोट: मेरे पास इस समस्या के लिए पहले से ही एक समाधान है (जैसा कि नीचे वर्णित है) इसलिए यह केवल "चाहने-जानने वाला" सवाल है।

मेरे पास लगभग 50 मेजबानों के साथ एक उत्पादक सेटअप है जिसमें ब्लेड चलाने वाले एक्सईएन 4 और इस्कॉली प्रदान करने वाले समतुल्य हैं। सभी एक्सन डोमेन्स लगभग सादे डेबियन हैं 5. सेटअप में एक्सएम ब्रिजिंग नेटवर्किंग का समर्थन करने के लिए हर डोमे पर कई पुल शामिल हैं। कुल में प्रत्येक डोम 0 पर 5 और 12 पुलों के बीच एक-एक वीलन की सर्विसिंग होती है। मेजबानों में से किसी ने रूटिंग को सक्षम नहीं किया है।

एक समय में हमने एक मशीन को छापे नियंत्रक सहित एक नए हार्डवेयर में स्थानांतरित कर दिया था और इसलिए हमने एक्सईएन पैच के साथ एक अपस्ट्रीम 3.0.22 / x86_64 कर्नेल स्थापित किया। अन्य सभी मशीनों डेबियन xen-dom0-गिरी चलाते हैं।

तब से हमने सेटअप में सभी मेजबानों पर ध्यान दिया, प्रत्येक ~ 2 मिनट में निम्नलिखित त्रुटियां:

[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 टेबल (arp -n) ने हर मशीन पर लगभग 20 से अधिक प्रविष्टियाँ कभी नहीं दिखाईं। हमने स्पष्ट रूप से कोशिश की और उठाया

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

मान। 16384 प्रविष्टियों के लिए FInally लेकिन कोई प्रभाव नहीं। यहां तक ​​कि ~ 2 मिनट के अंतराल ने भी नहीं बदला जो मुझे इस निष्कर्ष पर पहुंचाता है कि यह पूरी तरह से असंबंधित है। tcpdump ने किसी भी इंटरफ़ेस पर कोई असामान्य IPv4 ट्रैफ़िक नहीं दिखाया। tcpdump से केवल दिलचस्प लग रहा IPv6 पैकेट की तरह में फोड़ थे:

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

जो मेरे दिमाग में यह विचार रखता है कि समस्या शायद आईपीवी 6 से संबंधित है, क्योंकि हमारे पास इस सेटअप में कोई आईपीवी 6 सेवा नहीं है।

केवल एक अन्य संकेत समस्याओं की शुरुआत के साथ मेजबान उन्नयन के संयोग था। मैं प्रश्न में मेजबान नीचे संचालित और त्रुटियों जा चुके थे। तब मैं बाद में मेजबान पर पुल नीचे ले लिया और जब मैं नीचे ले लिया (ifconfig नीचे) एक विशेष रूप से पुल:

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

त्रुटियां फिर से दूर हो गईं। पुल नहीं IPv4 पता रखती है और यह केवल सदस्य के रूप में आप देख सकते हैं है eth0.2159 तो कोई यातायात उसे पार करना चाहिए। ब्रिज और इंटरफ़ेस .2159 / .2157 / .2158 जो वलन के अलावा सभी पहलुओं में समान हैं जिन्हें नीचे ले जाने पर कोई प्रभाव नहीं पड़ता है। अब मैंने sysctl net.ipv6.conf.all.disable_ipv6 के माध्यम से पूरे होस्ट पर ipv6 को निष्क्रिय कर दिया और रिबूट किया। इसके बाद भी ब्रिज br-vlan2159 सक्षम होने के कारण कोई त्रुटि नहीं हुई।

किसी भी विचार का स्वागत है।

जवाबों:


5

मेरा मानना ​​है कि आपकी समस्या एक कर्नेल बग के कारण है जो अंदर पैच किया गया था net-next

जब टेबल को रीश करने की कोशिश कर रहे बग की वजह से पुल को इनिशियलाइज़ किया जाता है तो मल्टिकास्ट स्नोपिंग अक्षम हो जाता है। IGMP स्नूपिंग पुल को हर HBH ICMPv6 मल्टीकास्ट क्वेरी उत्तर को अग्रेषित करने से रोकता है, जिसके परिणामस्वरूप पड़ोसी तालिका ff02::मल्टीकास्ट उत्तरों से पड़ोसियों के साथ भर जाती है जिसे इसे नहीं देखना चाहिए (कोशिश करें ip -6 neigh show nud all)।

उचित समाधान यह है कि स्नूपिंग को फिर से सक्षम करने का प्रयास करें जैसे echo 1 > /sys/class/net/eth0/bridge/multicast_snooping:। प्रसारण तालिका में मेजबानों की संख्या की तुलना में पड़ोसी तालिका gc थ्रेसहोल्ड बनाने के लिए वैकल्पिक है।

पैच यहाँ है


मुझे करना पड़ा echo 1 > /sys/class/net/br0/bridge/multicast_snooping
एड्रियन हेन

3

ip route show cache table allजब आप इस त्रुटि का सामना कर रहे हैं तो क्या वापसी है ?

arp -nया ip neigh showकेवल कैश में कुछ प्रविष्टियाँ दिखाएंगे।

ip route show cache table all और अधिक विस्तृत हो जाएगा (और v6 संबंधित प्रविष्टियों का एक बहुत शामिल होंगे)।

हम स्पष्ट तोड़ मरोड़ की कोशिश की और / proc / sys / नेट / IPv4 / पड़ोसियों / डिफ़ॉल्ट / gc_thresh उठाया *

क्या आपने ipv6 के लिए भी ऐसा ही किया था? कि हमारे लिए समस्या हल हो गई

अलविदा,

- क्रेसिस


1
आईपी ​​मार्ग शो कैश टेबल सभी अधिक प्रविष्टियों को प्रकट नहीं किया। मैं निर्धारित करके त्रुटि संदेश तय net.ipv6.neigh.default.gc_thresh1 = 1024 net.ipv6.neigh.default.gc_thresh2 = 2048 net.ipv6.neigh.default.gc_thresh3 = 4096)sysctl के माध्यम से।
टिम
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.