एक साथ दो VPN क्लाइंट: डिफ़ॉल्ट रूट कौन जीतता है?
दो VPN क्लाइंट डिफ़ॉल्ट रूट का दावा करते हैं और केवल एक जीतता है। टनल का क्रम चुनने से पहले मेट्रिक, /1 जोड़ी और रिज़ॉल्वर का बँटवारा पढ़ें।
एक साथ दो VPN क्लाइंट चलाना रूटिंग की बहस है, गोपनीयता की सेटिंग नहीं। जिस टनल के पास अधिक विशिष्ट रूट है वही ट्रैफ़िक पाती है, और दूसरी जुड़ी रहती है पर खाली बैठती है। कॉर्पोरेट गेटवे तब निजी एग्ज़िट से आता एक कनेक्शन देखता है, जबकि आपकी मशीन पर कॉर्पोरेट क्लाइंट अब भी हर अडैप्टर देखता है। इन दो तथ्यों में से कौन मायने रखता है, यह तय करना ही पूरा अभ्यास है।
रूट तालिका एक विजेता चुनती है
कॉर्पोरेट क्लाइंट शुरू होने से पहले और बाद में तालिका कैप्चर करें, और केवल गंतव्य के बजाय इंटरफ़ेस कॉलम पढ़ें। बाहरी टनल से आने वाला सादा डिफ़ॉल्ट रूट हटाना आसान है, क्योंकि /1 जोड़ी /0 से अधिक विशिष्ट है। शाब्दिक जोड़ी 0.0.0.0/1 और 128.0.0.0/1 पूरे IPv4 स्थान को दो हिस्सों में ढकती है और किसी भी एकल डिफ़ॉल्ट को हराती है। इंस्टॉल होने के बाद भी बाहरी टनल जुड़ी दिखती है और कुछ नहीं ढोती।
ip route show default
ip route show | grep -E '^(0.0.0.0/1|128.0.0.0/1)'नीति-आधारित रूटिंग मुख्य तालिका को पूरी तरह ओवरराइड कर सकती है, इसलिए नियम भी पढ़ें और रूट भी। जो नियम चिह्नित ट्रैफ़िक को दूसरी तालिका में भेजता है वह मुख्य तालिका देखे जाने से पहले जीत जाता है। इसी तरह एक एप्लिकेशन भौतिक लिंक पर रह सकता है जबकि बाकी सब टनल इस्तेमाल करता है।
ip rule showWindows इसे मेट्रिक से तय करता है
Windows में विजेता गंतव्य के लिए सबसे कम मेट्रिक वाला रूट है, और दो क्लाइंट अलग-अलग मेट्रिक के साथ डिफ़ॉल्ट रूट इंस्टॉल कर सकते हैं। तालिका और इंटरफ़ेस कॉन्फ़िगरेशन साथ पढ़ें, क्योंकि कम मेट्रिक वाला अडैप्टर हमेशा वही नहीं होता जिसकी आप अपेक्षा करते हैं। जो क्लाइंट इंटरफ़ेस मेट्रिक भी सेट करता है वह एक भी रूट जोड़े बिना डिफ़ॉल्ट को खिसका सकता है। हारने वाला अडैप्टर चालू रहता है और बस कुछ नहीं पाता।
route print -4
Get-NetIPConfiguration | Select-Object InterfaceAlias, IPv4DefaultGatewayदोनों आउटपुट की तुलना करें और उस इंटरफ़ेस का नाम बताएं जो 0.0.0.0/0 रखता है। अगर दोनों क्लाइंट उसका दावा करते हैं तो मेट्रिक तय करता है, इसीलिए कनेक्शन क्रम का परीक्षण अलग-अलग मशीनों पर असंगत लग सकता है। अगर कोई भी आउटपुट डिफ़ॉल्ट गेटवे नहीं दिखाता, तो क्लाइंट पूरी टनल में नहीं चल रहा और श्रृंखला का तर्क निरर्थक है।
दो पर्यवेक्षक, दो अलग दृष्टि
दूरस्थ गेटवे बाहरी एग्ज़िट से आता एक कनेक्शन देखता है, साथ ही जो कुछ क्लाइंट अपनी टनल में आगे भेजता है। स्थानीय क्लाइंट अडैप्टर, रूट और दूसरी टनल के अस्तित्व को देखता है, क्योंकि वह उन्हें बनाने के अधिकार के साथ चलता है। इन दृष्टियों को अलग करना ही मुद्दा है; यह दावा करना नहीं कि क्लाइंट को पता नहीं चल सकता।
मान लें कि क्लाइंट जो चाहे गिन सकता है, और इसके बजाय गेटवे की दृष्टि के लिए योजना बनाएं। जो डिज़ाइन क्लाइंट के अंधे रहने पर निर्भर है वह टूटने से एक अपडेट दूर है।
DNS और IPv6 वही जगह हैं जहाँ श्रृंखला लीक होती है
DNS उसी रिज़ॉल्वर सेटिंग का पालन करता है जो जीतती है, और वह ज़रूरी नहीं कि वही रास्ता हो जो पैकेट लेते हैं। कॉर्पोरेट टनल से पहुँचा कॉर्पोरेट रिज़ॉल्वर डिज़ाइन के अनुरूप है; उसके बाहर से पहुँचा स्थानीय रिज़ॉल्वर नहीं है, और वह ऐसे नाम उजागर करता है जिन्हें टनल को छिपाना था। IPv6 दूसरा लीक है: दोहरे स्टैक वाला होस्ट उन गंतव्यों की ओर IPv6 इस्तेमाल करता रहता है जिन्हें टनल केवल IPv4 पर ढोती है। परिवारों को अलग-अलग जाँचें, क्योंकि केवल-IPv4 टनल IPv6 रूट या रिज़ॉल्वर के बारे में कुछ नहीं कहती।
ip -6 route show default
resolvectl status | grep -A2 'DNS Servers'रिज़ॉल्वर और IPv6 रूट को जानबूझकर ठीक करें, ऊपर दूसरी टनल थोपने के बजाय। दोहरा एनकैप्सुलेशन MTU का भी खर्च है, इसलिए श्रृंखला बनने के बाद पेज अटकें तो छोटा भीतरी MTU पहले आज़माने वाली चीज़ है। जल्दी जवाब देने वाला रिज़ॉल्वर इसका सबूत नहीं कि वह सही रिज़ॉल्वर है।