স্থানীয় এবং দূরবর্তী আইপি ফরওয়ার্ডিং মধ্যে পার্থক্য কি?


10

দুজনের কার্যকারিতার মধ্যে পার্থক্য কী? আমি এতে কিছুটা বিভ্রান্ত হয়ে পড়েছি।

স্থানীয় ফরোয়ার্ডিং স্থানীয়ভাবে একটি রিমোট বন্দর তৈরি করে।

রিমোট ফরওয়ার্ডিং একটি স্থানীয় বন্দরকে দূরবর্তীভাবে উপলভ্য করে।

তবে এই 'প্রাপ্যতা' উভয় দিকেই কাজ করবে ... নাকি তা করে?

উদাহরণস্বরূপ নিম্নলিখিতটি (কোনও হোস্ট 'হোম' থেকে জারি করা হয়েছে)

ssh -R 1234:localhost:2345 user@work

এটি কাজ :: 1234 এবং বাড়ির মধ্যে একটি সুরক্ষিত সুড়ঙ্গ স্থাপন করবে: 2345, ঠিক?

আমি যদি এক প্রান্তে কিছু রাখি তবে তা অন্য প্রান্তে বেরিয়ে আসবে।

তবে তারপরে, হোস্টের 'কাজ' এর নিম্নলিখিত কল দিয়ে আমি এটি অর্জন করতে পারি:

ssh -L 1234:localhost:2345 user@home

সুতরাং, কেবলমাত্র তফাতটিই আমি এখান থেকে কল করেছি, সঠিক?


আপনার উদাহরণে কার্যকারিতার মধ্যে কোনও পার্থক্য নেই। টার্গেট হোস্টগুলি বিনিময় করে বিপরীত যুক্তি ব্যবহারের জন্য আপনি নিজেকে বাছাই করুন। আপনি যদি এটি না করে থাকেন এবং 1 টি হোস্টের মধ্যে থেকে তাদের উভয়ই ব্যবহার করেছেন - এটি ইতিমধ্যে সম্পূর্ণ বিপরীত আচরণকে ট্রিগার করবে।
এক্সএক্সএল

উত্তর:


2

প্রধান ব্যবহারিক পার্থক্যটি হ'ল যদি 2 কম্পিউটার A এবং B কে সংযুক্ত করা হয়, এবং B কোনও ফায়ারওয়াল বা NAT রাউটারের পিছনে থাকে যা আপনি নিয়ন্ত্রণ করেন না এবং এটি আগমনকে বাধা দিচ্ছে .. আপনি এ এ বসে আছেন আপনি A পাবেন না বি তে সংযোগ করতে কিন্তু বি আউটগোয়িং অবরুদ্ধ করবে না .. সুতরাং আপনি বি এর সাথে সংযোগ পেতে পারেন B

- যুক্ত স্পষ্টকরণ -

উপরোক্ত, যা প্রশ্নকর্তা বুঝতে পেরেছিলেন ... এর অর্থ স্থানীয় এবং দূরবর্তী ফরওয়ার্ডিংয়ের মধ্যে প্রধান ব্যবহারিক পার্থক্য। ssh -L এবং ssh -R যখন আপনি প্রতিটি ব্যবহার করবেন তিনি যে নির্দিষ্ট উদাহরণ দিয়েছেন তার বিষয়ে আমি মন্তব্য করছিলাম না, যেখানে তিনি -L এবং -R স্যুইচ করেন এবং কোন এসএসডি সার্ভারের সাথে তিনি সংযুক্ত হন। তবে এখন আমি এ সম্পর্কে মন্তব্য করার চেষ্টা করব .. নিয়মিত ক্লায়েন্ট এবং নিয়মিত সার্ভারের দৃষ্টিকোণ থেকে, তিনি যে ssh আদেশ দিয়েছেন তাতে কোনও পার্থক্য বলে মনে হচ্ছে না, কারণ এটি বলে না যে "আহ এটি একটি এসএসএস ক্লায়েন্ট এবং এটি একটি ssh সার্ভার .. "এটি ssh জানে না এবং যেটি ssh এর ক্লায়েন্ট / সার্ভার দিকটি তা নিয়মিত ক্লায়েন্ট এবং নিয়মিত সার্ভারের কাছেও অপ্রাসঙ্গিক এবং অজানা। কে কেবল শুনছে সে সম্পর্কে তারা যত্নশীল এবং তাদের দৃষ্টিকোণ থেকে এটি দেখতে একই রকম। কাজের কম্পিউটারটি শুনছে এবং 1234-এ They t লক্ষ্য করুন যে এক ক্ষেত্রে এটি একটি sshd.exe ssh সার্ভার, এবং অন্য ক্ষেত্রে এটি একটি ssh.exe, ssh ক্লায়েন্ট। যাইহোক, যেখানে ssh ক্লায়েন্ট, স্থানীয় হিসাবে বিবেচনা করা হয়।


ঠিক আছে, আপনাকে ধন্যবাদ, যে আমার প্রশ্নের ঠিক উত্তর দিয়েছে! :-)
নন্দালো

@ নান্দালু আমি মনে করি একে বিপরীতমুখী টানেল বলা হয়। যদি আমরা মেক আপ শর্তাদি আরম্ভকারী এবং শ্রোতার ব্যবহার করি ('শব্দগুলি ক্লায়েন্ট এবং সার্ভারের তুলনায় কম অস্পষ্ট)। ধারণাটি হ'ল আপনার নিয়মিত দীক্ষক এবং শ্রোতা এবং আপনার এসএসএস আরম্ভকারী এবং শ্রোতা। আপনার নিয়মিত সূচক এবং শ্রোতা কোথায় আছেন তা আপনি চয়ন করতে পারেন না। যেমন HTTP সার্ভার (নিয়মিত শ্রোতা) বি তে রয়েছে ফায়ারওয়ালের পিছনে বি B এটির এইচটিটিপি ক্লায়েন্ট রয়েছে (নিয়মিত উদ্যোগী)। আপনি আপনার এসএসএইচ ইনিশিয়েটরটি বি তে রেখেছেন একটি বিপরীত সুড়ঙ্গ সহ এসএসএইচ ইনিশিয়েটর এবং শ্রোতার সাথে দেখুন, নিয়মিত ইনিশিয়েটর এবং শ্রোতার বিপরীত কম্পিউটারে রয়েছেন।
বারলপ

10

হ্যাঁ, আমি যদি এটি সঠিকভাবে বুঝতে পারি তবে স্থানীয় পোর্ট ফোরওয়ার্ডিং-এ থেকে বি-তে একটি (এবং বিপরীতে) থেকে দূরবর্তী পোর্ট ফরওয়ার্ডিংয়ের অনুরূপ হওয়া উচিত। একটি থেকে বি থেকে বহির্গামী সুড়ঙ্গ (এ থেকে দেখা) একটি থেকে বি থেকে আগত টানেলের সমান হওয়া উচিত (খ থেকে দেখানো)।

লোকাল পোর্ট ফরওয়ার্ডিং একটি বহির্গামী টানেল তৈরি করে যা স্থানীয় মেশিনে একটি পাবলিক ইন্টারনেট কম্পিউটার আনতে ব্যবহার করা যেতে পারে। একটি স্থানীয় ব্যবহারকারী একটি রিমোট হোস্ট অ্যাক্সেস করতে পারে: স্থানীয় হোস্টে পোর্ট সংমিশ্রণ, কারণ স্থানীয় (ক্লায়েন্ট) হোস্টের প্রদত্ত বন্দরটি দূরবর্তী দিকের প্রদত্ত হোস্ট এবং পোর্টে ফরোয়ার্ড করা হয়েছে:

ssh -L local_port:remote_host:remote_port user@hostname

রিমোট পোর্ট ফরওয়ার্ডিং একটি আগত টানেল তৈরি করে যা একটি স্থানীয় কম্পিউটারকে পাবলিক ইন্টারনেটে আনতে ব্যবহার করা যেতে পারে। একটি ইন্টারনেট ব্যবহারকারী একটি নির্দিষ্ট স্থানীয় হোস্ট: দূরবর্তী হোস্টে পোর্ট সংমিশ্রণ অ্যাক্সেস করতে পারে। রিমোট (সার্ভার) হোস্টে প্রদত্ত বন্দরটি স্থানীয় পক্ষের প্রদত্ত হোস্ট এবং পোর্টে ফরোয়ার্ড করা হয়:

ssh -R local_port:remote_host:remote_port user@hostname

1
আমি মনে করি সিনট্যাক্সের পাশাপাশি আরও একটি পার্থক্য হ'ল প্রক্রিয়াটি যা ব্যবহারকারীর সাথে সংযোগ স্থাপনের জন্য শুনবে। ssh.exe -L শোনার জন্য ssh.exe কে বলে (বহির্গামী সংযোগটি এটি ইতিমধ্যে তৈরি করছে তা ছাড়াও)। ssh.exe -R শোনার জন্য sshd.exe কে বলে (শ্রবণটি ইতিমধ্যে এটি করছে)।
বারলপ

@ 0x4a6f4672, এর 0x4a6f4672অর্থ কী?
পেসারিয়ার

হ্যাক্সাডেসিমাল স্বরলিপিটিতে পেসারিয়র কেবল আমার সূচনা "জোফর" :-)
0x4a6f4672

3

স্থানীয় পোর্ট ফরওয়ার্ড করার সাথে সাথে আপনি (ক্লায়েন্ট) আপনার কম্পিউটারে একটি শ্রোতা সকেট খুলুন এবং আপনার অ্যাপ্লিকেশন-স্তরের প্রোটোকল ক্লায়েন্টকে এই সকেটে সংযুক্ত করুন। এখন সংযোগটি এসএসএইচের মাধ্যমে সার্ভারে ফরোয়ার্ড করা হয়েছে। সার্ভারটি রিমোট হোস্টের সাথে সংযুক্ত হয় এবং আপনার প্রোটোকল ক্লায়েন্ট থেকে ডেটা টানিয়ে দেয় চূড়ান্ত গন্তব্যে।

রিমোট পোর্ট ফরওয়ার্ডিং সহ সার্ভারটি সার্ভার হোস্টে একটি শ্রোতা সকেট খুলবে। কিছু দূরবর্তী অ্যাপ্লিকেশন এই হোস্টের সাথে সংযোগ স্থাপন করে এবং তথ্য পাঠায় যা আপনার ক্লায়েন্ট কম্পিউটারে স্থানান্তরিত হয়। এখানে সংযোগটি চূড়ান্ত গন্তব্যে প্রতিষ্ঠিত হয়েছে (কিছু অ্যাপ্লিকেশন-স্তরের প্রোটোকল সার্ভার আপনার কম্পিউটারে বা আপনার নেটওয়ার্কে চলছে) এবং ডেটা দূরবর্তী অ্যাপ্লিকেশন থেকে চূড়ান্ত গন্তব্যে স্থানান্তরিত হয়।


ধন্যবাদ, এটি পোর্ট ফরওয়ার্ডিং কীভাবে কাজ করে তা আরও পরিষ্কার করে তুলেছে। এবং প্রশ্নটি সরানোর জন্য ধন্যবাদ - আমি এই
সুপারভাইজার

1

এটি ছোট উদাহরণগুলির সাথে ভালভাবে বোঝা যায়। এই উদাহরণগুলিতে সংযোগগুলি এই জাতীয় কাঠামোগত হয়:

স্থানীয় সার্ভার - (ল্যান) - টার্মিনাল ----- (এসএসএইচ, সাধারণত ইন্টারনেটের মাধ্যমে) ----- টানেল এন্ডপয়েন্ট - (ল্যান) - রিমোট মেশিন

আপনি যদি কোনও নির্দিষ্ট দূরবর্তী মেশিন / পোর্টে টানেল রাখতে চান তবে আপনি যে টানেলের এসএসএস অ্যাক্সেস টানেলটি শেষ পয়েন্টে পৌঁছাতে পারবেন তা ব্যবহার করে আপনি স্থানীয় পোর্ট ফরওয়ার্ডিং ব্যবহার করেন। থের্বি, এই রিমোট মেশিনের বন্দরটি স্থানীয়ভাবে আপনার নিজস্ব টার্মিনালে, যেমন http: // লোকালহস্ত: টার্মিনাল_পোর্ট / এ অ্যাক্সেসযোগ্য।

এটি নিম্নলিখিত বাক্য গঠন ব্যবহার করে করা হয়েছে:

ssh -L terminal_port:remote_machine_ip:remote_service_port -p tunnel_endpoint_ssh_port ssh-login@tunnel_endpoint_ip

আপনি যদি কোনও কোনও (!) দূরবর্তী সক্ষম করতে চান তবে আপনি দূরবর্তী পোর্ট ফরওয়ার্ডিং ব্যবহার করতে পারেন , যিনি আপনার স্থানীয় ল্যানে দূরবর্তী অবস্থান থেকে একটি আইপি / পোর্ট অ্যাক্সেস করতে সক্ষম টানেলের শেষ পয়েন্টের শ্রবণ বন্দরে পৌঁছাতে সক্ষম। আপনার স্থানীয় সার্ভারে, দেখে মনে হচ্ছে দূরবর্তী মেশিনের সংযোগটি টার্মিনাল দ্বারা শুরু করা হয়েছিল।

সিনট্যাক্সটি হ'ল:

ssh -R tunnel_endpoint_listen_port:local_server_ip:local_server_port -p tunnel_endpoint_ssh_port ssh-login@tunnel_endpoint_ip

0

সকেটের ম্যানপেজটি এটি খুব ভালভাবে স্পষ্ট করে। হ্যাঁ, আমি জানি ssh এবং সকেট দুটি সম্পূর্ণ ভিন্ন জিনিস - তবে সোকের ডকুমেন্টেশনটি খুব ভাল।

আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.