پیشتر در مقالههای «راهاندازی SOCKS proxy روی لینوکس با دسترسی SSH برای عبور از فیلترینگ » و «تنظیم ssh tunnel روی Putty برای اتصال به اینترنت» خواندیم که چگونه میتونیم روی سیستمعاملهای لینوکس، مک و ویندوز بین کامپیوتر خودمان و سرور دیگری تونل SSH برقرار کنیم تا علاوه بر انتقال امن اطلاعات از سانسور اینترنت نیز عبور کنیم.
در این مقاله خیلی ساده نشان میدهیم که چگونه میتوانیم تونل SSh بین چندین سرور، بین کامپیوتر خودمان و دو سرور دیگر، را برقرار کنیم.
راهاندازی تونل SSH بین چندین سرور
فرض کنید غیر از کامپیوتر خودمان، ۲ سرور دیگر هم داریم. میخواهیم از کامپیوتر خودمان به سرور دوم تونل SSH برقرار کنیم، اما امکانش به دلایل مختلفی وجود ندارد. از یک سرور کمکی استفاده میکنیم که میتواند هم به کامیپوتر ما و هم سرور ۲ تونل SSH برقرار کند. بنابراین شرایط زیر را داریم:
- سرور ۱ به سرور ۲ میتواند تونل SSH بزند.
- کامپیوتر ما به سرور ۱ میتواند تونل ssh بزند، اما به سرور ۲ نمیتواند.
- میخواهیم از کامپیوتر خودمان به سرور ۲ تونل SSH برقرار کنیم.
با فرض اینکه به هر دو سرور دسترسی SSH داریم راه حل بدین ترتیب خواهد بود:
- سرور ۱ به سرور ۲ روی پورت X تونل SSH میزند،
- کامپیوتر ما به سرور ۱ روی همان درگاه X تونل SSH میزند،
- در نهایت تونل SSH بین دستگاه ما و سرور ۲ برقرار میشود
از دو طریق که کاملا مشابه هم هستند میتوانیم این ارتباط را برقرار کنیم.
- سرور اول : Server-one
- سرور دوم: Server-two
- کامپیوتر خودمان: localhost
راه اول:
ترمینال را روی دستگاهتان باز کنید و از طریق ssh وارد Server-one میشویم -کاربران ویندوز 10 هم میتوانند برنامه کامند پرامپت را استفاده کنند – سپس دستور زیر را اجرا میکنیم:
ssh -Dlocalhost:9999 root@IPServer_two
لازم به یادآوری است که به جای IPServer_two باید IP سرور دوم را بنویسید. از شما رمزعبور سرور دوم را میخواهد، وارد کنید – اگر احراز هویت سرور با رمزعبور باشد، از شما رمزعبور میخواهد. شما میتوانید تنظیم کنید که با کلید احراز هویت انجام شود.
سپس یک تب جدید روی ترمینال باز کنید. از طریق دستور زیر یک تونل ssh بین دستگاه خودمان و Server-one برقرار میکنیم:
ssh -L9999:localhost:9999 root@IPServer_one
لازم به یادآوری است که به جای IPServer_one باید IP سرور اول را بنویسید.
اگر میخواهید دستورات در پشت زمینه اجرا شوند از آرگومان f- استفاده کنید تا براحتی بتوانید برنامه ترمینال را ببندید.
راه دوم :
دو دستور بالا را میتوانیم در قالب یک دستور وارد کنیم:
ssh -qCL9999:localhost:9999 root@IPServer_one -t ssh -qCNDlocalhost:9999 root@IPServer_two
این دستور از شما دوبار درخواست رمزعبور خواهد کرد (اگر احراز هویتتان با پسورد باشد)، به ترتیب اول رمزعبور سرور اول و سپس پسورد سرور دوم را وارد کنید.
تنظیم مرورگر
چه راه اول و چه راه دوم، هنگامی که اتصالها برقرار شد نوبت به تنظیم مرورگر میرسد. مرورگر فایرفاکس دستگاهتان را باز کنید تا تنظیمات پراکسی را روی آن انجام دهیم:
- از منوی مرورگر روی گزینه Preferences یا Options کلیک کنید.
- سپس به تب Advanced بروید.
- سپس تب Network را انتخاب و از بخش Connection روی Settings کلیک کنید.
از پنجره باز شده روی گزینه Manual proxy configuration کلیک کنید.
در قسمت SOCKS Host آدرس IP داخلیتان (۱۲۷.۰.۰.۱) را بنویسید و در سمت راست در قسمت درگاهها، درگاهی که هنگام تنظیم ssh تونل وارد کرده بودید (در مثال ما ۹۹۹۹) را وارد کنید.
دقت کنید در تصویر بالا شماره 3، به جای 8123 باید 9999 را وارد کنید.
مطمئن شوید که گزینه Enable DNS over HTTPS را تیک و سپس روی OK کلیک کنید.
اکنون روی این مرورگرتان تب جدید باز کنید، وارد وبسایت whatismyipaddress.com شوید. اگر همه چیز درست باشد در این وبسایت باید IP شما همان IP سرور دوم (server-two) باشد.
[…] یکی از راههای عبور از سانسور اینترنت برقراری تونل SSH ب… […]
[…] یکی از راههای عبور از سانسور اینترنت برقراری تونل SSH ب… […]
[…] […]
[…] […]
[…] […]
[…] یکی از راههای عبور از سانسور اینترنت برقراری تونل SSH ب… […]
کاش بشه ویدئو آموزشیشیو بزارین
واسه موبایل هم میشه؟
ممنون. برای اندروید باید چه مراحلی طی بشه؟