गेल्या महिन्यात दोन लोकांनी माझ्याकडे विरुद्ध निकाल मागितले: एकाला IPv6 VPN ने व्यापावे असे वाटले, दुसऱ्याला कार्यालयीन प्रिंटर चालू राहावा असे वाटले. एकच ::/0 मार्ग दोन्ही स्वतः देऊ शकत नाही. तो मार्ग बोगद्याच्या आत येतो की नाही हे तीन अटींवर अवलंबून आहे, आणि पहिली अट बहुतेक व्यावसायिक बाहेर पडण्यांसाठी तो वगळते. जर बाहेर पडणे IPv6 वाहत नसेल, तर डीफॉल्ट मार्ग तिथे पाठवल्याने तुमची रहदारी पाठवायला जागा नसलेल्या बोगद्यात लपते.

तीन अटी उत्तर ठरवतात

डीफॉल्ट मार्ग एक ओळ आहे, ::/0, आणि तो अधिक विशिष्ट मार्ग नसलेल्या कोणत्याही IPv6 गंतव्याशी जुळतो (RFC 4291). तो स्थापित करणे सोपे आहे. ते करावे की नाही हे ठरवणे तीन अटींवर येते.

पहिली अट: तुम्ही जोडता त्या बाहेर पडण्याकडे चालू IPv6 आहे आणि ते तो पुढे पाठवायला तयार आहे. दुसरी अट: तुमचा क्लायंट बोगद्याच्या अंतिम टप्प्यापर्यंत मार्ग ठेवू शकतो, जो सहसा तुम्ही मार्गस्थ करणार असलेल्या श्रेणीत असतो. तिसरी अट: बोगद्याबाहेर राहिल्या पाहिजेत अशी स्थानिक IPv6 गंतव्ये तुम्ही नावाने सांगू शकता.

प्रत्येक अट आपल्या पद्धतीने अयशस्वी होते, म्हणून अंदाज लावण्यासाठी पूर्ण संध्याकाळ जाते. अयशस्वी पहिली अट तुम्हाला शांतता आणि बरोबर दिसणारे मार्ग सारणी देते. अयशस्वी दुसरी अट सुरू झाल्यानंतर काही सेकंदात हातमिळवणी मारते. अयशस्वी तिसरी अट चालणारा बोगदा आणि प्रिंटरजवळ अस्वस्थ सहकारी सोडते.

What you seeDecision
Exit answers IPv6 probes, no local IPv6 devices to protectRoute ::/0 into the tunnel
Exit answers IPv6 probes, printer or NAS reachable by a global addressRoute ::/0, then give those prefixes a route of their own
Exit is IPv4-only inside the tunnelDo not route ::/0; block IPv6 on the client
Endpoint is reached over IPv6 and sits inside ::/0Install a host route for the endpoint first

बाहेर पडणे खरोखर IPv6 वाहते का?

IPv6 पत्ता असलेले बोगदा इंटरफेस पलीकडच्या बाजूबद्दल काहीही सिद्ध करत नाही. अनेक व्यावसायिक प्रोफाइल आतून केवळ IPv4 आहेत: सर्व्हर तुम्हाला v4 पत्ता देतो आणि बाकी सर्व टाकून देतो. त्यावर AllowedIPs मधून डीफॉल्ट मार्ग बसवा आणि कर्नेल IPv6 आनंदाने अशा इंटरफेसमध्ये पाठवेल ज्याचा सोबती तो कधीच पाहत नाही.

बोगदा उभा असताना क्लायंटकडून तपासा. ping -6 -c 3 2001:4860:4860::8888 आणि ip -6 route get 2001:4860:4860::8888 वेगवेगळ्या प्रश्नांची उत्तरे देतात: उत्तर परत येते का, आणि कर्नेलने कोणते उपकरण निवडले. जेव्हा दुसरे तुमच्या बोगद्याचे नाव घेते आणि पहिले काहीही परत देत नाही, तेव्हा समस्या मार्गात नसून बाहेर पडण्यात आहे.

जर तुम्ही स्वतः बाहेर पडणे चालवत असाल, तर क्लायंट चाचणी उत्तीर्ण होऊ शकते आणि मार्ग तरीही रस्ता बंद होऊ शकतो. गेटवेवर net.ipv6.conf.all.forwarding=1 सुरू असल्याची आणि त्याचा फायरवॉल बोगद्यातून पुढे पाठवलेले पॅकेट स्वीकारत असल्याची खात्री करा. पुढे पाठवण्यास नकार देणाऱ्या बाहेर पडण्याकडे योग्यरीत्या मार्गस्थ केलेले पॅकेट क्लायंटच्या बाजूने नेमके मार्गदर्शन दोषासारखे दिसते.

क्लायंट अंतिम टप्प्यापर्यंतचा मार्ग ठेवू शकतो का?

हेच ते प्रकरण ज्याने मला केवळ IPv6 WireGuard अंतिम टप्पा असलेल्या लॅपटॉपवर पकडले. अंतिम टप्प्याचा पत्ता सामान्य जागतिक पत्ता आहे, म्हणून तो ::/0 मध्ये येतो. संपूर्ण प्रीफिक्स इंटरफेसमध्ये मार्गस्थ करा आणि हातमिळवणीचे पॅकेट जो बोगदा ते अजून बांधण्याचा प्रयत्न करत आहेत त्यात स्वतःला हाकलतील. बोगदा कधीच उभा राहत नाही, आणि क्लायंटच्या आउटपुटमध्ये का हे काहीही सांगत नाही.

wg-quick Linux वर हे हाताळते. ते AllowedIPs मधून मार्ग काढते, त्यांना स्वतःच्या सारणीत स्थापित करते आणि अंतिम टप्प्याकडची रहदारी आधी मुख्य सारणीतून सोडवण्यासाठी धोरण नियम जोडते: suppress_prefixlength 0 नियम, तो ip -6 rule मध्ये सापडतो. म्हणूनच wg-quick up हाताने लिहिलेला ip -6 route add default dev wg0 तुम्हाला कापतो तिथे यशस्वी होतो.

बोगदा उभा करण्यापूर्वी आणि नंतर, दोन्ही स्थिती ip -6 route get <endpoint-v6> ने तपासा. उत्तर तुमच्या बोगदा उपकरणाकडे बदलले तर, बोगद्याला आवश्यक असलेला मार्ग तुम्ही काढून टाकला आहे. जेव्हा तुम्ही मार्ग स्वतः लिहिता, तेव्हा मूळ गेटवेमधून अंतिम टप्प्यापर्यंत होस्ट मार्ग जोडा, किंवा IPv4 ने अंतिम टप्प्याशी जोडा आणि IPv6 पेलोडवर सोडा.

बोगद्याबाहेर काय राहिले पाहिजे?

अधिक विशिष्ट मार्ग डीफॉल्टवर मात करतात, म्हणून दुव्यावरील प्रीफिक्स किंवा स्वतःचा मार्ग असलेली ULA श्रेणी अधिक प्रयत्नाशिवाय चालू राहते. हेच अनेक पूर्ण बोगदा IPv4 संरचना टिकून राहण्याचे शांत कारण आहे: LAN प्रीफिक्स डीफॉल्टपेक्षा अधिक विशिष्ट आहेत आणि कधीच बोगद्यात जात नाहीत.

स्थानिक उपकरण जागतिक पत्त्याने पोहोचण्यायोग्य असताना हे तुटते, जे त्याच राउटरने सार्वजनिक प्रीफिक्स दिलेल्या प्रिंटर, NAS किंवा दूरदर्शनसाठी सामान्य आहे. ते पत्ते ::/0 शी जुळतात, इतर कशाशीही नाही, म्हणून ते बाकी सर्वांसोबत बोगद्यात जातात आणि अदृश्य होतात.

प्रोटोकॉलनुसार नाही, गंतव्यानुसार ठरवा. दोन किंवा तीन स्थानिक होस्ट महत्त्वाचे असतील, तर त्यांच्या प्रीफिक्सना भौतिक इंटरफेसने बाहेर जाणारा मार्ग द्या, किंवा वाटाघाटी केलेल्या संचातून काढून टाका. यादी वाढत राहिल्यास, प्रामाणिक उत्तर म्हणजे लेखी अपवाद यादीसह IPv6 साठी स्प्लिट टनेलिंग, तुम्ही सतत पॅच करत असलेला डीफॉल्ट नाही.

उत्तर नाही असेल तर ते अडवा

IPv6 मार्गाशिवाय सोडणे हे ते एकटे सोडण्यासारखे नाही. चालू IPv6 डीफॉल्ट असलेला होस्ट बोगदा IPv4 वाहत असतानाही तो वापरत राहतो, म्हणून रहदारी VPN च्या बाजूने बाहेर पडते आणि IPv6 ला प्राधान्य देणारी प्रत्येक सेवा तुमचा खरा पत्ता पाहते. ते गळती आहे, स्प्लिट बोगदा नाही.

एक निवडा आणि कोणता निवडला ते लिहा. डीफॉल्ट मार्गस्थ करा आणि वरील तडजोडी स्वीकारा, किंवा बोगदा असेपर्यंत IPv6 बंद ठेवा. AllowedIPs मधून प्रीफिक्स वगळणे एकट्याने पुरत नाही, कारण ऑपरेटिंग सिस्टम स्वतःचा डीफॉल्ट ठेवते. Linux वर ढोबळ आवृत्ती sysctl -w net.ipv6.conf.all.disable_ipv6=1 आहे; बारीक आवृत्ती फायरवॉल नियमाने IPv6 बोगद्याबाहेर टाकते. फोन क्लायंटमध्ये तेच काम करणारा स्पष्ट IPv6 अडवण्याचा टॉगल असतो.

गळतीसारखे तपासा

बोगदा उभा करा आणि टॉगलवर विश्वास ठेवण्याऐवजी स्थिती वाचा. ip -6 route show default एक डीफॉल्ट दाखवले पाहिजे, आणि तुमच्या LAN बाहेरच्या गंतव्यासाठी ip -6 route get ने बोगदा उपकरणाचे नाव सांगितले पाहिजे. डिस्कनेक्टनंतर दोन्ही पुन्हा करा: बोगद्यापेक्षा जास्त टिकणारा डीफॉल्ट हाच तुम्ही शोधत असलेला दोष.

नंतर उलट दिशा तपासा. स्थानिक नेटवर्कमधील होस्टवरून क्लायंटला त्याच्या स्थानिक IPv6 पत्त्यावर पोहोचा. हे चालणे थांबले तर, तेव्हा मार्ग सारणी काहीही सांगत असली, तरी तिसरी अट कधीच पूर्ण झाली नव्हती.

निकाल तिथे लिहा जिथे पुढच्या व्यक्तीला तो सापडेल: कोणते प्रीफिक्स स्थानिक राहतात, का, आणि डिस्कनेक्टनंतर क्लायंट काय करतो. runbook मधील दोन ओळी पुढच्या अभियंत्याला मध्यरात्री अंतिम टप्प्याचा लूप पुन्हा शोधण्यापासून वाचवतात.

संबंधित लेख