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

एंडपॉइंटची माहिती, पोहोचण्याची क्षमता नाही

WireGuard पीअरला कुठे पाठवायचे हे कळल्याशिवाय हातमिळवणी सुरू करत नाही। कॉन्फिगरेशन ते पत्ता आणि पोर्टच्या एंडपॉइंट म्हणून देते, आणि चालू स्थिती सध्या ज्या एंडपॉइंटवर त्याचा विश्वास आहे त्याचा मागोवा घेते।

wg show त्या चित्राच्या दोन्ही बाजू छापते, आणि आउटपुटमध्ये एंडपॉइंट नसलेला पीअर त्याची सार्वजनिक की आणि परवानगी दिलेले प्रीफिक्स कितीही बरोबर असले तरी काहीही सुरू करू शकत नाही। कोणताही नियम बदलण्यापूर्वी क्लायंटचा दृष्टिकोन सर्व्हरशी तुलना करा, कारण कोणाला काय माहीत आहे यावर दोघे अनेकदा सहमत नसतात।

पीअर एंडपॉइंट कसा शिकतो

WireGuard जाणूनबुजून शांत आहे। योग्यरित्या प्रमाणित केलेले पॅकेट पीअरला अपेक्षित नसलेल्या पत्त्यावरून आल्यास, अंमलबजावणी त्या पीअरचा एंडपॉइंट नवीन स्रोताकडे अद्ययावत करते, आणि नेटवर्क बदलणाऱ्या लॅपटॉपवर रोमिंग अशाच प्रकारे काम करते। ते वर्तन दिशेवरील अवलंबन स्पष्ट करते: सर्व्हरने आधी पाठवले आणि त्याचे पॅकेट क्लायंटपर्यंत पोहोचले, तर क्लायंट सर्व्हरचा सध्याचा पत्ता शिकतो आणि उत्तर देऊ शकतो। तोपर्यंत त्याला पाठवायला जागा नाही। ही यंत्रणा पहिल्या वापरातील विश्वासाची शॉर्टकट नाही, प्रमाणित रोमिंग आहे, कारण एंडपॉइंट सरकण्यापूर्वी पॅकेट वैध असणे आवश्यक होते।

wg साठी साधन दस्तऐवज ते अद्ययावत वर्णन करतो, आणि त्याभोवती रचना करायची असेल तर एकदा वाचणे योग्य आहे।

स्थिती असलेले भाषांतर स्वतःची दिशा जोडते

UDP भाषांतर करणाऱ्या गेटवेमधून जातो तेव्हा, गेटवेला दिसलेल्या पहिल्या पॅकेटसाठी स्थिती तयार करते। RFC 4787 ते वर्तन आणि शेवटी मॅपिंग काढून टाकणाऱ्या मुदतींचे वर्णन करते। निष्क्रिय मॅपिंग संपते, आणि दूरच्या बाजूने येणारे आवक पॅकेट नंतर यजमानापर्यंत पोहोचण्यापूर्वी गेटवेद्वारे टाकून दिले जाते। सकाळभर काम करणारा बोगदा नेमक्या याच कारणाने दुपारनंतर उत्तर देणे थांबवतो।

ही समान दिशात्मक लक्षण निर्माण करणारी दुसरी आणि स्वतंत्र यंत्रणा आहे। एंडपॉइंटची माहिती आणि भाषांतर स्थिती दोन्ही बरोबर असणे आवश्यक आहे, आणि एक दुरुस्त केल्याने दुसरे दुरुस्त होत नाही।

तुम्हाला खरोखर हवी असलेली दिशा कॉन्फिगर करा

ज्या क्लायंटला जोडणी सुरू करायची आहे त्यासाठी सर्व्हरचा एंडपॉइंट क्लायंटच्या पीअर विभागात ठेवा आणि तिथेच राहू द्या। सर्व्हर आधी पाठवेल यावर विसंबून राहणे म्हणजे रहदारीच्या क्रमातील अशा योगायोगावर विसंबून राहणे जो शांत नेटवर्कमध्ये बदलेल। कॉन्फिगरेशनने इच्छित दिशा जाहीर करावी, ती शोधू नये।

भाषांतरामागील आणि पोहोचण्यायोग्य राहणे आवश्यक असलेल्या पीअरसाठी त्या बाजूला सतत keepalive सक्षम करा। दर 25 सेकंदाला keepalive हे नेहमीचे प्रारंभिक मूल्य आहे, आणि त्याचा उद्देश बोगदा तपासणे नाही तर मॅपिंग उघडे ठेवणे आहे। ते वाहून नेण्यासाठी एक बाजू निवडा, कारण दोन्ही बाजूंना सक्षम केल्यास निकाल सुधारल्याशिवाय रहदारी आणि लॉगचा गोंगाट दुप्पट होतो।

ट्रिगरच्या आधी आणि नंतर स्थितीची तुलना करा

ज्या क्षणी ते अयशस्वी होते तेव्हा दोन्ही दृश्ये कॅप्चर करा, नंतर सर्व्हरने पाठवल्यानंतर पुन्हा। पहिला आदेश एंडपॉइंट आणि हातमिळवणीचे वय दाखवतो। दुसरा पोर्टसाठी भाषांतर नोंद आहे का हे दाखवतो। कॅप्चर कोणती दिशा खरोखर तारेमधून गेली हे दाखवते, आणि मार्ग तपासणी क्लायंट ती रहदारी पूर्णपणे दुसरीकडे पाठवत नाही याची खात्री देते।

wg show
conntrack -L -p udp 2>/dev/null | grep 51820
tcpdump -ni any -c 20 'udp port 51820'
ip route get 198.51.100.7

एंडपॉइंट स्तंभ आणि भाषांतर नोंद एकत्र लिहा। एंडपॉइंट नसलेला पीअर आणि मॅपिंग नसलेला गेटवे या दोन वेगळ्या दोष आहेत। त्यापैकी फक्त एकच keepalive ने सुधारतो।

संबंधित लेख