पोर्ट फ़ॉरवर्डिंग क्या है और इसका उपयोग किस लिए किया जाता है?


215

'पोर्ट फ़ॉरवर्डिंग' पर बहुत सारे सवाल हैं , लेकिन ऐसा प्रतीत नहीं होता है कि यह स्पष्ट रूप से बताता है कि यह क्या है और इसका क्या उपयोग होता है। इसलिए:

  1. पोर्ट फ़ॉरवर्डिंग क्या है?

  2. इसका उपयोग किस लिए किया जाता है, और मुझे इसकी आवश्यकता क्यों होगी?


1
मुझे लगता है कि यह काफी अच्छा है: portforward.com/help/portforwarding.htm
Koray Tugay

जवाबों:


318

मूल बातें

पोर्ट अग्रेषण को वास्तव में समझाने के लिए, आपको सबसे पहले अपने राउटर के बारे में थोड़ा और समझने की जरूरत है। आपका इंटरनेट सेवा प्रदाता आपके इंटरनेट कनेक्शन पर एक आईपी ​​पता प्रदान करता है । इंटरनेट पर सभी कंप्यूटरों को एक विशिष्ट IP पते की आवश्यकता होती है, लेकिन आपके घर में कई कंप्यूटर हैं और केवल एक ही पता है। यह कैसे काम करता है?

यदि आप जानते हैं कि यह क्या है और बस यह जानना चाहते हैं कि यह कैसे करना है : http://portforward.com/ के पास स्क्रीनशॉट के साथ शाब्दिक रूप से सैकड़ों अलग-अलग राउटर हैं। दस्तावेज़ीकरण उनके स्वचालित पोर्टकॉन्फ़िग टूल के विज्ञापन-पृष्ठ के पीछे छिपा हुआ है। (बस एक बिट के आसपास क्लिक करें जो आपको मिल जाएगा।)

NAT - यह क्या है? हम इसका उपयोग क्यों करते हैं?

आपके होम राउटर में नेटवर्क एड्रेस ट्रांसलेशन या एनएटी नामक एक फंक्शन होता है। आपके नेटवर्क के अंदर, कंप्यूटर में 192.168.1.100 जैसे एड्रेस होते हैं। 192.168 में सभी पते। * सीमा (या 10. * में) सीमा " निजी " या " आरक्षित " पते हैं। ये पते आधिकारिक रूप से IANA द्वारा निजी नेटवर्क के अंदर उपयोग किए जाने के लिए दिए गए हैं। आपका राउटर स्वचालित रूप से डीएचसीपी के माध्यम से जुड़े प्रत्येक कंप्यूटर को ऐसा पता प्रदान करता है । ये पते हैं कि आपके नेटवर्क में कंप्यूटर राउटर के साथ और एक दूसरे के साथ कैसे संवाद करते हैं।

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

विवरण

हालांकि यह जटिल लग सकता है, यह वास्तव में बहुत सरल है कि आपका राउटर इसे कैसे करता है। हर बार जब आपके नेटवर्क के अंदर का कंप्यूटर इंटरनेट पर कंप्यूटर से जुड़ना चाहता है, तो यह राउटर को कनेक्शन का अनुरोध भेजता है (यह राउटर को भेजना जानता है क्योंकि इसका डिफ़ॉल्ट गेटवे पैरामीटर राउटर के पते पर सेट है)। राउटर तब कनेक्शन कनेक्शन (टीसीपी / आईपी में एक "SYN अनुरोध") लेता है और स्रोत का पता ("उत्तर-टू" या वापसी पता) बदलता है और इसे कंप्यूटर के निजी आईपी से सार्वजनिक आईपी में बदल देता है राउटर, ताकि राउटर को जवाब भेजा जाएगा। यह तब एक डेटाबेस ( NAT तालिका कहा जाता है ) में ध्यान देता है कि कनेक्शन शुरू किया गया था, ताकि इसे बाद में याद रहे।

जब प्रतिक्रिया दूरस्थ कंप्यूटर (एक "SYN-ACK") से वापस आती है, तो राउटर अपनी NAT तालिका में दिखता है और देखता है कि उस पोर्ट पर उस होस्ट का एक कनेक्शन पहले आपके नेटवर्क पर एक निजी कंप्यूटर द्वारा शुरू किया गया था, जो गंतव्य को बदलता है। कंप्यूटर के निजी पते को संबोधित करते हैं, और इसे अपने नेटवर्क के अंदर भेजते हैं। इस तरह, पैकेट नेटवर्क के बीच आगे और पीछे ट्रांसमिट करना जारी रख सकते हैं, राउटर पारदर्शी रूप से पते बदल रहा है ताकि यह काम करे। जब कनेक्शन समाप्त हो जाता है, तो राउटर इसे NAT तालिका से हटा देता है।

या इसे इस तरह से सोचें

यह एक रूपक के साथ कल्पना करना थोड़ा आसान हो सकता है - मान लें कि आप अमेरिका में चीनी ग्राहकों के साथ काम कर रहे हैं। उन्हें अमेरिका में कई ग्राहकों को पैकेज भेजने की आवश्यकता है, लेकिन केवल एक स्थान पर पैकेज भेजने के लिए सीमा शुल्क / कागजी कार्रवाई के लिए यह आसान है। तो, एक पैकेज चीन में आपके एक ग्राहक (निजी नेटवर्क, इस उदाहरण में) से एक वास्तविक गंतव्य के साथ अमेरिका (इंटरनेट) में आता है। आप बॉक्स पर दिए गए पते के लेबल को US (सार्वजनिक) पते पर बदल देते हैं, और आप अपने स्वयं के सार्वजनिक पते पर रिटर्न पता बदल देते हैं (क्योंकि यह ग्राहक को असुविधा पहुँचाए बिना सीधे चीन नहीं लौटाया जा सकता) और इसे डाक सेवा को सौंप दें । यदि ग्राहक उत्पाद लौटाता है, तो यह आपके पास आता है। आप इसे अपने रिकॉर्ड में देखें और देखें कि यह चीन की किस कंपनी से आया है,

यह बहुत अच्छा काम करता है, लेकिन थोड़ी समस्या है। क्या होगा यदि किसी ग्राहक को कंपनी को कुछ भेजने की आवश्यकता है, तो किसी चीज़ के भुगतान में मनी ऑर्डर दें? या, मान लें कि इंटरनेट पर एक कंप्यूटर राउटर (एक SYN अनुरोध) के साथ एक कनेक्शन शुरू करता है, एक वेब सर्वर से कहता है जो नेटवर्क में है। अक्षर / पैकेट में केवल राउटर का सार्वजनिक पता होता है, इसलिए राउटर वास्तव में यह नहीं जानता कि उसे कहां भेजा जाए! यह निजी नेटवर्क पर किसी भी कंप्यूटर के लिए, या उनमें से किसी के लिए भी किस्मत में हो सकता है। जब आप किसी के घर फोन करते हैं, तो आपको इस समस्या का अनुभव हो सकता है - जब वे आपको कॉल करते हैं तो यह कोई समस्या नहीं है, लेकिन जब आप उन्हें कॉल करते हैं तो उनके लिए कोई रास्ता नहीं है कि वे यह जान सकें कि कौन व्यक्ति गलत कॉल कर रहा है, इसलिए गलत व्यक्ति जवाब दे सकता है।

हालांकि मनुष्यों के लिए इसे सुलझाना काफी आसान है, यह कंप्यूटरों के लिए बहुत मुश्किल है, क्योंकि आपके नेटवर्क का प्रत्येक कंप्यूटर अन्य सभी कंप्यूटरों को नहीं जानता है।

और अंत में हम पोर्ट फ़ॉरवर्डिंग के लिए मिलता है

पोर्ट फ़ॉरवर्डिंग यह है कि हम इस समस्या को कैसे ठीक करते हैं: यह आपके राउटर को बताने का एक तरीका है कि नेटवर्क आने वाले कनेक्शनों के अंदर कौन से कंप्यूटर को निर्देशित किया जाना चाहिए। हमारे पास तीन अलग-अलग तरीके हैं जिनसे हम यह कर सकते हैं:

  • अशुद्ध-डीएमजेड : बहुत सारे राउटर्स में डीएमजेड नामक एक सुविधा होती है। यह Demilitarized Zone के लिए खड़ा है, जो एक प्रकार का नेटवर्क सुरक्षा कॉन्फ़िगरेशन है। होम रूटर्स पर DMZ को अक्सर अशुद्ध-DMZ के रूप में जाना जाता है क्योंकि इसमें वास्तविक DMZ की विशेषताओं का अभाव होता है। यह क्या करता है आने वाले कनेक्शन से निपटने का सबसे सरल प्रकार है: आने वाले सभी कनेक्शन अनुरोध आपके नेटवर्क के अंदर निर्दिष्ट एक को भेजे जाएंगे। यह मृत सरल है - आप अपने राउटर के कॉन्फ़िगरेशन में एक आईपी पता टाइप करते हैं, और सभी आने वाले कनेक्शन वहां जाते हैं। हालांकि, यह हमेशा काम नहीं करता है, क्योंकि आपके पास कई कंप्यूटर हो सकते हैं जिन्हें आने वाले कनेक्शन को स्वीकार करना होगा। उसके लिए, हमारे पास ...
  • पोर्ट अग्रेषण : सभी नेटवर्क कनेक्शन अनुरोधों में एक "पोर्ट" शामिल है। पोर्ट केवल एक संख्या है, और यह इस बात का हिस्सा है कि कंप्यूटर कैसे जानता है कि पैकेट क्या है। IANA ने निर्दिष्ट किया है कि पोर्ट 80 का उपयोग HTTP के लिए किया जाता है। इसका मतलब है कि आने वाले पैकेट जो कहते हैं कि पोर्ट नंबर 80 एक वेब सर्वर के लिए एक अनुरोध होना चाहिए। आपके राउटर पर पोर्ट अग्रेषण आपको राउटर के आधार पर एक पोर्ट नंबर (या संभवतः रेंज या संख्याओं का संयोजन), और एक आईपी पता दर्ज करने की अनुमति देता है। एक मेल पोर्ट नंबर के साथ आने वाले सभी कनेक्शनों को उस पते के साथ आंतरिक कंप्यूटर पर भेजा जाएगा।
  • UPnP पोर्ट फ़ॉर्वर्ड: UPnP फ़ॉरवर्डिंग पोर्ट फ़ॉरवर्डिंग की तरह ही सटीक तरीके से काम करता है, लेकिन आप इसे सेट करने के बजाय, नेटवर्क के अंदर एक कंप्यूटर पर सॉफ़्टवेयर स्वचालित रूप से राउटर को एक दिए गए पोर्ट पर आगे ट्रैफ़िक सेट करता है।

एक उदाहरण

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

यदि आपके पास राउटर पर कुछ भी सेट नहीं है, तो यह इन कनेक्शन अनुरोधों को प्राप्त करेगा, लेकिन यह नहीं जानता होगा कि नेटवर्क के अंदर कौन सा कंप्यूटर गेम सर्वर है, इसलिए यह सिर्फ उन्हें अनदेखा करेगा (या, विशेष रूप से, यह भेज देगा एक पैकेट को दर्शाता है कि यह कनेक्ट नहीं हो सकता है)। सौभाग्य से, आप पोर्ट नंबर जानते हैं जो गेम सर्वर के कनेक्शन अनुरोधों पर होगा। इसलिए, राउटर पर, आप पोर्ट नंबर के साथ एक पोर्ट आगे सेट करते हैं जो गेम सर्वर (उदाहरण के लिए, 27015) और गेम सर्वर के साथ कंप्यूटर का आईपी पता (उदाहरण के लिए, 192.168.1.105) है।
राउटर आने वाले कनेक्शन अनुरोधों को नेटवर्क के अंदर 192.168.1.105 पर अग्रेषित करना जानता है, और बाहर के कंप्यूटरों को कनेक्ट करने में सक्षम होगा।

एक अन्य उदाहरण दो मशीनों के साथ एक स्थानीय नेटवर्क होगा, जहां आईपी 192.168.1.10 के साथ दूसरा एपाचे का उपयोग करके एक वेबसाइट को होस्ट करता है। इसलिए राउटर को इस मशीन पर आने वाले पोर्ट 80 अनुरोधों को अग्रेषित करना चाहिए। पोर्ट फ़ॉरवर्डिंग का उपयोग करके, दोनों मशीनें एक ही समय में एक ही नेटवर्क में चल सकती हैं।

पोर्ट अग्रेषण उदाहरण ग्राफ

वीडियो गेम शायद सबसे आम जगह हैं जहां हर रोज़ उपयोगकर्ता पोर्ट फ़ॉरवर्डिंग का सामना करेंगे, हालांकि अधिकांश आधुनिक गेम UPnP का उपयोग करते हैं ताकि आपको मैन्युअल रूप से ऐसा न करना पड़े (इसके बजाय, यह पूरी तरह से स्वचालित है)। जब भी आप अपने नेटवर्क में किसी चीज़ से सीधे जुड़ने में सक्षम होना चाहते हैं, तब आपको ऐसा करने की आवश्यकता होगी (बजाय इंटरनेट पर कुछ मध्यस्थ के)। इसमें आपका अपना वेब सर्वर चलाना या आपके कंप्यूटर में दूरस्थ डेस्कटॉप प्रोटोकॉल के माध्यम से जुड़ना शामिल हो सकता है।

सुरक्षा पर ध्यान दें

NAT के बारे में एक अच्छी बात यह है कि यह कुछ प्रयास-मुक्त, अंतर्निहित सुरक्षा प्रदान करता है। बहुत सारे लोग ऐसी मशीनों की तलाश में इंटरनेट भटकते हैं जो असुरक्षित हैं ... और वे विभिन्न बंदरगाहों के साथ कनेक्शन खोलने का प्रयास करके ऐसा करते हैं। ये आने वाले कनेक्शन हैं, इसलिए, जैसा कि ऊपर चर्चा की गई है, राउटर उन्हें छोड़ देगा। इसका मतलब यह है कि NAT कॉन्फ़िगरेशन में, केवल राउटर ही आने वाले कनेक्शनों के हमलों के लिए असुरक्षित है। यह एक अच्छी बात है, क्योंकि बहुत सारे सॉफ्टवेयर के साथ पूर्ण ऑपरेटिंग सिस्टम चलाने वाले कंप्यूटर की तुलना में राउटर बहुत सरल है (और इस तरह कमजोर होने की संभावना है)। आपको यह ध्यान रखना चाहिए, कि, अपने नेटवर्क के अंदर एक कंप्यूटर को डीएमजेड द्वारा स्थापित करना (इसे डीएमजेड गंतव्य के रूप में स्थापित करना) आप उस कंप्यूटर के लिए सुरक्षा की परत खो देते हैं: यह अब इंटरनेट से आने वाले कनेक्शनों के लिए पूरी तरह से खुला है। इसलिए आपको इसे सुरक्षित करने की आवश्यकता है जैसे कि यह सीधे जुड़ा हुआ था। बेशक, जब भी आप किसी पोर्ट को फॉरवर्ड करते हैं, तो प्राप्त होने वाला कंप्यूटर उस विशिष्ट पोर्ट पर असुरक्षित हो जाता है। इसलिए सुनिश्चित करें कि आप अप-टू-डेट सॉफ़्टवेयर चलाते हैं जो अच्छी तरह से कॉन्फ़िगर किया गया है।


2
आपने संक्षेप में इसका उल्लेख किया है, लेकिन आप पोर्ट फ़ॉरवर्डिंग के DMZ- शैली के उपयोग के महत्व पर विस्तार करना चाहते हैं। मैं एक ऐसे उदाहरण के बारे में नहीं सोच सकता, जहां यह एक अच्छा विचार होगा, एक उत्पादन वातावरण के तहत, बाहरी दुनिया के लिए एक sql सर्वर (या जो कुछ) की तरह कुछ का पर्दाफाश करने के लिए। पोर्ट अग्रेषण सुरक्षा को गंभीरता से समझौता किए बिना संरक्षित संसाधनों पर प्राप्त करना संभव बना सकता है।
ब्रायन वंडेनबर्ग

11
NAT खंड में एक विवरण का विस्तार नहीं किया गया है, यह तथ्य है कि यदि आपके नेटवर्क पर कंप्यूटर अपने आंतरिक गैर-परिवर्तनीय निजी आईपी पते प्राप्त करने के लिए डीएचसीपी का उपयोग करते हैं, तो उनके लिए यह संभव है कि वे किसी को भिन्न करने के लिए सौंपे और यदि ऐसा होता है तो पोर्ट अग्रेषण होगा गड़बड़ हो गई। इससे बचने के लिए सबसे अच्छा है कि प्रत्येक कंप्यूटर के नेटवर्क को मैन्युअल रूप से संबोधित करके। portforward.com इसके महत्व पर जोर देता है और एक गाइड का वर्णन करता है कि एक सिस्टम पर एक स्थिर आईपी पता कैसे सेट किया जाए, हालांकि वे इन अब आरक्षित NAT पते से बचने के लिए राउटर के डीएचसीपी को कॉन्फ़िगर करने की आवश्यकता का उल्लेख नहीं करते हैं।
मार्टिनगु

2
@jcrawfordor, हाय, क्या आप बता रहे हैं कि वास्तव में UPnP पूरी तरह से स्वचालित कैसे है? UPnP क्या है और यह कैसे काम करता है?
पचेरियर

1
@martineau डीएचसीपी पते को जमा करना ऐसा करने का एक अच्छा तरीका है। कुछ राउटर आप विशिष्ट ग्राहकों को पोर्ट-फॉरवर्ड कर सकते हैं, न कि पतों पर, जो और भी बेहतर है।
बाल्ड्रिक

2
उत्तर का हिस्सा जो कहता है, "पोर्ट सिर्फ एक संख्या है, और यह एक हिस्सा है कि कंप्यूटर कैसे जानता है कि पैकेट क्या है।" भ्रामक है। किसी अनुप्रयोग के लिए पोर्ट नंबर तय करना एक कन्वेंशन है, इसका पैकेट के प्रकार का निर्धारण करने वाला कारक नहीं है। पोर्ट 80 के लिए सबसे अच्छे पैकेट का अनुमान HTTP से लगाया जा सकता है, इससे ज्यादा कुछ नहीं, यह पूरी तरह से (एप्लीकेशन लेयर पर) पोर्ट 80 पर सुनने वाले एप्लिकेशन पर निर्भर करेगा।
कोडमेनी48
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.