یکی از چالشهایی که ممکن هست باهاش برخورد بکنید مشکل نداشتن اینترنت سرور های ریموتی هست که فقط میتوانید از بیرون به اونها وصل بشید (مثلا سروری که پشت فایروال قرار گرفته و تنها یک پورت برای دسترسی ssh روی اونها باز شده) ،برای من بارها اتفاق افتاده که احتیاج داشتم این سرور ها رو آپدیت کنم و یا یک پکیج روشون نصب کنم ولی اینترنتی وجود نداره ، برای حل این مشکل روالی رو توضیح میدم ، امیدوارم بدردتون بخوره.
۱- سیستمی که قرار است توسط اون به سرور ریموت وصل بشید باید سرویس ssh رو روی اون فعال کرده باشید میخواهیم به سروری با آی پی ۱.۱.۱.۱ که پشت nat هست اینترنت بدهیم.
۲- پورت فوروارد از سرور ریموت به سیستم کلاینت
با استفاده از دستور ssh باید به سرور متصل بشید ولی از سوییچ R باید استفاده کنید ، با استفاده از این تنظیم ، پورتی را روی سرور مشخص میکنید که باز شده و برای تانل بین سیستم شما (سیستمی که اینترنت دارد) و سیستم ریموت (سیستمی که اینترنت ندارد) استفاده میشود
ssh serveruser@1.1.1.1 -R 45712:127.0.0.1:22
serveruser: کاربر سیستم ریموت 1.1.1.1: آیپی سرور ریموت 45712: پورتی که روی سرور ریموت بعد از اتصال باز خواهد شد 22: پورتی که روی سیستم مبدا یعنی سیستمی که اینترنت دارد سرویس اس اس اچ را ارایه میدهد
بعد از زدن ssh به سیستم ریموت و وصل شدن به اون با دستور زیر میتونید پورت های باز سیستم رو ببینید که اگر مراحل درست بوده باشه پورت 45712 روی سرور باز هست.
# netstat -nltp
۳- باز کردن SOCKS Proxy بر روی سرور
الان ما روی سرور ریموت هستیم و باید با استفاده از تانلی که ایجاد شده به سیستم مبدا(سیستمی که اینترنت داره) دوباره ssh بزنیم ولی این ssh از روی تانلی هست که روی پورت ۴۵۷۱۲ ایجاد شده به همین خاطر به این روال SSH over SSH 'گفته میشه
ssh -o UserKnownHostsFile=/dev/null -o StrictHostKeyChecking=no -D 2001 localuser@127.0.0.1 -p 45712
بعد از این کار پورت دیگری روی سرور ریموت باز خواهد شد که برای Socksاز اون استفاده خواهیم کرد (۲۰۰۱) ، ضمن اینکه شما دوباره به محل قبلی خودتون یعنی سیستم مبدا برگشتید (:
۴- ترمینال جدید دیگه ای باز کنید ( بدون اینکه ترمینال قبل رو ببیندید البته) , و به سرور ریموت وصل بشید میتونید با دستور netstat پورتهای باز سیستمتون رو چک کنید همون طور که میبینید پورت ۲۰۰۱ هم باز هستش این پورت ، پورت اینترنت شما است برای برنامه هایی مثل apt میتونید در فایل /etc/apt/apt.conf.d/12proxy تنظیم زیر رو قرار بدید و به راحتی از پکیج هایی که میخواهید رو نصب و بروز کنید
Acquire::socks::proxy "socks5://server:port"
۵- برنامه Tsock
اگر برنامه های دیگه ای دارید که اونها قابلیت proxy کردن ندارند میتونید از پکیج Tsock استفاده کنید این برنامه رو میتونید با دستور apt دانلود کنید یا مستقیم پکیجش رو از آدرس اینجا بگیرید و با scp به سرور منتقل کرده و توسط اون ترافیکتون رو از داخل پراکسی منتقل کنید
ارادتمند
علیرضا جاوید تجریشی