OpenWrt मा सम्पूर्ण LAN का लागि OpenVPN क्लाइन्ट: काम गर्ने क्रम
इन्टरफेसको स्वामित्व, जोन नीति, मास्करेड र प्रत्येक SSID का तालिकाहरू चार फरक काम हुन्। ती क्रममा गर्नुहोस्, अनि सम्पूर्ण राउटर ढाक्ने सुरुङले तपाईंसँग लड्न छोड्नेछ।
राउटरको सम्पूर्ण LAN एउटै सुरुङको पछाडि राख्न चार स्वतन्त्र काम चाहिन्छ। सुरुङ उपकरणलाई एक मालिक, एक फायरवाल जोन, माथिल्लो लिंकतर्फ एक अनुवाद लक्ष्य र केही क्लाइन्ट VPN बाहिर राख्नुपर्ने भए स्रोत ठेगानाअनुसार राउटिङ चाहिन्छ। जोडिन्छ तर केही पनि जाँदैन भने त्यस्तो सुरुङमा सामान्यतया यी चारमध्ये एक हराएको हुन्छ। निर्भरताको क्रममा काम गर्नु भनेको अन्त्यमा आउने असफलता भर्खरै परिवर्तन गरेको चरणको हुन्छ। तलको प्रत्येक चरण देख्न सकिने कुराले टुंगिन्छ, जसले अर्को चरणलाई अनुमान बन्न दिँदैन।
सुरुङले के बाँड्छ भनेर निर्णय गर्नुहोस्
Wi-Fi र DHCP बाँड्ने राउटरले आफैं क्लाइन्ट चलाउन सक्छ। यसले प्रत्येक जोडिएको उपकरणलाई छुट्टै सेटअपबिना सुरुङको पछाडि राख्छ, र साना साइटहरूलाई यही व्यवस्था चाहिन्छ। सुरुङ ढल्दा सबैभन्दा ठूलो असर पनि यही व्यवस्थामा पर्छ, किनकि सबै उपकरणले एकैचोटि आफ्नो बाटो गुमाउँछन्। LAN मा बाहिर जाने काम गर्ने बाटो केही रहँदैन।
पहिलोको पछाडि दोस्रो राउटर, आफ्नै सबनेटसहित क्लाइन्ट चलाउँदै, सुरुङलाई आफ्नै उपकरणमा मात्र सीमित गर्छ। यसलाई हटाउन र यो पाउने व्यक्तिलाई बुझाउन सजिलो हुन्छ। मूल्य भनेको बाटो वा पोर्ट फर्वार्डबिना दुवै पक्षबीच पहुँच हुँदैन।
जसरी भए पनि, LAN सबनेटहरू फरक राख्नुहोस्। एउटै दायराले एउटा पक्ष सिधै जोडिएको देखिन्छ, र त्यसबाट बन्ने कालो प्वाल VPN को खराबीजस्तो देखिन्छ घण्टौंसम्म।
सुरुङलाई एक मालिक दिनुहोस्
सुरुङलाई नाम, उपकरण र आफ्नै प्रोटोकल नभएको नेटवर्क इन्टरफेसका रूपमा घोषणा गर्नुहोस्। त्यसपछि नेटवर्क प्रणालीले उपकरण बनाउँछ र व्यवस्थापन गर्छ, र त्यसपछिको सबैले इन्टरफेसलाई उपकरणको सट्टा नामले सन्दर्भ गर्छ। यही कुराले जोनलाई त्यो भेट्टाउन दिन्छ।
एउटै उपकरण दुई ठाउँमा नबनाउनुहोस्। घोषित इन्टरफेसको छेउमा हातले बनाएको सुरुङ हुँदा अस्तित्वमा भए पनि जोनमा नपर्ने उपकरण बन्छ, वा पुनःलोडमा हराउने उपकरण। दुवै क्लाइन्ट असफल भएजस्तो देखिन्छ, र कुनैले पनि साँचो कारण बताउने त्रुटि दिँदैन। घोषणात्मक बाटो छान्नुहोस् र हातले बनाएको मेट्नुहोस्।
नेटवर्क, फायरवाल र VPN कन्फिगरेसनमा नाम एउटै राख्नुहोस्। जोनले नेटवर्कहरू नामले सूचीबद्ध गर्छ, त्यसैले एउटा टाइपिङ गल्तीले सुरुङलाई हरेक जोनबाहिर राख्छ जबकि इन्टरफेस आफैं स्वस्थ देखिन्छ। नीतिबिनाको स्वस्थ इन्टरफेस पत्ता लगाउन सबैभन्दा कठिन हुन्छ।
जोन बनाउनुहोस्, त्यसपछि त्यसमा फर्वार्ड गर्नुहोस्
फायरवाल जोन भनेको नीति बस्ने ठाउँ हो: इनपुट, आउटपुट, फर्वार्ड र मास्करेड। कुनै जोनमा नभएको सुरुङ तपाईंले नछानेका पूर्वनिर्धारितले चल्छ, र राउटर क्लाइन्टलाई त्यो विरलै चाहिन्छ। तलका स्टान्जाहरूले इन्टरफेस घोषणा गर्छन्, त्यसलाई जोनमा राख्छन् र LAN ट्राफिकलाई त्यो जोनमा जान दिन्छन्।
config interface 'vpn'
option device 'tun0'
option proto 'none'
config zone
option name 'vpn'
list network 'vpn'
option input 'REJECT'
option output 'ACCEPT'
option forward 'REJECT'
option masq '1'
config forwarding
option src 'lan'
option dest 'vpn'
21.02 भन्दा पुराना रिलिजहरूमा त्यही इन्टरफेस लाइन option ifname भनेर लेखिन्छ, त्यसैले टाँस्नुअघि जडान गरिएको फर्मवेयरले कुन रूप बुझ्छ जाँच्नुहोस्। फर्वार्डिङ स्टान्जा भनेको LAN ट्राफिकले सुरुङ प्रयोग गर्न पाउने अनुमति हो। त्योबिना उपकरण चालु छ, क्लाइन्ट जोडिएको छ, र कुनै LAN होस्ट सुरुङसम्म पुग्दैन। राउटर क्लाइन्टमा सबैभन्दा सामान्य उजुरी जोडिएको तर इन्टरनेट छैन भन्ने हो।
VPN जोनको मास्करेडले प्याकेट बाहिर निस्कनुअघि हरेक LAN ठेगानालाई राउटरको सुरुङ ठेगानामा खुम्च्याउँछ। यसले पारिपट्टि तपाईंको सबनेटसम्म फर्कने बाटोको आवश्यकता हटाउँछ।
पारिपट्टिले पहिले नै तपाईंको LAN लाई बाटो दिइरहेको भए, मास्करेड बन्द गर्दा स्रोत ठेगाना देखिने रहन्छन् र प्रत्येक क्लाइन्टको लग अर्थपूर्ण हुन्छ। एउटा छान्नुहोस् र कुन छानेको हो लेख्नुहोस्, किनकि दुवै विकल्पले पछि फरक सहयोग प्रश्न ल्याउँछन्। पूर्वनिर्धारित LAN-देखि-WAN फर्वार्डिङ हटाउनु आफ्नै परिणाम भएको छुट्टै निर्णय हो। त्यो हटाउनुभयो भने राउटरको आफ्नै इन्टरनेट पहुँच पनि सँगै जान्छ।
NAT मा वास्तविक माथिल्लो लिंक नाम दिनुहोस्
अनुवाद नियम हातले लेखिने फर्मवेयरमा बाहिर जाने इन्टरफेस नै बिग्रने फिल्ड हो। नियम vlan2 भनेर नाम दिए पनि सत्र ppp0 मा टुंगिएपछि केही गर्दैन। इन्टरफेस नै नभएको नियमले गोप्य रहनुपर्ने ट्राफिक पनि अनुवाद गर्न सक्छ। दुवै गल्तीले आफ्नो घोषणा गर्दैनन्, किनकि सुरुङ चलिरहन्छ।
iptables -t nat -A POSTROUTING -o ppp0 -j MASQUERADE
त्यो नियमको ppp0 लाई ip route वा चलिरहेका इन्टरफेसको सूचीबाट आउने इन्टरफेसले बदल्नुहोस्, त्यसपछि LAN होस्टले पृष्ठ खोल्दा काउन्टर हेर्नुहोस्। एउटै प्रदायकको राउटरमा माथिल्लो लिंकका लागि एउटा मास्करेड नियम सामान्यतया पुग्छ। सुरुङ इन्टरफेसका लागि दोस्रो नियम पहिलोको विकल्प होइन।
त्यसपछि सुरुङमा के पस्छ भन्ने निर्णय गर्ने क्लाइन्ट विकल्प थप्नुहोस्। redirect-gateway निर्देशनले क्लाइन्टको इन्टरनेट ट्राफिक VPN मार्फत पठाउँछ, र त्योबिना सुरुङले सर्भरले धकेलेका बाटो मात्र बोक्छ। DNS छुनुअघि बनेको राउट तालिका जाँच्नुहोस्।
दोस्रो तालिकाले Wi-Fi विभाजन गर्नुहोस्
एउटा राउटिङ तालिकाले दुई पूर्वनिर्धारित राख्न सक्दैन। त्यसैले सुरुङ छलेर जानुपर्ने दोस्रो SSID लाई आफ्नै सबनेट र आफ्नै तालिका चाहिन्छ। सुरुङ भएको SSID लाई आफ्नै दायरा दिनुहोस्, त्यसपछि तालिका छान्ने नियमले त्यो दायरा मात्र सुरुङमा पठाउनुहोस्।
OpenWrt का नीति-राउटिङ प्याकेजहरूले ठ्याक्कै त्यही संयोजन व्यक्त गर्छन्। हातले पनि गर्न सकिन्छ — स्रोत नियम र पूर्वनिर्धारित सुरुङ उपकरणतर्फ देखाउने तालिका प्रयोग गरेर।
दुवै नेटवर्कबाट विभाजन जाँच्नुहोस्। सुरुङ भएको SSID मा क्लाइन्टले VPN को निकास ठेगाना देखाउनुपर्छ, र साधारण SSID मा क्लाइन्टले प्रदायकको ठेगाना। दुवै उस्तै देखिए, नियम गलत स्रोतसँग मिल्छ वा तालिका नै हेरिँदैन। पुनः जोडिएपछि पनि परीक्षण गर्नुहोस्, किनकि इन्टरफेस नाममा निर्भर नियम उपकरणको नम्बर बदलिएपछि तुट्छ।
घडी र उपकरण झन्डामा शंका गर्नुहोस्
यो persist-tun झन्डाले पुनः सुरु हुँदा पनि सुरुङ उपकरण ठाउँमै राख्छ। यो सर्भरलाई मिल्छ र स्थिति सुरुदेखि पुनः बनाउनुपर्ने क्लाइन्टलाई अलमल्याउँछ। राउटर क्लाइन्टको समस्या सुल्झाउँदा यो हटाउनुहोस्, किनकि असफल वार्ताबाट जोगिएको उपकरणले कुन चरण साँच्चै बिग्रियो भन्ने लुकाउँछ। क्लाइन्ट भरपर्दो रूपमा जोडिएपछि मात्र यो फर्काउनुहोस्, त्योभन्दा अघि होइन।
घडी अर्को चुपचाप असफलता हो। ब्याट्री घडी नभएको राउटर युगबाट सुरु हुन्छ, अर्थात् NTP नपुगुञ्जेल प्रमाणपत्र जाँच असफल हुन्छ। प्रमाणपत्र छुनुअघि लगका समयचिह्नहरू वास्तविक समयसँग तुलना गर्नुहोस्, किनकि बुट भएको एक मिनेटपछि जोडिने क्लाइन्ट सामान्यतया समय समकालिकताको प्रतीक्षा गरिरहेको हुन्छ।