WireGuard हैंडशेक की आयु सत्र टाइमआउट नहीं है
कुंजी नवीनीकरण के टाइमर कुंजियों को नियंत्रित करते हैं, उपयोगकर्ता की पहुँच को नहीं। latest-handshakes पढ़ना किसी एक पीयर की प्रोटोकॉल स्थिति बताता है, यह नहीं कि उसका प्राधिकरण समाप्त हो गया है।
जो पीयर ट्रैफ़िक भेजना बंद कर देता है, वह इससे अपनी कुंजी नहीं खोता, और नया हैंडशेक यह साबित नहीं करता कि किसी ने उसके उपयोग की अनुमति नवीनीकृत की है। WireGuard के टाइमर कुंजियों को ताज़ा और पैकेटों को गतिमान रखते हैं; वे ऐसे उपयोगकर्ता का मॉडल नहीं बनाते जो तय मिनटों के बाद लॉग आउट होता है। यहाँ तीन प्रश्न आपस में मिल जाते हैं, और हर एक के साक्ष्य अलग हैं। यही अंतर तय करता है कि कौन-सा उपकरण चुनें।
तीन प्रश्न, एक कमांड आउटपुट
ऑपरेटर पूछते हैं कि पीयर पहुँच योग्य है या नहीं, सक्रिय रहा है या नहीं, और अभी भी अनुमत है या नहीं। पहला प्रोटोकॉल स्थिति है, दूसरा ट्रैफ़िक काउंटर और तीसरा प्राधिकरण। केवल पहले दो WireGuard इंटरफ़ेस से पढ़े जा सकते हैं, और उन्हें आमतौर पर तीनों का उत्तर देने के लिए इस्तेमाल किया जाता है।
| Question | Evidence it needs | What does not answer it |
|---|---|---|
| Is the peer reachable now? | A recent handshake and a working return path | An interface that exists |
| Has it been active? | Transfer counters moving over time | A handshake timestamp alone |
| Is access still granted? | The configuration or controller that authorizes it | Any protocol timer |
पंक्तियों को तीन अलग जाँचों के रूप में पढ़ें। पहली दो सस्ती हैं और इंटरफ़ेस के अपने काउंटरों से उत्तर दी जा सकती हैं। तीसरी को वह कॉन्फ़िगरेशन चाहिए जो पहुँच देता है, और वह किसी दूसरी फ़ाइल या दूसरे सिस्टम में रहता है। गलत पंक्ति चुनना यह है कि किसी प्रोटोकॉल टाइमर से नीति का काम माँगा जाए।
टाइमर वास्तव में क्या नियंत्रित करते हैं
प्रोटोकॉल हैंडशेक के पुनःप्रयास, ट्रांसपोर्ट कुंजियों के घूर्णन और पुरानी कुंजी से सुरक्षित पैकेटों को अस्वीकार करने के लिए स्थिरांक परिभाषित करता है। ये ट्रैफ़िक और स्थिति पर प्रतिक्रिया देते हैं, किसी कैलेंडर या ऐसी नीति पर नहीं जो कहे कि कोई व्यक्ति 17:00 तक जुड़ा रह सकता है। इसीलिए निष्क्रिय पीयर घंटों तक निष्क्रिय दिख सकता है और फिर भी प्राधिकृत रह सकता है।
PersistentKeepalive को अक्सर गुम टाइमआउट समझ लिया जाता है। यह NAT मैपिंग को जीवित रखने के लिए प्रमाणित खाली पैकेट भेजता है, और इसे शून्य पर सेट करना कुछ भी रद्द किए बिना उन पैकेटों को रोक देता है।
प्रति पीयर रनटाइम स्थिति पढ़ें, टिप्पणी के बजाय सार्वजनिक कुंजी का उपयोग करते हुए:
wg show wg0 latest-handshakes
wg show wg0 transfer
हालिया हैंडशेक बताता है कि एक हैंडशेक पूरा हुआ। यह नहीं बताता कि टनल के पीछे की निजी सेवा पहुँच योग्य है, और पुराना टाइमस्टैम्प ऐसे पीयर का हो सकता है जो बस चुप है।
निष्क्रिय पीयर लॉग आउट पीयर क्यों नहीं है
WireGuard में आरंभ और अंत वाला सत्र ऑब्जेक्ट नहीं है। पीयर अनुमत पतों वाली सार्वजनिक कुंजी है, और उसके ट्रैफ़िक की रक्षा करने वाला हैंडशेक आवश्यकता पर बदला जाता है, बिना किसी ऐसे लॉगिन के जो उपयोगकर्ता को दिखे। हालिया ट्रैफ़िक के अभाव को लॉग आउट मानना मॉडल को उलट देता है।
यदि असली शिकायत यह है कि निष्क्रिय रहने के बाद कनेक्शन विफल हो जाता है, तो कारण आमतौर पर कहीं और होता है: समाप्त NAT मैपिंग, सोया हुआ उपकरण, या ऐसा फ़ायरवॉल जिसने स्थिति गँवा दी। दूसरी ओर से ट्रैफ़िक भेजकर और नया प्रवाह शुरू करके जाँचें, और तुलना करें कि क्या बदलता है।
समय-सीमा वहीं रखें जहाँ प्राधिकरण रहता है
यदि पहुँच को किसी निश्चित समय पर समाप्त होना है, तो समय-सीमा उसी की है जो पहुँच देता है। पीयर कॉन्फ़िगरेशन जारी करने वाला कंट्रोलर नया देने से पहले नवीनीकृत स्वीकृति माँग सकता है, और यह कंट्रोलर का गुण है, इंटरफ़ेस का छिपा पैरामीटर नहीं।
हाथ से प्रबंधित पीयरों के लिए, हटाना दो जगह पहुँचना चाहिए: चल रहा इंटरफ़ेस और सहेजा गया कॉन्फ़िगरेशन। पीयर को केवल रनटाइम में हटाना रीस्टार्ट या सुलह लूप से पलट जाता है, जो वह पहचान लौटा देता है जिसे आप समाप्त मान चुके थे:
sudo wg set wg0 peer <public-key> remove
sudo wg-quick save wg0
फिर लेबल नहीं, सीमा जाँचें। पुष्टि करें कि पीयर समय-सीमा के बाद अस्वीकार होता है, नवीनीकरण पथ काम करता है, और स्थिति प्रबंधक के पुनःलोड के बाद भी बनी रहती है। हैंडशेक की आयु एक उपयोगी परिचालन संकेत है, और यह पहुँच रिकॉर्ड नहीं है।