Local ،Remote و Dynamic به زبان ساده
SSH Port Forwarding یا تونلسازی SSH روشی امن برای عبور دادن ترافیک شبکه از داخل یک اتصال رمزنگاریشده SSH است. این تکنیک به شما اجازه میدهد حتی روی شبکههای ناامن (مثل اینترنت عمومی یا Wi-Fi عمومی) بدون نگرانی از شنود یا دستکاری دادهها، به سرویسهای راه دور متصل شوید.
این قابلیت برای مدیران سرور، توسعهدهندگان، متخصصان امنیت و افرادی که با دیتابیسها و سرویسهای ریموت کار میکنند یک ابزار حیاتی محسوب میشود.
در این راهنما سه نوع اصلی Port Forwarding را یاد میگیرید:
-
Local Port Forwarding
-
Remote Port Forwarding
-
Dynamic Port Forwarding
همراه با مثالهای کاربردی، سناریوهای واقعی و نکات عیبیابی.
SSH Port Forwarding چیست؟
تونلسازی SSH یک مسیر ارتباطی امن بین دو سیستم ایجاد میکند که تمام دادهها در آن رمزنگاری میشوند.
میتوانید آن را مثل یک تونل خصوصی در نظر بگیرید که ترافیک شبکه شما را از دید افراد غیرمجاز پنهان میکند.
کاربردهای اصلی:
-
دسترسی امن به دیتابیسهای راه دور
-
عبور از محدودیتهای فایروال
-
تست و توسعه سرویسهای ریموت
-
محافظت از دادههای حساس در حال انتقال
1️⃣ Local Port Forwarding (ssh -L)
این روش ترافیک را از سیستم محلی شما به یک سرویس روی سرور راه دور هدایت میکند.
کاربردها
-
اتصال امن به دیتابیس ریموت
-
دسترسی به وباپلیکیشنهای داخلی سرور
-
تست سرویسهای راه دور در محیط لوکال
-
عبور امن از محدودیتهای فایروال
ساختار دستور
مثال عملی (اتصال به PostgreSQL)
حالا اگر برنامه شما به localhost:5433 وصل شود، در واقع به دیتابیس PostgreSQL روی سرور ریموت متصل شده است، آن هم از داخل یک تونل رمزنگاریشده.
ویژگیهای امنیتی
-
رمزنگاری کامل دادهها
-
احراز هویت SSH
-
جلوگیری از شنود و دستکاری اطلاعات
2️⃣ Remote Port Forwarding (ssh -R)
این روش برعکس حالت قبل است. ترافیک از سرور راه دور به سمت سیستم محلی شما هدایت میشود.
کاربردها
-
نمایش محیط توسعه لوکال به دیگران
-
دور زدن NAT یا فایروالهای محدودکننده
-
دسترسی ریموت به سرویسهای لوکال
-
انتشار موقت یک سرویس بدون تغییر تنظیمات شبکه
ساختار دستور
مثال
هر ترافیکی که روی پورت 9000 سرور ریموت بیاید، به پورت 9000 سیستم شما منتقل میشود.
تنظیم مهم روی سرور
در فایل:
این گزینه باید فعال باشد:
سپس:
3️⃣ Dynamic Port Forwarding (ssh -D)
در این حالت SSH یک SOCKS Proxy میسازد که میتواند انواع مختلفی از ترافیک را از داخل تونل SSH عبور دهد.
کاربردها
-
وبگردی امن روی شبکههای عمومی
-
عبور از محدودیتهای شبکه
-
مخفی کردن IP واقعی
-
پروکسی کردن ترافیک برنامهها
دستور
سپس در مرورگر یا نرمافزارها، پروکسی را روی:
تنظیم میکنید.
تنظیم Port Forwarding در فایل SSH Config
برای سادهتر شدن اتصالهای تکراری:
مثال:
اتصال فقط با:
فوروارد همزمان چند پورت
کاربردهای واقعی
-
مدیریت امن دیتابیسها
-
دیباگ وباپلیکیشنهای ریموت
-
وبگردی امن با تونل SSH
-
دسترسی امن به سرویسهای داخلی شرکت
مشکلات رایج و عیبیابی
1. اشتباه گرفتن جهت تونل
-L از لوکال به ریموت-R از ریموت به لوکال
2. تداخل پورت
بررسی:
3. خطای Permission Denied
در سرور:
نکات امنیتی مهم
-
فقط پورتهای ضروری را فوروارد کنید
-
از SSH Key به جای پسورد استفاده کنید
-
اتصالهای فعال را مانیتور کنید
-
لاگهای SSH را بررسی کنید
-
نرمافزار SSH را بهروز نگه دارید
تفاوت Local و Remote در یک نگاه
| نوع | جهت ترافیک | کاربرد اصلی |
|---|---|---|
| Local (-L) | لوکال → ریموت | دسترسی به سرویسهای ریموت |
| Remote (-R) | ریموت → لوکال | نمایش سرویسهای لوکال |
| Dynamic (-D) | پروکسی عمومی | وبگردی امن و عبور از فیلتر |
جمعبندی
SSH Port Forwarding یکی از قدرتمندترین قابلیتهای SSH است که امکان ایجاد ارتباطات امن، انعطافپذیر و کنترلشده را فراهم میکند. با تسلط بر سه حالت Local، Remote و Dynamic میتوانید:
-
دادههای حساس را امن منتقل کنید
-
محدودیتهای شبکه را دور بزنید
-
توسعه و مدیریت سرور را سادهتر انجام دهید
این تکنیک بخش مهمی از ابزارهای حرفهای مدیریت سرور و امنیت شبکه محسوب میشود.

