ब्रिज गरिएको VPN हटस्पट: फोनले कुन पूर्वनिर्धारित रुट प्रयोग गर्छ?
Pi को पूर्वनिर्धारित रुट फोनको गेटवे होइन। दुई निर्णय अलग गर्नुहोस्, अपलिङ्क ब्रिजबाहिर राख्नुहोस्, र टनेलअघि लिज जाँच्नुहोस्।
तपाईंको ब्रिज गरिएको हटस्पटको फोनले आफ्नो ठेगाना र गेटवे कतैबाट पाउँछ, र त्यो Pi को पूर्वनिर्धारित रुट होइन। Pi को पूर्वनिर्धारित बदल्नाले Pi आफ्नै ट्राफिक कहाँ पठाउँछ भन्ने बदलिन्छ। फोनले आफूलाई भनिएको गेटवे प्रयोग गर्न जारी राख्छ, र त्यो गेटवे टाढाको LAN मा हुँदा त्यसका फ्रेमहरू ब्रिज पार गर्छन्। दुई उपभोक्ता, दुई निर्णय। यिनलाई अलग गर्दा Pi आफैं ठीक हुँदा इन्टरनेट नभएको हटस्पटका धेरै रिपोर्टहरू व्याख्या हुन्छन्।
दुई उपकरण, दुई फरक गेटवे निर्णय
Pi सँग आफ्नै IP स्ट्याक र आफ्नै पूर्वनिर्धारित रुट छ। फोनसँग पनि आफ्नै IP स्ट्याक र आफ्नै पूर्वनिर्धारित रुट छ।
| Consumer | Who chooses its gateway | What carries the traffic |
|---|---|---|
| Phone on the bridged AP | The remote LAN router, delivered in its client configuration | An Ethernet frame toward that router crosses the AP and TAP bridge |
| Pi's encrypted connection | The travel uplink's route toward the VPN peer | The Pi sends its own outer transport packets over the underlay |
त्यो तालिका नै पूरै मोडेल हो। फोनको गेटवे टाढाको LAN मा रहेको ठेगाना हो, र त्यसका फ्रेमहरू लेयर 2 मा त्यो राउटरतर्फ फर्वार्ड हुन्छन्। Pi को पूर्वनिर्धारित रुट Pi को आफ्नै बाहिरी ट्रान्सपोर्टसँग सम्बन्धित छ, जसले यात्रा अपलिङ्क हुँदै VPN पीयरसम्म पुग्नुपर्छ।
ब्रिजले फ्रेम फर्वार्ड गर्छ, प्याकेट रुट गर्दैन
Linux ब्रिजले गन्तव्य MAC अनुसार Ethernet फ्रेम फर्वार्ड गर्छ, र आफ्ना पोर्टहरूबीच यत्ति मात्र गर्छ। टाढाको राउटरको MAC मा सम्बोधित फोनको फ्रेम TAP पोर्टमा स्विच हुन्छ र Pi को रुटिङ तालिका नछोइकन टनेल पार गर्छ। त्यसैले बिग्रिएको Pi पूर्वनिर्धारित रुटले फोनलाई काम गरिरहन दिन सक्छ, र त्यसैले सही रुटले गलत गेटवे पाएको फोन सुधार्न सक्दैन।
TAP ले Ethernet फ्रेम बोक्छ र ब्रिज पोर्ट हुन सक्छ। TUN ले IP प्याकेट बोक्छ र हुन सक्दैन। तपाईंको डिजाइनले एउटालाई अर्कोले प्रतिस्थापन गरेको भए, ब्रिज ब्रिज होइन र यहाँको बाँकी लागू हुँदैन।
फोनको लिज कसले बाँड्छ भनी निर्णय गर्नुहोस्
DHCP विकल्प 3 राउटर विकल्प हो, र यसले क्लाइन्टलाई आफ्नो सबनेटका लागि कुन गेटवे प्रयोग गर्ने बताउँछ। टाढाको LAN को DHCP सर्भर मात्र वितरक हुँदा फोनले टाढाको गेटवे पाउँछ र डिजाइन सुसंगत रहन्छ। यात्राको छेउमा अरू केहीले पहिले जवाफ दिँदा फोनले स्थानीय गेटवे पाउँछ, त्यसको इन्टरनेट ट्राफिक यात्रा अपलिङ्कबाट बाहिर जान्छ, र त्यसको टाढाको LAN ट्राफिकलाई कुनै बाटो हुँदैन।
त्यो ब्रोडकास्ट डोमेनका लागि एउटै वितरक चलाउनुहोस्, र यसले के बाँड्छ लेख्नुहोस्।
Pi फरक अवस्था हो, एउटै लिजबाट ठेगाना लिए पनि। लिजले दिने रुटहरू स्थापना गर्नुपर्छ कि भनी सचेत रूपमा निर्णय गर्नुहोस्, किनकि आयात गरिएको टाढाको पूर्वनिर्धारितले Pi को आफ्नै VPN ट्रान्सपोर्टलाई जीवित राख्न खोजिएको टनेलभित्र तान्न सक्छ। systemd-networkd सँग त्यो निर्णय DHCP खण्डमा UseRoutes= हो; dhclient सँग त्यो अनुरोध सूचीमा routers विकल्प हो।
अपलिङ्क ब्रिज गरिएको LAN बाहिर राख्नुहोस्
Pi को बाहिरी VPN जडान बोक्ने इन्टरफेस ब्रिज पोर्ट हुनु हुँदैन। भयो भने इन्क्रिप्टेड ट्रान्सपोर्ट विस्तारित LAN मा स्विच हुन्छ र टनेलले अन्तमा आफ्नै बाहिरी प्याकेट बोक्न थाल्छ, जुन लूपजस्तो नभई प्याकेट हानिजस्तो देखिने गरी असफल हुन्छ। AP क्षमता र ब्रिज समर्थन पनि स्पष्ट राख्नुहोस्। station मोडमा रहेको वायरलेस इन्टरफेस सामान्यतया ब्रिज पोर्ट हुन सक्दैन, किनकि 802.11 हेडरमा ब्रिजलाई चाहिने दोस्रो MAC ठेगानाका लागि ठाउँ हुँदैन।
परिभाषित गर्नुहोस् विस्तारित ब्रोडकास्ट डोमेन, एउटा ठेगाना योजना, र तपाईंलाई साँच्चै चाहिएको फ्रेम फिल्टरिङ। Pi मा VPN श्रोतालाई अनुमति दिँदा हरेक ब्रिज गरिएको क्लाइन्टले Pi का व्यवस्थापन सेवाहरूमा पहुँच पाउँदैन। ती अलग नियम हुन्, र तिनलाई एउटै मान्नु नै हटस्पट चुपचाप खुला ढोका बन्ने बाटो हो।
बिग्रँदा चारवटै अलग-अलग जाँच्नुहोस्
फोन टाढाको LAN मा पुग्न नसक्दा चार अवलोकनले कारणहरू छुट्याउँछन्। यिनलाई यही क्रममा चलाउनुहोस् र पहिलो असफलतामा रोक्नुहोस्।
ip route show default
bridge link show
ip -4 neigh show dev br0
tcpdump -ni br0 arp or icmpलिजबाट सुरु गर्नुहोस्: फोनसँग टाढाको सबनेटमा ठेगाना र गेटवे छ? त्यसपछि ब्रिज हेर्नुहोस्, र AP पोर्ट र TAP पोर्ट दुवैले फर्वार्ड गरिरहेको पुष्टि गर्नुहोस्। त्यसपछि छिमेकी तालिका पढ्नुहोस्, किनकि टाढाको राउटरका लागि नसुल्झिएको प्रविष्टि भनेको फ्रेम बाहिर जान्छन् र कसैले जवाफ दिँदैन। अन्तमा फोनले ping गर्दा ब्रिजमा फ्रेमहरू हेर्नुहोस्, जसले दोष IP भन्दा तल छ कि छैन भन्ने बताउँछ।
सकिएपछि कुन उपकरण कुन पूर्वनिर्धारितको मालिक हो लेख्नुहोस्। एक लाइनको कागजातले स्थानीय र टाढाको इग्रेसलाई सचेत क्लाइन्ट निर्णय बनाउँछ, र ब्रिज सन्दर्भ त्यसको छेउमा राख्न लायक छ।