cloudavid
cloudavid
خواندن ۲ دقیقه·۲ سال پیش

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

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

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

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

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

برقراری Local Port Forward

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

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

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

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

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

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

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

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

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

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

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

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

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

sshport forwardingسرورکلاینت
ارائه دهنده زیرساخت امن و پایدار برای تداوم کسب و کارها
شاید از این پست‌ها خوشتان بیاید