दोन निरोगी VPN एक्झिट, आधीच सुरू असलेले एक लांब अपलोड, आणि पुढील कनेक्शन दुसऱ्या टनेलचा वापर करावा अशी अट. हे पूर्ण करण्याचे दोन मार्ग आहेत, आणि त्यापैकी फक्त एकच चालू गेटवेवर सुरक्षित आहे. डीफॉल्ट रूट बदलल्यास अपलोडचे देखील प्रत्येक पॅकेट हलते. नियोजित ड्रेन नवीन कनेक्शनसाठी निवड बदलतो आणि ट्रॅक केलेले फ्लो जिथे सुरू झाले त्या मार्गावरच ठेवतो.

एक्झिट बदलण्याचे दोन मार्ग

रूट स्वॅप ही एकच कमांड आहे आणि काही सेकंदात परत करता येते, म्हणूनच घटनांच्या वेळी ती वापरली जाते. ती भेदभावहीन देखील आहे: सध्याच्या अपलोडचे पॅकेट अचानक दुसऱ्या टनेलमधून बाहेर पडतात, वेगळ्या सार्वजनिक स्रोत पत्त्यासह आणि वेगळ्या भाषांतर स्थितीसह.

जर दूरचे टोक स्रोत पत्त्यानुसार फ्लो ट्रॅक करत असेल, तर अपलोड ओळखले जाणेच थांबू शकते. ड्रेन हे टाळतो प्रत्येक कनेक्शनसाठी एकदा निर्णय घेऊन तो साठवून, त्यामुळे जुने अपलोड संपेपर्यंत आपली एक्झिट ठेवते. हेच या सरावाचे संपूर्ण मूल्य आहे: दूरच्या टोकाला अर्थ लावावा लागणारा कोणताही बदल दिसत नाही. त्याला आधीच माहीत असलेल्या कनेक्शनशी जुळणारे पॅकेट मिळत राहतात.

किंमत गुंतागुंत आहे: दोन राउटिंग तक्ते, योग्य हुकवर चालणारा वर्गीकरणकर्ता, आणि मशीनवर ते वापरणाऱ्या इतर सर्वांशी समन्वयित करावे लागणारे मार्क.

प्रत्येक एक्झिटला त्याचे स्वतःचे तक्ते द्या

प्रत्येक एक्झिटसाठी राउटिंग तक्ते आणि दोन्ही पर्यायांसाठी वेगळी मार्क मूल्ये किंवा बिट्स राखून ठेवा. प्रत्येक तक्त्याला केवळ नाव नाही तर त्याच्या भूमिकेला योग्य असे मार्ग हवे, आणि गहाळ प्रकरणासाठी हेतुपुरस्सर अपयशाचा निकाल हवा. मुख्य तक्त्यात शांतपणे पडणारे रिकामे तक्ते — कोणीही न निवडलेल्या एक्झिटमधून रहदारी अशी बाहेर पडते.

ip rule add fwmark 0x10/0x10 table 101
ip rule add fwmark 0x20/0x20 table 102
ip route add default via 192.0.2.1 dev wg-a table 101
ip route add default via 198.51.100.1 dev wg-b table 102

प्रत्येक तक्त्याच्या शेवटी blackhole मार्ग जोडा, जेणेकरून जुळणी न सापडणारा शोध तुम्ही न निवडलेल्या डीफॉल्टकडे पळण्याऐवजी मोठ्याने अपयशी होईल.

एकदाच निवडा, पहिल्या पॅकेटवर

कनेक्शन ट्रॅकिंग अस्तित्वात आल्यानंतर आणि महत्त्वाच्या मार्ग शोधापूर्वी वर्गीकरण करा. नवीन, अवर्गीकृत LAN कनेक्शनसाठी एक्झिट निवडा आणि ती कनेक्शन स्थितीत साठवा. पुढील पॅकेटवर, धोरण राउटिंग वाचत असलेल्या पॅकेट मार्कमध्ये साठवलेले मूल्य पुनर्संचयित करा.

बारीक भाग म्हणजे नवीन याचा अर्थ काय. उत्तर दिसण्यापूर्वी सुरुवातीच्या पॅकेट्स आणि पुनर्प्रसारणांसाठी conntrack अजूनही NEW नोंदवू शकते, त्यामुळे केवळ त्या स्थितीवर विसंबून राहणारा वर्गीकरणकर्ता आधीच घेतलेली निवड पुसू शकतो. एक नेमण्यापूर्वी कनेक्शनसाठी कोणतीही एक्झिट साठवलेली नाही याची खात्री करा.

nftables पॅकेट आणि कनेक्शन मार्क वेगवेगळे ठेवते, आणि मेटाइन्फॉर्मेशन मार्गदर्शक त्यांच्यातील स्पष्ट प्रत याचे दस्तऐवजीकरण करते. कनेक्शन मार्क स्वतःहून तो पॅकेट मार्क होत नाही ज्याच्याशी तुमचा नियम जुळतो, आणि काळजीपूर्वक लिहिलेल्या वर्गीकरणकर्त्याचा कोणताही परिणाम न होण्याचे हेच सर्वात सामान्य कारण आहे.

पुनर्संचयिती तुम्ही हेतू असलेल्या दिशा आणि रहदारीपुरती मर्यादित करा. परत येणाऱ्या पॅकेटवर इंटरनेट-एक्झिट मार्क लावल्यास उत्तरे LANकडे न जाता एक्झिटकडे जाऊ शकतात, आणि लक्षण म्हणजे फायरवॉल समस्येसारखे वाटणारे एकमार्गी कनेक्शन. फायरवॉल नियमाला हात लावण्यापूर्वी उत्तराचा मार्ग वाचा, कारण पॅकेट राउट होत आहे, फक्त पाठवणाऱ्याकडे परत जात नाही.

ड्रेनचे चार टप्पे

  1. A ला हात न लावता B तयार करा: राउटिंग, फॉरवर्डिंग, अधिकृतता, NAT आणि परतीचा मार्ग. गेटवेच्या विद्यमान कॉन्फिगरेशन मालकाद्वारे त्याचे तक्ते आणि निवड धोरण स्थापित करा.

  2. वर्गीकरणकर्ता बदला जेणेकरून नवीन, अवर्गीकृत कनेक्शन B निवडतील, साठवलेल्या निवडी जपून. अणु nftables व्यवहार जुन्या स्थितीला साफ करावे लागणारे खिडकी टाळतो.

  3. A चे फ्लो संपेपर्यंत A सुरू ठेवा. त्याचे इंटरफेस, तक्ते, दूरची एक्झिट आणि NAT मॅपिंग अजूनही त्या फ्लोचा भाग आहेत, आणि NAT नियम संपादित केल्याने आधीच अस्तित्वात असलेली बांधणी पुन्हा तयार होत नाही.

  4. ड्रेनची अट पूर्ण झाल्यावर A निवृत्त करा, एका शांत अंतराने नाही तर कनेक्शन स्थिती आणि अनुप्रयोगाच्या वर्तनावरून ठरवले जाते.

ड्रेन काय वचन देऊ शकत नाही

ब्राउझर विनंती नवीन वाहतूक कनेक्शन नाही; पूलिंग जुन्यावरून विनंत्या पाठवत राहते. याउलट, UDP फ्लो conntrackमधून जुना होऊ शकतो आणि नंतरचे पॅकेट नव्याने वर्गीकृत होते. ड्रेन ट्रॅक केलेल्या फ्लोचा पाठलाग करतो, अनुप्रयोगाच्या सत्राच्या कल्पनेचा नाही.

A त्याचे फ्लो संपण्यापूर्वी अयशस्वी झाल्यास, साठवलेला मार्क त्यांना वाचवत नाही. ते B मार्गे पुन्हा जोडले जातात, किंवा अजिबात जोडले जात नाहीत. नियोजित ड्रेन मूळ मार्ग निरोगी असताना सातत्य विकतो; हे स्वतंत्र एक्झिटमधील स्थितीची प्रत करणे नाही.

दोन्ही अर्धे तपासा

बदलापूर्वी दीर्घकालीन परवानगी असलेले कनेक्शन आणि नंतर खरोखर नवीन कनेक्शन सुरू करा. प्रत्येक कोणते टनेल वापरते आणि दूरच्या टोकाला कोणता सार्वजनिक स्रोत पत्ता दिसतो याची पुष्टी करा, नंतर परतीची रहदारी परत येते का ते तपासा.

नवीन निवड दिसण्यासाठी conntrack तक्ते रिकामे करू नका. ते ड्रेनने जपावे असेच स्थिती नष्ट करते, आणि नियंत्रित स्थलांतराला स्वच्छ दिसणाऱ्या चाचणीसह व्यत्ययात बदलते.

संबंधित लेख