Raspberry Pi VPN सर्व्हर Ethernet वर कसा हलवायचा
एंडपॉइंट नाव, लिसनर बाइंडिंग, पोर्ट फॉरवर्डिंग किंवा एक-पायरी परतीचा मार्ग न बदलता Raspberry Pi VPN सर्व्हर Wi-Fi वरून Ethernet वर हलवा।
Pi ला Wi-Fi वरून केबलवर नेणे पाच मिनिटांचे काम वाटते, आणि ते तसेच राहते फक्त तेव्हाच जेव्हा तुम्ही हा बदल एक नाही तर चार स्वतंत्र सेटिंग्ज म्हणून पाहता। तुमचे क्लायंट ज्या एंडपॉइंट नावाला डायल करतात ते अगदी तसेच राहू शकते, तर त्याखालील पत्ता बदलतो। खरोखर तुटते ते जुन्या पत्त्यावर खिळलेला लिसनर, अजूनही वायरलेस लीजकडे निर्देश करणारे पोर्ट फॉरवर्ड, किंवा तुम्ही निवृत्त मानलेल्या इंटरफेसवरून बाहेर पडणारा परतीचा मार्ग। हे मार्गदर्शक प्रत्येक पायरीवर पुनर्प्राप्तीचा मार्ग उघडा ठेवते, म्हणून अयशस्वी कटओव्हरची किंमत एक रीबूट आहे।
काहीही काढण्यापूर्वी चार मालक लिहून घ्या
चार सेटिंग्ज ठरवतात की कटओव्हर टिकेल की नाही: Pi चा पत्ता, OpenVPN चा बाइंडिंग पत्ता, राउटरचे रीडायरेक्ट लक्ष्य आणि जवाब ज्या मार्गाने जातात तो मार्ग। केबलला हात लावण्यापूर्वी चारही लिहून घ्या, कारण वायरलेस लीज गायब झाल्यावर तुम्ही मशीनवरून जुनी मूल्ये वाचू शकणार नाही। वायर्ड इंटरफेस वायरलेस प्रोफाइल वारसा घेत नाही, आणि Bookworm वर पत्ता NetworkManager मध्ये राहतो तर Bullseye तो dhcpcd.conf मध्ये ठेवतो। ज्या आरक्षणाने वायरलेस MAC पत्ता पिन केला होता ते eth0 बद्दल काहीही सांगत नाही। नव्या पत्त्याकडे स्वतःचा पुरावा लागणारे नवे वाटप म्हणून पाहा।
Old wireless lease: 10.42.7.24/24 on wlan0
New wired address: 10.42.7.31/24 on eth0
Client endpoint: vpn.lab.example:1194/udp
लिसनर हा दुसरा मालक आहे। सेवा एखाद्या विशिष्ट बाइंडिंग पत्त्यासह सुरू झाली असेल तर सॉकेट जुन्या इंटरफेससोबत मरते; जर ती सर्व पत्ते बांधत असेल तर सॉकेट टिकते आणि राउटरचा नियम दुरुस्त करायची एकमेव गोष्ट राहते।
रीडायरेक्ट लक्ष्य आणि परतीचा मार्ग हे लोक वगळतात ते मालक आहेत। अजूनही 10.42.7.24 कडे निर्देश करणारे फॉरवर्ड येणारे हँडशेक Pi कडे नसलेल्या पत्त्यावर पाठवते, म्हणून क्लायंट सर्व्हरकडे एकही लॉग ओळ नसताना टाइमआउट होतात। परतीचा मार्ग तेव्हा महत्त्वाचा ठरतो जेव्हा दोन्ही लिंक काही काळ सक्रिय असतात, कारण Pi राउटिंग टेबलला आवडणाऱ्या इंटरफेसवरून उत्तर देते, आणि तो नेहमी पॅकेट ज्या इंटरफेसवर आला तोच नसतो। खालील रूट लुकअप कर्नेल कोणता स्रोत निवडतो हे दाखवते।
नव्या पत्त्यावर विश्वास ठेवण्यापूर्वी खरे सॉकेट वाचा
कॉन्फिगरेशन फाइल्स हेतू सांगतात आणि सॉकेट वास्तव सांगते। तुम्हाला आठवणारे कॉन्फिग विश्वासात घेण्याऐवजी चालू सेवेला ती कशाशी बांधलेली आहे ते विचारा। OpenVPN 2.6 मॅन्युअल --local ला एका पत्त्यावर बाइंडिंग म्हणून परिभाषित करते आणि ते वगळल्यास प्रत्येक इंटरफेस बांधला जातो असे नमूद करते।
sudo systemctl cat openvpn-server@server | grep -n -- '--local'
sudo ss -lunp '( sport = :1194 )'
स्थिती स्तंभाऐवजी स्थानिक पत्ता स्तंभ वाचा। जी ओळ 10.42.7.24:1194 दाखवते तिचा अर्थ सॉकेट तुम्ही काढणार असलेल्या पत्त्यावर पिन केलेले आहे, तर 0.0.0.0:1194 किंवा *:1194 म्हणजे डेमॉन स्वतः इंटरफेस बदलाचा मागोवा घेईल। पत्ता पिन केलेला असेल तर चालू सॉकेट हाताने पुन्हा न लिहिता प्रोफाइल संपादित करा आणि युनिट रीस्टार्ट करा, नंतर सेवा अजूनही तिच्या प्रमाणपत्र आणि की फाइलींपर्यंत पोहोचते याची खात्री करा।
बदल तुम्हाला पोहोचण्यायोग्य ठेवणाऱ्या क्रमाने करा
इथे क्रम वेगापेक्षा जास्त महत्त्वाचा आहे। वायरलेस अजून चालू असताना वायर्ड लिंक वर आणा, नवा पत्ता आणि परतीचा मार्ग पक्का करा, आणि त्यानंतरच वायरलेस प्रोफाइल निवृत्त करा। हा क्रम काम करणारे सेशन तोपर्यंत उघडे ठेवतो जोपर्यंत बदललेली व्यवस्था सिद्ध होत नाही।
ip -br addr show eth0
ip route get 203.0.113.10
nmcli -g ipv4.method,ipv4.addresses con show "Wired connection 1"
पहिला कमांड उत्तर देतो की eth0 ला तुम्ही ठरवलेला पत्ता मिळाला का, आणि दुसरा कर्नेल बाहेरील गंतव्यासाठी वापरणारा स्रोत पत्ता छापतो, म्हणून तो बदलापूर्वी आणि नंतर चालवा। जर तो स्रोत अजूनही वायरलेस पत्ता असेल, तर वायर्ड लिंक अजून पसंतीचा मार्ग नाही आणि बाहेरून केलेली चाचणी OpenVPN शी काहीही संबंध नसलेल्या कारणाने अयशस्वी होईल। फॉरवर्डला हात लावण्यापूर्वी राउटिंग प्राधान्य दुरुस्त करा।
दोन्ही लिंक सक्रिय असताना Pi वायरलेस डीफॉल्ट रूटला प्राधान्य देऊ शकते कारण तो आधी बसवला गेला किंवा कारण वायर्ड लिंकचे मेट्रिक जास्त आहे। Bookworm वर समर्थित सेटिंग कनेक्शनवरील ipv4.route-metric आहे, आणि Bullseye वर त्याचे समतुल्य इंटरफेस-विशिष्ट metric ओळ dhcpcd.conf मध्ये आहे। रोलबॅक मार्ग एका कमांडच्या अंतरावर ठेवण्यासाठी वायरलेस लिंक बंद करण्याऐवजी तिचे प्राधान्य कमी करा।
टनेल बाहेरून सिद्ध करा, LAN मधून नाही
सोफ्यावरून चालणारे VPN कनेक्शन दिसते त्यापेक्षा कमी सिद्ध करते। LAN च्या आतून सार्वजनिक पत्त्याकडे जाणारा रहदारी hairpin किंवा परावर्तन नियमांतून जातो जे राउटर विसंगतीने लागू करतात, म्हणून उत्तीर्ण LAN चाचणी तुटलेल्या बाहेरील मार्गासोबतही राहू शकते। स्वीकृती चाचणीसाठी सेल्युलर डेटा असलेला फोन किंवा नेटवर्कबाहेरील कोणताही होस्ट वापरा। LAN चा प्रयत्न वेगळा ऐच्छिक निदान म्हणून ठेवा।
नंतर लॉग ज्या क्रमाने पॅकेट येतात त्याच क्रमाने वाचा। अगदी काहीच नसणे म्हणजे हँडशेक Pi पर्यंत कधी पोहोचलाच नाही, म्हणून रीडायरेक्ट लक्ष्य किंवा होस्ट फायरवॉल चुकीचे आहे। सुरू होऊन अडकणारा हँडशेक किल्ल्या, प्रमाणपत्रे किंवा MTU कडे निर्देश करतो। पूर्ण होऊन पडणारे सेशन सहसा परतीचा मार्ग किंवा दुसरा डीफॉल्ट रूट दर्शवते, आणि क्लायंटची लॉग ओळ Initialization Sequence Completed सांगते की टनेल स्वतः वर आले।
sudo journalctl -u openvpn-server@server -n 40 --no-pager
sudo tcpdump -ni any udp port 1194 -c 20
क्लायंट पुन्हा प्रयत्न करत असताना सर्व्हर लॉगमध्ये काहीच दिसत नसेल, तर OpenVPN कॉन्फिग वाचणे थांबवा आणि रीडायरेक्ट लक्ष्याकडे परत जा। कॅप्चर पोहोचण्याच्या प्रश्नाचे उत्तर सेकंदांत देते, आणि उत्तर नसलेल्या येणाऱ्या पॅकेटमुळे समस्या रूटपर्यंत मर्यादित होते।
एक-पायरी रोलबॅक ठेवा आणि वायरलेस प्रोफाइल निवृत्त करा
वायर्ड व्यवस्था एक रीबूट पार करेपर्यंत वायरलेस प्रोफाइल इन्स्टॉल राहू द्या। nmcli con show तुम्हाला लागणाऱ्या प्रोफाइल नावांची यादी देतो, आणि मिटवलेले प्रोफाइल सर्वात वाईट क्षणी स्मरणातून पुन्हा बांधावे लागते। इंटरफेसचे नाव, पत्ता पद्धत आणि मेट्रिक इतर चार मूल्यांजवळ लिहा। नोटमधून टाइप करता येणारा रोलबॅक पुन्हा बांधावा लागणाऱ्यापेक्षा जास्त किमतीचा आहे।
वायरलेस अवलंबित्व निवृत्त करणे म्हणजे हटवणे नाही, गुणधर्म बदलणे। connection.autoconnect no सेट केल्यास क्रेडेन्शियल्स आणि पत्ता इतिहास सुरक्षित राहतो तर Pi तुम्ही सोडलेल्या नेटवर्कला पुन्हा जोडण्यापासून रोखले जाते।
nmcli con show
sudo nmcli con up "Wired connection 1"
sudo nmcli con mod "previously-used-wifi" connection.autoconnect no
काम पूर्ण घोषित करण्यापूर्वी चार गोष्टी पक्क्या करा: रीडायरेक्ट लक्ष्य वायर्ड पत्त्याशी जुळते, लिसनर एक रीस्टार्ट टिकून राहिला, बाहेरील क्लायंट हँडशेक पूर्ण करतो, आणि रीबूटनंतरही Pi वायर्ड पत्त्यावर उत्तर देतो। रीबूट हा फक्त चालू कर्नेलमध्ये असलेले वाटप पकडण्याचा सर्वात स्वस्त मार्ग आहे। चारांपैकी कुठलेही अयशस्वी झाल्यास, sudo nmcli con up ने वायरलेस प्रोफाइल पुन्हा वर आणा आणि लिहिलेल्या मूल्यांची चालू मूल्यांशी तुलना करा।