घरायुक्त NAT ले तपाईंको VPN इन्टरफेस किन जोगाउँदैन
घरायुक्त राउटरले सुरुङ अगाडि पठाउँछ, तर होस्टले डिक्रिप्ट गरिएको प्याकेटको निर्णय गर्छ। श्रोता, भित्री मार्ग र प्रवेश नीति अलग-अलग पढ्नुहोस्।
घरायुक्त राउटरपछाडि पोर्ट फर्वार्डिङ बिना राखिएका ल्यापटपहरूले अझै पनि VPN बाट आउने SSH जडानहरू स्वीकार गर्छन्। यो विरोधाभास होइन, किनभने दुई फरक उपकरणले दुई फरक प्याकेटको निर्णय गर्छन्। राउटरले इन्क्रिप्ट गरिएको यातायात अगाडि पठाउँछ, र होस्टले आफ्नो सुरुङ इन्टरफेसमा पुग्ने डिक्रिप्ट गरिएको प्याकेटसँग के गर्ने भन्ने निर्णय गर्छ। यी दुई निर्णय अलग राख्नु नै सम्पूर्ण अभ्यास हो।
राउटरले सुरुङ अगाडि पठाउँछ, होस्टले प्याकेटको निर्णय गर्छ
एउटै नियम हेर्नुअघि टाढाको स्रोतदेखि सेवासम्मको मार्ग कोर्नुहोस्। बाहिरी भाग VPN यातायात हो, जसलाई राउटर र गेटवेले सम्हाल्छन्। भित्री भाग तब सुरु हुन्छ जब एन्डप्वाइन्टले सुरुङको तह हटाउँछ र होस्टले आफ्नो VPN ठेगानामा पठाइएको प्याकेट प्राप्त गर्छ।
यी दुई भाग जोड्नुहोस् र राउटरले होस्टले गर्ने निर्णयको श्रेय लिन्छ। पोर्ट फर्वार्डिङ पृष्ठ वा राउटर लगले बाहिरी कुराकानी मात्र वर्णन गर्छन्, र कुनैले पनि होस्टले कुन डिक्रिप्ट गरिएको ट्राफिक स्वीकार गर्ने भन्ने बताउँदैन। होस्टले भित्री प्याकेटमा आफ्नै प्रवेश नीति लागू गर्छ, जसरी इन्टरफेसमा आउने कुनै पनि प्याकेटमा लागू गर्छ। यही नीतिमा एक्सपोजरको प्रश्न वास्तवमा टुंगिन्छ।
वाइल्डकार्ड श्रोता सार्वजनिक सेवा होइन
Linux मा INADDR_ANY मा बाइन्ड गर्नु भनेको हरेक स्थानीय ठेगाना, त्यसैले सेवाले कहिल्यै नाम नराखेको सुरुङ इन्टरफेसमा जवाफ दिन सक्छ। IP सकेट सन्दर्भ त्यो बाइन्डिङ वर्णन गर्छ, र श्रोताहरूको सूचीबाट निष्कर्ष निकाल्नुअघि त्यो पढ्नु उपयुक्त हुन्छ। वाइल्डकार्ड प्रविष्टि सकेटको बारेमा तथ्य हो, पहुँचको बारेमा दाबी होइन।
तलका दुई लाइन एउटै सेवाका दुई फरक बाइन्डिङ हुन्, र फरक भनेको इन्टरफेस महत्त्वपूर्ण छ कि भन्ने प्रश्नको सम्पूर्ण उत्तर हो। सबैभन्दा पहिले पढ्नुहोस् सकेट कुन ठेगानामा बसेको छ।
ss -lntp "sport = :22"
LISTEN 0 4096 0.0.0.0:22 0.0.0.0:* users:(("sshd",pid=812,fd=3))
LISTEN 0 4096 10.8.0.6:22 0.0.0.0:* users:(("sshd",pid=812,fd=4))
पोर्टसम्म पुग्न सक्ने व्यवस्थाको नाम दिनुहोस्
तीन व्यवस्थाले त्यो इन्टरफेसमा प्याकेट राख्छन्, र तिनका मालिक फरक छन्। सही व्यवस्थाको नाम दिनुले कसले नीति बदल्नुपर्ने हो भन्ने टुंग्याउँछ।
| Arrangement | What reaches the port | Where the decision lives |
|---|---|---|
| Another permitted VPN peer | A packet from the same tunnel subnet | Gateway forwarding policy and host input rules |
| A deliberate public forward | Traffic the gateway publishes on purpose | Gateway service definition |
| A subnet routed behind the gateway | Client traffic from the far side | Gateway route and host input rules |
सार्वजनिक निर्गमन ठेगाना देखाउने ब्राउजर परिणामले तीनमध्ये कुनैको बारेमा केही भन्दैन, किनभने यसले बाहिर जाने ट्राफिक कसरी बाहिर जान्छ भन्ने वर्णन गर्छ, भित्र आउने ट्राफिकलाई के अनुमति छ भनेर होइन। यसको सट्टा श्रोता र सेवा लगमा रहेको स्रोत ठेगानाबाट पछाडि काम गर्नुहोस्। स्रोत अर्को सुरुङ साथी भए गेटवे नीति रोचक कागजात हो। यदि अनुवादित ठेगाना हो भने नियम बदल्नुअघि अनुवाद खोज्नुहोस्।
सेवालाई तपाईंको इरादाको मार्गमा सीमित गर्नुहोस्
यदि SSH केवल व्यवस्थापन मार्गबाट चाहिन्छ भने त्यो मार्ग स्रोत दायरा र इन्टरफेसका रूपमा लेख्नुहोस्। त्यसपछि होस्टका प्रवेश नियमहरू नेटवर्क नामअनुसार नभई इन्टरफेस, गन्तव्य र स्रोतअनुसार सीमित गर्नुहोस्, किनभने निजी देखिने नामले कुनै पनि ठेगानाको प्रतिनिधित्व गर्न सक्छ। अर्को समस्या समाधान गर्ने व्यक्तिका लागि मार्ग छोड्नुहोस्।
nft add rule inet filter input iifname "tun0" ip saddr 10.8.0.0/24 tcp dport 22 accept
nft list chain inet filter input
सुरुङ इन्टरफेस र व्यवस्थापन दायराको नाम लिने नियमले इरादा एउटै ठाउँमा भन्छ। यसलाई Wi-Fi नेटवर्कका लागि लेखिएको नियमसँग तुलना गर्नुहोस्, जसले डिक्रिप्ट गरिएको सुरुङ ट्राफिकको बारेमा केही भन्दैन। दुवै तह असहमत हुँदा होस्टको नीति नै प्याकेटले भेट्ने नीति हो।
लगइन र प्याच जहाँ छन् त्यहीँ राख्नुहोस्; पोर्टसम्म पुग्नु कहिल्यै त्यो प्रयोग गर्ने अनुमति हुनुसँग बराबर थिएन। कुनै पनि अपरिचित स्रोतका लागि ठेगाना परिवार र समय टिप्नुहोस्, र कुनै सुविधा वा जोखिमलाई दोष दिनुअघि जाँच गर्नुहोस्। हरेक सुरुङ साथीलाई भित्र पसाउने नियम व्यवस्थापन सबनेट पसाउनेभन्दा फरक डिजाइन हो, र कुनै लग लाइनले कुन चाहिँ इरादा थियो भन्ने बताउने छैन।
सुधारलाई एक सफलता र एक अस्वीकृतिसँग स्वीकार गर्नुहोस्
दुवै आधा प्रमाणित गर्नुहोस्: एउटा स्वीकृत जडान सफल हुन्छ र एउटा बहिष्कृत मार्ग अस्वीकार हुन्छ। अस्वीकृति त्यो आधा हो जुन मानिसहरूले छोड्छन्, र यसैले नियम काम गरिरहेको देखाउँछ, अनुमति दिने पूर्वनिर्धारितको छेउमा उभिएको होइन। बहिष्कृत पक्षबाट परीक्षण गर्नुहोस्, यसबारे तर्क गर्नुको सट्टा।
पुन: जोडिएपछि जोडी दोहोर्याउनुहोस्, किनभने फरक इन्टरफेस नामसँग फर्किने सुरुङले पुरानोका लागि सीमित नियमलाई चुपचाप बाइपास गर्न सक्छ। महत्त्वपूर्ण सीमा त्यो हो जुन होस्टले वास्तवमा प्राप्त गर्ने प्याकेटहरूमा लागू गर्छ।