"स्थानीय पोर्ट फ़ॉरवर्डिंग" और "डायनेमिक पोर्ट फ़ॉरवर्डिंग" के बीच अंतर?


14

मैं "लोकल पोर्ट फ़ॉरवर्डिंग" और "डायनेमिक पोर्ट फ़ॉरवर्डिंग" के बीच के अंतर को समझने की कोशिश कर रहा हूँ।

"स्थानीय पोर्ट फ़ॉरवर्डिंग" के लिए ssh कमांड में, क्या गंतव्य होस्ट को निर्दिष्ट करना हमेशा आवश्यक होता है?

क्या "डायनेमिक पोर्ट फ़ॉरवर्डिंग" में "डायनेमिक" का अर्थ है, "डायनेमिक पोर्ट फ़ॉरवर्डिंग" के लिए ssh कमांड में, डेस्टिनेशन होस्ट को निर्दिष्ट करने की कोई आवश्यकता नहीं है? यदि हाँ, तो गंतव्य कब निर्दिष्ट किया गया है?


जवाबों:


15

हां, आपको स्थानीय अग्रेषण का उपयोग करते समय एक गंतव्य आईपी और पोर्ट निर्दिष्ट करना होगा। से man ssh:

 -L [bind_address:]port:host:hostport
         Specifies that the given port on the local (client) host is to be
         forwarded to the given host and port on the remote side.

स्पष्ट रूप से, केवल बाइंड पता वैकल्पिक है।

नहीं, आप डायनामिक फ़ॉरवर्डिंग का उपयोग करते समय गंतव्य होस्ट या पोर्ट निर्दिष्ट नहीं कर सकते। डायनामिक फॉरवर्डिंग में, SSH एक SOCKS प्रॉक्सी के रूप में कार्य करता है। फिर से मैनपेज (जोर मेरा) से:


 -D [bind_address:]port
         Specifies a local “dynamic” application-level port forwarding.
         This works by allocating a socket to listen to port on the local
         side, optionally bound to the specified bind_address.  Whenever a
         connection is made to this port, the connection is forwarded over
         the secure channel, and the application protocol is then used to
         determine where to connect to from the remote machine.  Currently
         the SOCKS4 and SOCKS5 protocols are supported, and ssh will act
         as a SOCKS server.

-Lएसएसएच के साथ , यातायात को समझने का कोई प्रयास नहीं करता है। यह स्थानीय पोर्ट पर प्राप्त होने वाली सभी चीज़ों को लक्ष्य पोर्ट पर भेजता है - आप कनेक्शन बनाए जाने के समय लक्ष्य पोर्ट का निर्धारण करते हैं। इसके साथ -D, SSH एक प्रॉक्सी सर्वर के रूप में कार्य करता है, और इसलिए कई पोर्ट से कनेक्शन को संभाल सकता है (उदाहरण के लिए, SOCKS प्रॉक्सी के रूप में इसका उपयोग करने के लिए कॉन्फ़िगर किया गया ब्राउज़र तब उसी कनेक्शन पर HTTP, HTTPS, FTP, आदि का उपयोग कर सकता है)। और अन्य प्रॉक्सी सर्वरों की तरह, यह गंतव्य को निर्धारित करने के लिए यातायात का उपयोग करेगा।


1
धन्यवाद, मूरू! मुझे आश्चर्य है कि डायनेमिक फ़ॉरवर्डिंग को प्रॉक्सी क्यों कहा जाता है, जबकि लोकल फ़ॉरवर्डिंग नहीं है? परिभाषा के अनुसार, ssh सर्वर, ssh क्लाइंट या स्थानीय दोनों में एक प्रॉक्सी (सर्वर) अग्रेषित करता है? unix.stackexchange.com/a/234184/674
टिम

1
@ एक प्रॉक्सी सर्वर समझता है कि वह जो प्रोटोकॉल है वह समीप है। पोर्ट फॉरवर्डिंग के साथ, एसएसएच यह समझने का कोई प्रयास नहीं करता है कि प्रोटोकॉल किस तरह से आ रहा है, लेकिन इसके साथ -D, यह भी समझना होगा कि डेटा कहां भेजना है।
मुरु

धन्यवाद। मैंने कंप्यूटर नेटवर्क की कुछ पाठ्यपुस्तकों (जैसे तेनबाम की) को एक प्रॉक्सी (सर्वर) के लिए परिभाषा के रूप में आपके लिए स्पष्ट के रूप में खोजा, लेकिन संतुष्ट नहीं था। क्या आपके पास सीखने की अवधारणाओं के लिए सिफारिश करने के लिए कुछ किताबें हैं?
टिम

डायनेमिक पोर्ट फ़ॉरवर्डिंग में, जो प्रॉक्सी सर्वर, ssh क्लाइंट, ssh सर्वर या दोनों है?
टिम

@ टिम तेनबाम की एकमात्र पुस्तक थी जिसका मैंने अध्ययन किया था। बाकी चीजें इस्तेमाल करने से आती हैं।
मुरु

0

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

क्लाइंट के लिए 2 विकल्प हैं: ए) लोकल पोर्ट फॉरवर्ड SSH कमांड: ssh -i key.pem -L 8157: abcd: 8088 hadoop @ abcd

यहाँ क्लाइंट उदाहरण के लिए कहता है, कि लोकलहोस्ट पर 8157 abcd को फॉरवर्ड हो जाता है: 8088 क्लाइंट को लोकलहोस्ट से एक अनुरोध करना होगा: http: // localhost: 8157 अन्य एप्लिकेशन 8089-8090 जैसे पोर्ट्स पर सुन सकते हैं और क्लाइंट को इनमें से हर एक के लिए ssh कनेक्शन करना होगा।

बी) डायनेमिक पोर्ट फ़ॉरवर्ड यहाँ एक SSH कमांड का उपयोग किया जाता है: ssh -i key.pem -D 8157 hadoop @ abcd

पोर्ट 8157 पर जाने वाले किसी भी ट्रैफिक को ssh सुरंग से होकर गुजारा जाएगा। ट्रैफ़िक का गंतव्य URL का गंतव्य होगा। उदाहरण के लिए, आप अपने वेबसर्वर पर एक प्रॉक्सी-क्लाइंट का उपयोग कर सकते हैं और प्रॉक्सी का उपयोग करने के लिए कुछ http यूआरआई को पुनर्निर्देशित कर सकते हैं। आप एक ही कमांड के जरिए 8089,8090 पर अपने सभी एप्लिकेशन एक्सेस कर सकते हैं।

संदर्भ के लिए, यह दस्तावेज़ देखें: https://docs.aws.amazon.com/emr/latest/ManagementGuide/emr-web-interfaces.html

हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.