के चलते OpenBSD rtadvd में एक बग , मेरा राउटर कभी-कभी आरए को एक गलत उपसर्ग के साथ भेजता है
prefix 2001:41d0:fe4b:ecf1::/64
prefix 2001:41d0:fe4b:ec42::/64
prefix 2a01:e35:8aea:ac42::/64
लेकिन अगर मैं इसे ठीक करता हूं तो यह केवल सही उपसर्ग भेजता है ( 2001:41d0:fe4b:ec42::/64
तथा prefix 2a01:e35:8aea:ac42::/64
), तथा पता हटाओ इंटरफ़ेस से, मेरा लिनक्स बॉक्स हर बार गलत उपसर्ग से IPv6 असाइन करता रहता है, क्योंकि उसे राउटर से आरए मिलता है।
15:46:44.138257 IP6 (hlim 255, next-header ICMPv6 (58) payload length: 136) fe80::8621:df60:6d70:8da > ff02::1: [icmp6 sum ok] ICMP6, router advertisement, length 136
hop limit 64, Flags [none], pref medium, router lifetime 1800s, reachable time 0s, retrans time 0s
source link-address option (1), length 8 (1): 00:00:24:d1:42:0d
0x0000: 0000 24d1 420d
prefix info option (3), length 32 (4): 2a01:e35:8aea:ac42::/64, Flags [onlink, auto], valid time 2592000s, pref. time 604800s
0x0000: 40c0 0027 8d00 0009 3a80 0000 0000 2a01
0x0010: 0e35 8aea ac42 0000 0000 0000 0000
prefix info option (3), length 32 (4): 2001:41d0:fe4b:ec42::/64, Flags [onlink, auto], valid time 2592000s, pref. time 604800s
0x0000: 40c0 0027 8d00 0009 3a80 0000 0000 2001
0x0010: 41d0 fe4b ec42 0000 0000 0000 0000
rdnss option (25), length 24 (3): lifetime 900s, addr: 2a01:e35:8aea:ac42::10
0x0000: 0000 0000 0384 2a01 0e35 8aea ac42 0000
0x0010: 0000 0000 0010
dnssl option (31), length 24 (3): lifetime 900s, domain(s): geekwu.org.
0x0000: 0000 0000 0384 0667 6565 6b77 7503 6f72
0x0010: 6700 0000 0000
15:46:44.553069 IP6 (hlim 255, next-header ICMPv6 (58) payload length: 32) :: > ff02::1:ffd1:28d4: [icmp6 sum ok] ICMP6, neighbor solicitation, length 32, who has 2001:41d0:fe4b:ecf1:8581:1b57:b9d1:28d4
unknown option (14), length 8 (1):
0x0000: 1d76 c406 8db8
आप आरए को केवल 2 उपसर्गों के साथ देख सकते हैं, और फिर द neighbor solicitation
पैकेट, जो मेरा बॉक्स है, यह पता लगा रहा है कि यह "फ्री" (DAD) है ... और यह है, क्योंकि यह उपसर्ग इस ईथरनेट लिंक पर उपयोग में नहीं है।
जैसा कि यह पता अंतिम डाला गया है, यह आउटगोइंग कनेक्शन के लिए डिफ़ॉल्ट है, लेकिन राउटर इसे वापस नहीं ला सकता है, क्योंकि यह परिभाषित नहीं है।
मैं केवल कर्नेल का अनुमान लगा सकता हूं - या यूजरलैंड में कुछ - पुराने RA को कैश में रख रहा हूं, जो भी कारण हो, और "लाइव" RA के बजाय इसका उपयोग करता है (या शायद यह उन्हें मर्ज करता है?)
यदि हां, तो क्या इसे देखने का कोई तरीका है? इस कैश को फ्लश या बदलने के लिए? मैं शायद अपने बॉक्स को रीबोट कर सकता हूं, लेकिन, अच्छा ... बुरा लगता है।
(कर्नेल 4.16.13-1-ARCH)
संपादित करें:
मैंने इस उपसर्ग के लिए sc के साथ एक RA भेजा, 0 जीवनकाल के साथ, और पता प्रत्येक बाद वाले RA के लिए जोड़ा गया मधुमक्खी होना बंद हो गया।
Welcome to Scapy (unknown.version)
>>> a = IPv6()
>>> a.dst = "ff02::1"
>>> b = ICMPv6ND_RA()
>>> b.display()
>>> c = ICMPv6NDOptSrcLLAddr()
>>> c.lladdr = "00:00:24:d1:42:0d"
>>> d = ICMPv6NDOptMTU()
>>> e = ICMPv6NDOptPrefixInfo()
>>> e.prefixlen = 64
>>> e.prefix = "2001:41d0:fe4b:ecf1::"
>>> e.preferredlifetime=0
>>> e.validlifetime=0
>>> send(a/b/c/d/e)
NetworkManager (1.10.8) इस बॉक्स पर डिफ़ॉल्ट विन्यास के साथ चल रहा है