wg set ने जोडलेला पीअर दुपारभर ping ला उत्तर देतो आणि रीबूटनंतर गायब होतो। काहीही खराब झाले नाही: कर्नेलने तो पीअर जिवंत इंटरफेसशिवाय कुठेही ठेवला नव्हता, आणि बूटच्या वेळी इंटरफेस पुन्हा तयार करणारी कोणतीही गोष्ट तुम्ही न छुंलेल्या फाइलमधून तो बनवते। दुरुस्ती दुसरा wg set नाही। कोणता घटक इंटरफेसचा मालक आहे हे शोधणे, त्या घटकाची स्थिती संपादित करणे, आणि नंतर पीअर तो काढून टाकणाऱ्या नेमक्या जीवनचक्र घटनेतून टिकून राहतो हे सिद्ध करणे हीच खरी दुरुस्ती आहे।

एकदा जाणीवपूर्वक त्याची पुनरावृत्ती करा

रीस्टार्टची समस्या स्वतःच्या डोळ्यांनी पाहण्यापूर्वी दुरुस्त करू नका। कन्सोल किंवा आउट-ऑफ-बँड प्रवेश उपलब्ध असल्यास पीअरची यादी लिहून घ्या, इंटरफेसचा मालक असलेल्या सेवेद्वारे रीस्टार्ट करा आणि तुलना करा। पीअर अजूनही तिथे असल्यास तुमचा बदल आधीच टिकाऊ स्थितीत पोहोचला आहे आणि तुम्ही चुकीच्या घटनेचे डीबग करत आहात।

हे करताना तीन तथ्ये लिहा: इंटरफेसचे नाव, तो सुरू करणारे युनिट किंवा प्रोफाइल, आणि टिकून राहिलेल्या पीअरवरील हँडशेक काउंटर रीसेट झाला आहे का। रीसेट झालेला काउंटर म्हणजे इंटरफेस नष्ट झाला आणि पुन्हा तयार झाला; काउंटर बदलला नाही पण पीअर गायब आहे म्हणजे कुणीतरी तुमच्या पायाखालचे कॉन्फिगरेशन संपादित केले।

इंटरफेसचा मालक कोण आहे?

WireGuard ला स्वतःचा डेमॉन किंवा कॉन्फिगरेशन फाइल नाही। त्याच्या वरची एखादी गोष्ट बूटच्या वेळी wg ला कॉल करते आणि तीच गोष्ट सत्याचा स्रोत आहे। नेहमीचे उमेदवार म्हणजे [email protected], NetworkManager कनेक्शन प्रोफाइल, वितरण-विशिष्ट नेटवर्क युनिट, किंवा स्वतःचा डेटाबेस लिहिणारा व्यवस्थापन पॅनेल।

तुमच्या वितरणाच्या दस्तऐवजांना नाही, सिस्टमला विचारा। systemctl status wg-quick@wg0 आणि nmcli connection show सहसा प्रत्येकी एका कमांडने हे निकाली काढतात। दोन्ही इंटरफेसवर दावा करत असतील तर काहीही संपादित करण्यापूर्वीच तुम्हाला बग सापडला आहे: दोन मालक प्रत्येक सुरुवातीला तेच उपकरण पुन्हा लिहितात आणि शेवटी चालणारा जिंकतो।

systemctl status wg-quick@wg0 --no-pager
grep -R "Address\|SaveConfig\|PostUp" /etc/wireguard/wg0.conf
nmcli -g NAME,TYPE connection show
wg show wg0 peers

रनटाइम स्थिती आणि स्टार्टअप स्थिती एकच फाइल नाही

wg set जिवंत उपकरण netlink द्वारे हाताळते। ते /etc/wireguard/wg0.conf, NetworkManager प्रोफाइल किंवा पॅनेलचा डेटाबेस लिहित नाही। नंतरचे यशस्वी wg show कर्नेलने पीअर स्वीकारले हे सिद्ध करते, काहीतरी तो पुनर्संचयित करेल हे नाही।

विरुद्ध दिशेने दुसरा सापळा आहे। इंटरफेस खाली उतरवताना wg-quick चा SaveConfig पर्याय सध्याची इंटरफेस स्थिती कॉन्फिगरेशन फाइलमध्ये परत लिहितो। तो सुरू असल्यास इंटरफेस वर असताना फाइलमध्ये केलेला बदल पुढील बंद होण्याने झाकून जाऊ शकतो आणि ती ओळ तिथे होती अशी तुम्ही शपथ घ्याल। पीअर सतत परत येत असेल तर फाइल थांबवल्यानंतर वाचा, आधी नाही।

NetworkManager पुन्हा वेगळे वागते: प्रोफाइल त्याचे आहे आणि सक्रियतेच्या वेळी ते लागू करते, म्हणून सक्रिय NetworkManager कनेक्शनच्या शेजारी हाताने संपादित केलेला .conf फक्त सजावट आहे। इंटरफेससाठी एकच मालक निवडा आणि दुसऱ्या व्यवस्थापकाला तो शांत ठेवू द्या।

बदल दोन्ही ठिकाणी पोहोचेल याची खात्री करा

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

# 1. persistent state (wg-quick owner)
sudo vi /etc/wireguard/wg0.conf

# 2. apply through the owner, not by hand
sudo systemctl restart wg-quick@wg0

# 3. verify runtime matches the file
sudo wg show wg0
sudo wg showconf wg0

wg showconf जिवंत कॉन्फिगरेशन फाइल वापरते त्या सिंटॅक्समध्ये छापते, त्यामुळे दोन्हींची थेट तुलना करता येते। त्या आउटपुटला गुप्त माना: त्यात खासगी की असतात, म्हणून ते तिकीट किंवा चॅट चॅनेलमध्ये पेस्ट करू नका। पीअरच्या सार्वजनिक की आणि परवानगी असलेल्या IP ची तुलना करा आणि जाणीवपूर्वक काढलेला पीअर परत आला नाही याची खात्री करा।

ते जीवनचक्र घटनेतून टिकून राहते हे सिद्ध करा

मालकाच्या मार्गाने दुसऱ्यांदा रीस्टार्ट करा, नंतर तीन वेगळ्या गोष्टींची पुष्टी करा: पीअर wg show मध्ये दिसतो, रहदारीनंतर हँडशेक काउंटर वाढतो आणि टनेलवर अवलंबून असलेले अनुप्रयोग प्रत्यक्षात उत्तर देतात। जुन्या हँडशेकसह सूचीबद्ध पीअर ही राउटिंग किंवा कीची समस्या आहे, टिकाऊपणाची समस्या नाही आणि हा फरक निरुपयोगी कॉन्फिगरेशन बदल टाळतो।

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

संबंधित लेख