डेबियन / IPv6: डिफ़ॉल्ट मार्ग 1800 सेकंड के बाद समाप्त हो जाता है, कनेक्टिविटी खो देता है


10

मैं डेबियन 8 को vServer पर चला रहा हूं। डॉकटर को स्थापित करने और IPv6 को सक्षम करने के बाद मैंने कुछ अजीब बात नोट की। मुझे नहीं पता कि क्या डॉकटर का इससे कोई लेना-देना है, बस इतना है कि मैंने इसे स्थापित करने के बाद इस समस्या पर ध्यान दिया।

मेरा डिफ़ॉल्ट मार्ग सीए के बाद समाप्त होने के लिए कॉन्फ़िगर किया गया है। 1800secs। मैं वास्तव में इस समय के बाद गायब हो जाता हूं। यह तब है जब मैं (जाहिर है) IPv6 कनेक्टिविटी ढीली करता हूं।

root@wopr:~#  ip -6 route
xxxx:yyyy:zzz:xxxx::/64 dev eth0  proto kernel  metric 256
fe80::/64 dev eth0  proto kernel  metric 256
fe80::/64 dev br-5c1ce68ea951  proto kernel  metric 256
fe80::/64 dev br-61f6bbfdbe87  proto kernel  metric 256
[a lot more routed for my docker containers]
default via fe80::1 dev eth0  proto ra  metric 1024  expires 1259sec hoplimit 64

ऐसा क्यों है कि 1800 s के बाद समाप्त होने के लिए इस रूट को कॉन्फ़िगर किया गया है? मैं इसे कहां से कॉन्फ़िगर कर सकता हूं?

[संपादित करें 2016-05-14 16:08]

डिफ़ॉल्ट मार्ग को मैन्युअल रूप से जोड़ना ठीक काम करता है। यह डाल रहता है। लेकिन मुझे बूट के बाद एक नॉन-एक्सपायरिंग रूट की आवश्यकता है।

[संपादित करें 2016-05-14 16:13]

मशीन netcup.de द्वारा होस्ट KVM होस्ट पर चल रही है। यह मेरे प्रदाता द्वारा अनुशंसित के रूप में virtio ड्राइवर का उपयोग कर रहा है।

root@wopr:~# cat /etc/network/interfaces
auto lo
iface lo inet loopback
iface lo inet6 loopback

auto eth0
iface eth0 inet dhcp

iface eth0 inet6 static
       address xxxx:yyyy:zzz:xxxx::1
       netmask 64
       gateway fe80::1

पुण्य-क्या कहता है:

root@wopr:~# virt-what
kvm

[संपादित करें २०१६-०५-१४ १५:३४] ऐसा लग रहा है कि मैं १ से छूट net.ipv6.conf.default.autoconfगया था। अब मैंने बूट में इसे दबाने के लिए /etc/sysctl.d में एक फ़ाइल जोड़ी:

root@wopr:~# cat /etc/sysctl.d/ipv6.conf
net.ipv6.conf.default.accept_ra=0
net.ipv6.conf.default.autoconf=0
net.ipv6.conf.all.accept_ra=0
net.ipv6.conf.all.autoconf=0
net.ipv6.conf.eth0.accept_ra=0
net.ipv6.conf.eth0.autoconf=0

डॉकटर को छोड़कर, इस मशीन पर बहुत अधिक अन्य अनुप्रयोग नहीं चल रहे हैं।
lajuette

जवाबों:


8

ऐसा लगता है कि मुझे याद आया कि net.ipv6.conf.default.autoconf को 1 पर सेट किया गया था। बूट पर इसे दबाने के लिए /etc/sysctl.d में एक फ़ाइल जोड़कर मेरे लिए समस्या हल की गई:

root@wopr:~# cat /etc/sysctl.d/ipv6.conf
net.ipv6.conf.default.accept_ra=0
net.ipv6.conf.default.autoconf=0
net.ipv6.conf.all.accept_ra=0
net.ipv6.conf.all.autoconf=0
net.ipv6.conf.eth0.accept_ra=0
net.ipv6.conf.eth0.autoconf=0

अब मुझे एक डिफॉल्ट रूट मिलता है जो बूट समय पर समाप्त नहीं होगा। समस्या सुलझ गयी। मुझे सही दिशा में इशारा करने के लिए धन्यवाद, सैंडर।


अंत में मुझे समाधान मिल गया!
schnawel007

4

राउटर विज्ञापन के लिए 1800 सेकंड एक डिफ़ॉल्ट टाइमआउट की तरह लगता है।

मेरा पहला अनुमान यह होगा कि नेटवर्क पर एक सिस्को राउटर है ipv6 nd ra suppressजिसे इंटरफ़ेस पर कॉन्फ़िगर किया गया है। उस मोड में राउटर एक आरए को बाहर भेज देगा जब एक मेजबान एक रुपये के साथ अनुरोध करता है, लेकिन इसे नियमित रूप से ताज़ा नहीं करता है। इंटरफ़ेस लाते समय एक होस्ट एक RS भेजता है, जो यह बताता है कि बूट के बाद इसे डिफ़ॉल्ट मार्ग क्यों मिलता है।

यह सेटिंग एक अजीब बेकार सिस्को सेटिंग है। एक राउटर को या तो पूछा जाना चाहिए जब नियमित रूप से (सिस्को पर डिफ़ॉल्ट), या बिल्कुल नहीं ( ipv6 nd ra suppress all)। आधे रास्ते की सेटिंग ipv6 nd ra suppressइस तरह अजीब व्यवहार का कारण बनती है और इसका उपयोग नहीं किया जाना चाहिए।


root @ wopr: ~ # cat / proc / sys / net / ipv6 / conf / eth0 / accept_ra पैदावार 0. मुझे लगता है कि eth0 का अर्थ है RAs की अनदेखी करना?
लैजुएट

1
हां, उस स्थिति में यह आरएएस का उपयोग नहीं कर रहा है। इसे accept_ra=0सेट होने से पहले ही स्वीकार कर लिया गया हो सकता है ।
Sander Steffann

0

दरअसल, चिह्नित जवाब गलत है। समस्या यह है कि डॉकटर इंटरफ़ेस को आगे बढ़ाने में सक्षम बनाता है और इससे लिनक्स कर्नेल को उस विशेष इंटरफ़ेस पर आरएएस की अनदेखी करने में मदद मिलती है, देखें: https://www.mattb.net.nz/blog/2011/05/12/linux-ignores -ipv6-रूटर-विज्ञापनों-जब अग्रेषण-सक्षम किया गया है /

तो, इस मामले में सही समाधान के लिए सेट accept_raहै 2:

# cat /etc/sysctl.d/ipv6.conf
net.ipv6.conf.default.accept_ra=2
net.ipv6.conf.all.accept_ra=2
net.ipv6.conf.eth0.accept_ra=2

मार्ग खोज को पूरी तरह से अक्षम करने के बजाय।


मैंने इसे जोड़ा, अभी भी होस्ट चल रहे डॉकटर को एक डिफ़ॉल्ट मार्ग नहीं मिलता है एक अन्य गैर-डॉक होस्ट को डिफ़ॉल्ट मार्ग नहीं मिलता है।
लेंड
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.