WireGuard डीफॉल्ट रूट लूप: एंडपॉइंट मार्ग शोधा
डीफॉल्ट रूट टनेलचे स्वतःचे एन्क्रिप्टेड पॅकेट पुन्हा त्याच्या आत पाठवते. एंडपॉइंट मार्ग वाचा, एक होस्ट रूट जोडा, नंतर पडताळा आणि मागे फिरवा.
इंटरफेस वर येतो, पीअर कॉन्फिगरेशन बरोबर दिसते, आणि कोणताही हातमिळवणी कधीही पूर्ण होत नाही। टनेलमधून डीफॉल्ट रूट जोडणे हे पुष्कळदा हे घडवणारे पाऊल आहे: तोच रूट तक्ता आता टनेलच्या स्वतःच्या एन्क्रिप्टेड पॅकेटना कुठे जायचे हे ठरवतो, आणि तो देत असलेले उत्तर पुन्हा टनेलमध्ये जाते। आतील पॅकेट वाहून नेणारे बाहेरील पॅकेट वाहून नेणारे काहीही नाही, म्हणून जोडणी सुरू होण्यापूर्वीच थांबते। दुरुस्ती लहान आहे, पण तिला एक क्रम आहे, आणि पडताळणी संपादनापेक्षा महत्त्वाची आहे।
रूट बदलण्यापूर्वी लूपची खात्री करा
पीअरचा सध्याचा एंडपॉइंट पत्ता वाचा आणि नंतर राउटिंग स्टॅकला विचारा की त्या पत्त्यावर जाणारे पॅकेट कुठे जाईल। उत्तर टनेल इंटरफेसचे नाव घेत असल्यास, लूपची खात्री झाली आहे आणि पुढील निदानाची गरज नाही। काहीही स्पर्श करण्यापूर्वी दोन्ही आउटपुट बदल नोंदीत जतन करा, कारण दुरुस्तीनंतरची तुलना त्या दोनच आज्ञा आहेत। लूप एकदा दिसल्यावर सूक्ष्म नसतो; अडचण ही आहे की ते घडत असताना इंटरफेस निरोगी दिसतो।
sudo wg show wg1 endpoints
ip route get 198.51.100.20
ip rule show
त्या कॅप्चरमध्ये धोरण नियम समाविष्ट करा। मुख्य तक्त्यात बरोबर दिसणारा डीफॉल्ट रूट, चिन्हांकित किंवा अचिन्हांकित रहदारीसाठी वेगळा तक्ता निवडणाऱ्या नियमाकडून तरीही हरू शकतो, आणि रूट तक्ता ठीक दिसत असला तरी लूप पुन्हा प्रकट होईल।
एंडपॉइंट मार्ग वाचा, टनेल मार्ग नाही
एंडपॉइंट मार्ग म्हणजे एन्क्रिप्टेड डेटाग्राम पीअरच्या सार्वजनिक पत्त्यापर्यंत जाणारा मार्ग, आणि टनेल असेपर्यंत तो टनेलच्या बाहेर राहिला पाहिजे। टनेल मार्ग म्हणजे पीअरला वाहून नेण्याची परवानगी असलेले सर्व काही। हे दोन मार्ग एकच रूट तक्ता सामायिक करतात, आणि म्हणूनच एकच सर्वग्राही नोंद त्यांना एकमेकांत कोसळवू शकते। टनेलची रहदारी टनेलच्या स्वतःच्या वाहतुकीपासून वेगळी करणे ही संपूर्ण रचना समस्या आहे, आणि प्रत्येक समर्थित साधन ती कुठेतरी थोड्या वेगळ्या पद्धतीने सोडवते।
इंटरफेस दोन्ही वाहून नेत असल्यास दोन्ही पत्ता कुटुंबे स्वतंत्रपणे तपासा। कार्यरत IPv4 वगळणे हे IPv6 एंडपॉइंट अजूनही पोहोचण्यायोग्य आहे का याबद्दल काहीही सांगत नाही, आणि मिश्र संरचना पीअरचा IPv6 पत्ता निवडला जाईपर्यंत कार्यरत वाटू शकते।
एका सुसंगत बदलाने एंडपॉइंट मार्ग पुनर्संचयित करा
दोन समर्थित दृष्टिकोन आहेत, आणि ते मिसळणे हेच कार्यरत सेटअप अप्रत्याशित होण्याचे कारण आहे। पहिला म्हणजे इंटरफेसच्या मालक असलेल्या साधनाला संपूर्ण टनेल सांभाळू देणे: wg-quick कडे डीफॉल्ट पीअर श्रेणीसाठी समर्पित हाताळणी आहे जी वेगळा तक्ता, धोरण नियम आणि सॉकेट चिन्ह स्थापित करते, जे बाहेरील पॅकेट टनेलच्या बाहेर ठेवते। ती यंत्रणा अखंड ठेवा, त्यातील अर्धा भाग हाताने पुन्हा तयार करण्याऐवजी। हाताने जोडलेला डीफॉल्ट आधीच चिन्हे आणि नियम स्थापित करणाऱ्या व्यवस्थापकासोबत मिसळणारा सेटअप पुन्हा जोडल्यानंतर अयशस्वी होतो, कारण व्यवस्थापक हाताच्या पायरीने गृहीत धरलेली स्थिती पुन्हा लिहितो।
दुसरा म्हणजे हाताने केलेली रचना, ज्यात एंडपॉइंटला भौतिक गेटवेमार्फत स्पष्ट होस्ट रूट मिळतो। तो रूट डीफॉल्टपूर्वी जोडा, जोडण्याऐवजी बदला जेणेकरून जुनी नोंद जिंकू शकणार नाही, आणि नंतर शोधाची खात्री करा।
sudo ip route replace 198.51.100.20/32 via 192.0.2.1 dev eth0
ip route get 198.51.100.20
sudo ip route add default dev wg1
पडताळा, नंतर परत जाण्याचा मार्ग ठेवा
पुढे सरकणारा हातमिळवणीचा वेळठसा हा पहिला पुरावा आहे, आणि तो केवळ अस्तित्वात असलेल्या इंटरफेसपेक्षा बळकट आहे। टनेलमधून केलेल्या अनुप्रयोग चाचणीने तो पुढे न्या, नंतर हेतुपुरस्सर इंटरफेस खाली घ्या आणि होस्ट काहीही न दाखवणारा डीफॉल्ट रूट धरून न ठेवता वापरण्यायोग्य स्थितीत परत येतो याची खात्री करा। ती शेवटची पायरी लोक वगळतात, आणि रीबूट मशीनला जोडणीविना सोडेल का हे तीच ठरवते।
sudo wg show wg1 latest-handshakes
sudo wg-quick down wg1
ip route show default
ip route get 198.51.100.20
यापैकी काहीही करण्यापूर्वी, सध्याची राउटिंग स्थिती जतन करा आणि टनेलवर अवलंबून नसलेला प्रवेश मार्ग आहे याची खात्री करा: कन्सोल, आउट-ऑफ-बँड व्यवस्थापन पत्ता किंवा जागेवरचा सहकारी। डीफॉल्ट रूट गमावलेल्या दूरच्या मशीनला नुकत्याच गमावलेल्या जोडणीवरून पुनर्प्राप्त करता येत नाही, आणि रनबुकमधील सर्वात सुरक्षित पायरी म्हणजे पहिल्या आज्ञेपूर्वी घेतलेली पायरी।