आपके ब्रिज्ड हॉटस्पॉट का फ़ोन अपना पता और गेटवे कहीं से पाता है, और वह Pi का डिफ़ॉल्ट रूट नहीं है। Pi का डिफ़ॉल्ट बदलने से यह बदलता है कि Pi अपना ट्रैफ़िक कहाँ भेजता है। फ़ोन उसी गेटवे का इस्तेमाल करता रहता है जो उसे बताया गया था, और जब वह गेटवे दूर के LAN पर होता है तो उसके फ़्रेम बस ब्रिज पार कर जाते हैं। दो उपभोक्ता, दो निर्णय। इन्हें अलग करने से इंटरनेट-रहित हॉटस्पॉट की ज़्यादातर रिपोर्टें समझ में आती हैं जबकि Pi ख़ुद ठीक होता है।

दो डिवाइस, दो अलग गेटवे निर्णय

Pi का अपना IP स्टैक और अपना डिफ़ॉल्ट रूट है। फ़ोन का अपना IP स्टैक और अपना डिफ़ॉल्ट रूट है।

ConsumerWho chooses its gatewayWhat carries the traffic
Phone on the bridged APThe remote LAN router, delivered in its client configurationAn Ethernet frame toward that router crosses the AP and TAP bridge
Pi's encrypted connectionThe travel uplink's route toward the VPN peerThe 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 के नीचे है या नहीं।

पूरा होने पर लिखें कि कौन-सा डिवाइस किस डिफ़ॉल्ट का मालिक है। दस्तावेज़ की एक पंक्ति स्थानीय बनाम दूर के इग्रेस को सोचा-समझा क्लाइंट निर्णय बना देती है, और ब्रिज संदर्भ उसके बगल में रखने लायक है।

संबंधित लेख