VPN सर्व्हर नवीन सार्वजनिक IP वर हलवणे: आधी काय तपासावे
जागेवरची बदली आणि समांतर कटओव्हर वेगवेगळ्या ठिकाणी तुटतात. कॉन्फिग, NAT आणि प्रमाणपत्रे तपासा, नंतर प्रत्येक क्लायंट नाव कसे सोडवते ते पहा.
पत्ता पुन्हा नेमून देण्यास एक मिनिट लागते. पुढील आठवडाच तो ठिकाण असतो जिथे हालचाल तुटते, आणि पुरवठादाराचा कन्सोल सुचवतो तिथे क्वचितच. नवीन सार्वजनिक IP चार ठिकाणी संदर्भित होतो: डेमन ज्या सॉकेटवर ऐकतो ते, क्लायंट जो विश्वास अँकर तपासतात तो, जुना पत्ता नावाने नमूद करणारा प्रत्येक नियम, आणि त्यांना जोडणारे DNS रेकॉर्ड. दोन हालचाली नियंत्रण पॅनेलवरून सारख्याच दिसतात पण पूर्णपणे वेगळ्या वागतात: आपण चालवता त्या मशीनवर पत्ता पुन्हा नेमून देणे, किंवा दुसरे एंडपॉइंट उभे करून क्लायंट तिथे हलवणे. खालील तपासण्या स्वस्त अपयशांना आधी ठेवतात, आणि प्रत्येक विभाग कोणत्या हालचालीला लागू होतो ते सांगतो.
जागेवरची बदली आणि समांतर कटओव्हर वेगवेगळी कामे आहेत
जागेवरची बदली यजमान, किल्ल्या, मार्गनिर्देशन सारणी आणि वापरकर्ता यादी ठेवते; फक्त पत्ता बदलतो. तरंगते IP पुन्हा नेमून देणे हेच करते, आणि अनेक पुरवठादारांमध्ये पाहुण्याला याची जाणीवही होत नाही, कारण भाषांतर इन्स्टन्सच्या पुढे होते. पुनर्बांधणी किंवा पुरवठादाराकडून पुनर्नेमणूक कठीण असते: पाहुणा बदल पाहतो, आणि ज्याने जुने मूल्य कॅश केले त्याला त्याच क्षणी ते कळते.
समांतर एंडपॉइंट म्हणजे तेच काम करणारा दुसरा यजमान. तो बांधा, एका प्रोफाइलने तपासा, आणि नवा स्वतःला खऱ्या मार्गावर सिद्ध करेपर्यंत जुन्याला उत्तर देत राहू द्या. किंमत म्हणजे स्थिती. सामायिक peer नोंदी, रद्दीकरणे आणि लॉगिंग नसल्यास तुमच्याकडे एकच नाव योगायोगाने सामायिक करणारे दोन नेटवर्क असतात.
| Question | In-place swap | Parallel endpoint |
|---|---|---|
| Rollback in one step? | Only if you can get the old address back | Point DNS back; old host still up |
| Blast radius | Every client at once | Only the clients you moved |
| Best when | The address is yours to reassign | The old address is gone for good |
जुना पत्ता जिथे लिहिलेला आहे ते प्रत्येक ठिकाण शोधा
मजकूर शोधाने सुरुवात करा, कारण कॉन्फिगरेशन फाइल्स सोपा अर्धा भाग आहेत. डेमन कॉन्फिग, फायरवॉल तुकडे, देखरेखीची लक्ष्ये आणि डिस्कवर तयार केलेले कोणतेही क्लायंट बंडल शोधा. तुम्ही IPv6 पत्ता प्रकाशित करत असल्यास तोही समाविष्ट करा; केवळ A रेकॉर्डचा पाठलाग करणारी हालचाल दुहेरी स्टॅक क्लायंटना जुन्या मार्गावर ठेवते.
OLD=203.0.113.10
grep -RIn -- "$OLD" /etc /root
ss -lunpt | grep -F "$OLD"
nft list ruleset | grep -F "$OLD"
iptables-save | grep -F "$OLD"
wg show all endpoints
नंतर कर्नेल तपासा, कारण चालू असलेली प्रणाली पत्ता अशा ठिकाणी ठेवते ज्याचा कोणताही फाइल उल्लेख करत नाही. स्थिर स्रोत NAT नियम, ipset नोंद, बाइंड पत्ता आणि conntrack नोंद त्यांना काढून टाकणाऱ्या कॉन्फिग बदलापेक्षा जास्त काळ टिकतात, आणि काही रीबूटही टिकतात कारण त्या जतन केलेल्या नियमसंचातून परत आल्या. एक स्तर वर, पुरवठादाराचे सुरक्षा गट, लोड बॅलेंसरची लक्ष्ये आणि देखरेख तपासण्या तुमच्या फाइल सिस्टमवर अजिबात नाहीत.
काहीही बदलण्यापूर्वी यादी लिहा; ती रोलबॅक स्क्रिप्ट म्हणूनही काम करते.
होस्टनाव असलेले क्लायंट सावरतात; शब्दशः IP क्लायंट गप्प होतात
क्लायंट होस्टनावाने सर्व्हरपर्यंत पोहोचत असल्यास, कटओव्हर मुख्यतः DNS समस्या आहे, आणि काल सेट केलेला TTL किती वाईट होईल हे ठरवतो. रिझॉल्व्हर कॅश करतात, स्टब रिझॉल्व्हर पुन्हा कॅश करतात, आणि अनेक क्लायंट नाव फक्त नव्या कनेक्शनवर शोधतात, त्यामुळे प्रस्थापित टनेल त्याचा सुरुवातीचा पत्ता ठेवते.
एंडपॉइंट शब्दशः पत्ता असल्यास, काहीही पुन्हा सोडवले जात नाही आणि काहीही तक्रार नोंदवत नाही. WireGuard सोडवलेला सॉकेट पत्ता साठवते: Endpoint = vpn.example.net:51820 wg-quick up चालू होताच IP होतो आणि तुम्ही तो बदलल्याशिवाय तोच IP राहतो. OpenVPN अधिक सहिष्णु आहे: तो कनेक्शनच्या वेळी remote होस्टनाव सोडवतो आणि resolv-retry infinite सह पुन्हा जोडणीत DNS पुन्हा प्रयत्न करतो. शब्दशः IP दिल्यास दोन्ही आता नसलेल्या मशीनला डायल करत राहतात.
लोकांना भ्रमित करणारी गोष्ट म्हणजे आरशातील प्रतिमा. नव्या पत्त्याकडे आधीच निर्देशित क्लायंट, जुना श्रोता अजून उत्तर देत असताना, तुमच्या स्वतःच्या टेबलावरून केलेली प्रत्येक चाचणी उत्तीर्ण होतो. मलाही याने फसवले: नवा एंडपॉइंट फोनवर पहिल्याच प्रयत्नात वर आला, आणि जुन्या प्रोफाइलचा क्लायंट जुना श्रोता खूप नंतर बंद केल्यावरच समोर आला.
विश्वास पत्त्यासोबत हलत नाही
WireGuard ओळख आणि पोहोच यांचे विभाजन करते, ज्यामुळे पत्ता हलवणे जवळपास मोफत होते. peer सार्वजनिक किल्लीने ओळखले जातात, आणि एंडपॉइंट फक्त पॅकेट आता जिथे जातात ते ठिकाण आहे; यजमान शेवटच्या प्रमाणित पॅकेटच्या स्रोत पत्त्यावरून peer चा एंडपॉइंट अद्ययावत करतो. निष्क्रिय peer ला तरीही नव्या ठिकाणाशी बोलण्याचे कारण लागते, आणि तो पत्ता तेव्हाच शिकतो जेव्हा त्याचे सत्र जुने होते आणि handshake चे पुनःप्रयत्न दिसणाऱ्या ठिकाणी अयशस्वी होतात. WireGuard चा झटपट मार्गदर्शक एंडपॉइंट फील्ड समाविष्ट करतो.
TLS आधारित सर्व्हर विरुद्धचे प्रकरण आहेत. प्रमाणपत्र नावाशी बांधलेले असते, आणि पत्ता डायल करणारा क्लायंट जे डायल केले त्याची विषयाच्या पर्यायी नावांशी तुलना करतो. फक्त DNS SAN असलेल्या प्रमाणपत्राशी IP ने जोडा आणि पडताळणी अयशस्वी होते: क्लायंटने वापरलेले नाव प्रमाणपत्रात नाही. IP SAN सह पुनर्जारी करणे ते एक कनेक्शन दुरुस्त करते आणि पुढील हालचाल अधिक वाईट करते. प्रोफाइलमध्ये होस्टनाव ठेवणे आणि verify-x509-name त्याच्या जागी ठेवणे खालील पत्ता बदलत असतानाही तपासणी कडक ठेवते.
मग डेमन कशाशी बांधलेला आहे ते तपासा; जुन्या पत्त्यावर पिन केलेला सॉकेट शांतपणे अयशस्वी होतो. local 203.0.113.10 ने सुरू केलेला OpenVPN सर्व्हर तो पत्ता गेल्यावर वर येण्यास नकार देतो, तर 0.0.0.0 वरील श्रोता बदल मोफत अनुसरतो. NAT सुद्धा त्याच पद्धतीने विभागतो: MASQUERADE मशीनकडे आता जो पत्ता आहे त्याचा पाठलाग करतो, आणि स्थिर SNAT --to-source 203.0.113.10 आता तुमचा नसलेल्या पत्त्यावर पुन्हा लिहीत राहतो, त्यामुळे परतीचा रहदारी नाहीशी होते. नवा पत्ता वेगळ्या upstream गेटवेसह आल्यास, rp_filter तपासा: उलट मार्ग गाळणी कर्नेलला अपेक्षित नसलेल्या इंटरफेसवर येणारा परतीचा रहदारी टाकून देते.
कटओव्हरचा क्रम आणि तो काम करून दिलेले पुरावे
एक दिवस आधी TTL कमी करा, नवा श्रोता उभा करा, आणि फक्त तुमच्याकडे असलेल्या प्रोफाइलने तो सिद्ध करा. त्याच नेटवर्कच्या आतून केलेली चाचणी जवळपास काहीही सिद्ध करत नाही, म्हणून सेल्युलरवरचा फोन वापरा आणि एंडपॉइंटला ping करण्याऐवजी टनेलने वाहून नेण्याची गोष्ट तपासा.
संपूर्ण कालावधीत दोन्ही पत्ते पहा. नव्या यजमानावरील wg show all latest-handshakes, किंवा OpenVPN स्थिती फाइल, किती peer खरोखर हलले ते सांगते. नव्या एंडपॉइंटकडे अपेक्षित peer असतील आणि जुन्याकडे फक्त मागे राहिलेले असतील, तेव्हा जुना श्रोता निवृत्त करा, जुना NAT नियम काढा आणि पुरवठादाराच्या फायरवॉलमधून पत्ता काढा. जुना श्रोता काढणे हेच वगळले जाणारे पाऊल आहे, आणि ते ती पोकळी बंद करते जिथे जुने प्रोफाइल अजूनही जुन्या नेटवर्कपर्यंत पोहोचते.
सुरुवातीपूर्वी रोलबॅक ट्रिगर लेखी ठरवा: मान्य कालावधीनंतर नव्या एंडपॉइंटला एकाही खऱ्या क्लायंटकडून handshake मिळाला नाही तर जुना पत्ता पुनर्संचयित करा आणि प्रोफाइल वाटणे थांबवा. नंतर शोध पुन्हा चालवा आणि निवृत्त पत्त्याशी कोणताही श्रोता बांधलेला नाही याची खात्री करा. दोन गोष्टी पुढील हालचालीत जातात: क्लायंट प्रोफाइलमधील होस्टनाव जेणेकरून पुढील बदल DNS संपादन असेल, आणि सर्व्हरच्या पुनर्प्राप्ती नोंदींजवळ ठेवलेली यादी.