چگونه Local Port Forwarding را با SSH انجام دهیم؟

زمانی که از طریق ssh به یک سیستم لینوکسی (دقیقتر یک SSH Server) دسترسی وجود داشته باشد، امکان دسترسی به شبکه متصل به آن سیستم وجود دارد. (باید در نظر داشت این موضوع به تنظیمات داخلی فایروال در شبکه مقصد بستگی دارد).

این موضوع با استفاده از قابلیت SSH Port Forwarding قابل انجام است. به صورت خلاصه SSH توانایی فروارد کردن یک پورت (از شبکه مبدا یا مقصد) به یک پورت (در شبکه مقصد یا مبدا)، بر فراز تانلی که ایجاد کرده است، را دارد.

جهت روشن شدن ابعاد موضوع، سناریوی زیر مورد بررسی قرار می‌گیرد.

در این سناریو مبدا که شبکه سمت چپ است به سرور شماره ۱ از شبکه سمت راست دسترسی دارد (از طریق پورت فورواردی (NAT) که در شکل نشان داده شده است).

سناریوی SSH Port Forwarding

برقراری Local Port Forward

برای دسترسی به سرور شماره 2 از طریق دسترسی موجود به سرور 1، از قابلیت Local Port Forwarding (فروارد یک پورت در سمت مبدا – محلی – به پورتی در سمت مقصد) استفاده می‌شود.

ساختار LPF در خط فرمان به شکل زیر است:

Copy to Clipboard

با برقراری این ارتباط، هر اتصالی که به پورت ۶۶۵۵ در کلاینت ۱ برقرار شود، توسط تانل SSH، به پورت ۲۲ در سرور سرور ۱۷۲.۱۶.۱۷.۲۰ در شبکه سمت راست هدایت می‌شود. به عبارتی با این روش امکان اتصال مستقیم به سرور 2 از طریق کلاینت 1 فراهم شده است.

اتصال مستقیم به سرور شماره 2 از کلاینت ۱ به شکل زیر انجام می‌شود.

Copy to Clipboard

اتصال مستقیم از سایر کلاینت‌های شبکه سمت چپ به سرور 2 به روش زیر قابل انجام است:

Copy to Clipboard

در صورتی که سیستم‌عامل کلاینت‌ها لینوکس نباشد، فرآیند Local Port Forward توسط برنامه پرکاربرد putty به شکل زیر قابل انجام است:

استفاده از Putty برای Local Port Forward
استفاده از Putty برای Local Port Forward

در نرم افزار MobaXterm نیز این کار به روایت شکل زیر انجام می‌پذیرد:

Local Port Forwarding در نرم افزار MobaXterm

تانل‌های پشت سر هم (سری)

قابلیت پورت فرواردینگ، امکان ایجاد تانل‌های پشت سرهم(و هر ترکیب دیگری) برای دستیابی به هدف مورد نظر را فراهم می‌کند.

به عنوان مثال برای اتصال مستقیم به سرور 5 که اتصال به آن صرفا از طریق سرور 4 امکان پذیر است، مراحل زیر انجام می‌شود:

ابتدا یک اتصال SSH از سرور 1 به سرور 4 ایجاد شده(با فرض وجود دسترسی از سرور 1 به 4) و بر بستر آن Local Port Forward جهت اتصال پورت 2233 در سمت سرور 1 به پورت 22 سرور 5 ایجاد می‌شود:

Copy to Clipboard

سپس از سمت کلاینت 1 اتصال SSH به سرور 1 برقرار شده و بر بستر آن Local Port Forward جهت اتصال پورت 6655 در سمت کلاینت 1 به پورت 2233 در سمت سرور 1 ایجاد می‌شود:

Copy to Clipboard

با این روش چنانچه اتصالی به پورت 6655 در کلاینت 1 برقرار شود، این اتصال به پورت 22 در سرور 5 (بعد از دو مرتبه Forwarding) هدایت می‌شود.

به اشتراک بگذارید.