विकासकर्ताको ल्यापटपमा टनेलहरूलाई एकअर्काभित्र राख्ने दुई वैध कारण छन्। या त कर्पोरेट क्लाइन्ट कुनै निश्चित देशबाट आएको जस्तो देखिनुपर्छ, वा दुई निजी नेटवर्कहरू एकै समयमा पुग्न सकिने हुनुपर्छ। दुवै अवस्थामा बाहिरी टनेलले भित्री क्लाइन्टको आफ्नै जडान बोक्नुपर्छ।

दुई क्लाइन्ट जुनसुकै क्रममा सुरु गर्दा त्यो हुँदैन। त्यो राउटिङले गर्छ।

दुई सम्भावित क्रमको तुलना गर्नुहोस्

बाहिरी तहका रूपमा त्यो टनेल छान्नुहोस् जसको इन्डपोइन्ट सार्वजनिक इन्टरनेटबाट पुग्न सकिन्छ। भित्री तह भनेको त्यो टनेल हो जसको सर्भरले केवल त्यही निकासबाट जवाफ दिन्छ। Windows मा व्यावहारिक विभाजन बाहिर WireGuard र भित्र कर्पोरेट क्लाइन्ट हो। निर्णायक कारक नियन्त्रण हो।

आधिकारिक WireGuard क्लाइन्टले रुट र DNS सहित पूर्ण कन्फिगरेसन फाइल लागू गर्छ। व्यावसायिक कर्पोरेट क्लाइन्टहरूले सामान्यतया दुवै लुकाउँछन्। लुकाइएको क्लाइन्ट बाहिर राख्दा त्यसको तलको बाटो अनुमान गर्नुपर्छ।

उल्टो क्रम असम्भव छैन। यसबारे सोच्न गाह्रो हुन्छ, किनकि बाहिरी क्लाइन्टले तपाईंले कहिल्यै नदेखेको तालिकाअनुसार रुटहरू पुनः लेख्छ।

AllowedIPs ले कर्पोरेट दायरालाई मात्र नाम दियोस्

AllowedIPs ले WireGuard ले टनेलमा पठाउने गन्तव्यहरू सूचीबद्ध गर्छ। भित्र राख्नका लागि यसलाई भित्री सर्भरको ठेगाना र कर्पोरेट प्रिफिक्सहरू मात्र चाहिन्छ। बाँकी सबै स्थानीय नेटवर्कमै रहन्छ, प्रिन्टर र हाइपरभाइजर सहित। यो डिजाइनअनुसारै विभाजित टनेल हो, र यसले बहिष्करणको समस्या पूर्ण रूपमा टाल्छ।

पूर्ण टनेल भएको बाहिरी तहलाई चाहिन्छ 0.0.0.0/0 घटाएर स्थानीय दायरा। ढाँचाले बहिष्करण व्यक्त गर्न सक्दैन, त्यसैले पूरक गणना गरेर टाँस्नुपर्छ।

[Interface]
PrivateKey = ...
Address = 10.99.4.2/32

[Peer]
PublicKey = ...
Endpoint = 198.51.100.44:51820
AllowedIPs = 198.51.100.44/32, 10.20.0.0/16, 10.21.0.0/16

जब भित्री क्लाइन्टले आफ्नै रुट स्थापना गर्दैन, कर्पोरेट प्रिफिक्सहरू आफैं सूचीबद्ध गर्नुहोस्। त्यो लाइनबाट छुटेको प्रिफिक्स त्यो गन्तव्य हो जुन बाहिरी टनेलले कहिल्यै बोक्दैन। सूचीको पुरानो प्रतिलिपि नहुनुभन्दा नराम्रो हुन्छ, किनकि यो अझै सही देखिन्छ।

क्रम, मेट्रिक र दोस्रो एडाप्टर

पहिले बाहिरी टनेलमा जोडिनुहोस्, त्यसपछि कर्पोरेट क्लाइन्ट सुरु गर्नुहोस्। तब त्यसको इन्डपोइन्ट जडान स्थानीय गेटवेको सट्टा WireGuard बाट बाहिर जान्छ। कर्पोरेट इन्टरफेसलाई कम मेट्रिक दिनुहोस् ताकि त्यसका प्रिफिक्सहरू आफ्नो स्वामित्वका ठेगानाहरूमा जितून्।

# which interface currently claims the corporate prefix?
Find-NetRoute -RemoteIPAddress 10.20.10.5 | Select-Object -First 1

# prefer the corporate interface for its own prefixes
Set-NetIPInterface -InterfaceAlias 'Corp VPN' -InterfaceMetric 3
Set-NetIPInterface -InterfaceAlias 'wg-personal' -InterfaceMetric 40

wg show interfaces

मेट्रिक भनेको मानिसहरूले छोड्ने चरण हो। क्रम नभए ओभरल्याप हुने प्रिफिक्सका लागि अन्तमा स्थापना भएको रुट जित्छ। यो बुटहरूबीच बदलिन्छ, त्यसैले समस्या रोकिएर आएको जस्तो देखिन्छ।

OpenVPN 2.6 मा बनेका क्लाइन्टहरूले आफ्नै जाल थप्छन्। डाटा च्यानल अफलोड एडाप्टर पहिले नै व्यस्त छ भने, दोस्रो इन्स्टेन्स सुरु हुन इन्कार गर्छ। प्रोफाइलमा disable-dco थप्दा पुरानो TAP बाटोमा फर्किन्छ, र त्यसपछि दुवै सँगै चल्छन्।

भित्र राखिएको बाटो कहाँ टुट्छ

बाहिरी टनेल विच्छेद गर्दा भित्री पनि मर्छ। केवल भित्री क्लाइन्ट पुनः जोड्दा यो प्रायः सिधै इन्टरनेटमा जान्छ र चुपचाप भित्र राख्ने काम हटाउँछ। हरेक पटक दुवै टनेल बन्द गरेर क्रम सुरुदेखि जाँच्नुहोस्।

सानो उपयोगी MTU अपेक्षा गर्नुहोस्। हरेक तहले थप भार थप्छ, त्यसैले 1420 र 1400 वरपरको सुरुवाती जोडी सुरु गर्न राम्रो ठाउँ हो। ठूला प्याकेटमा अड्किने तर साना अनुरोध सफल हुने स्थानान्तरण सामान्य संकेत हो। कर्पोरेट नीति अर्को सीमा हो, किनकि व्यवस्थापित उपकरण चाहने क्लाइन्टले भित्र राखिएको बाटोलाई उल्लंघन मान्न सक्छ।

जब दुवै छेउ स्थिर नेटवर्क हुन्, गेटवेहरूबीचको साइट-देखि-साइट टनेलले क्रमको समस्या व्यवस्थापन गर्नुको सट्टा हटाउँछ। एउटै ल्यापटपमा दुई टनेल केवल तब सँगै रहन्छन् जब प्रत्येकको आफ्नै इन्टरफेस र प्रिफिक्सअनुसार गन्तव्य छान्ने नियम हुन्छ।

सम्बन्धित लेखहरू