لطفا وارد شوید یا ثبت‌نام کنید تا به انجمن‌ها دسترسی کامل داشته باشید.



 
امتياز موضوع :
  • 0 رأي - معدل امتيازات : 0
  • 1
  • 2
  • 3
  • 4
  • 5
تونل زدن Firewall با استفاده از ssh
2005-07-20, 05:16 PM,
ارسال : #1
تونل زدن Firewall با استفاده از ssh
فرض کنیم که سیستم شما در خانه از طریق مودم به اینترنت وصل است و یا در شرکت از طریق شبکه داخلی به اینترنت اتصال داره که در بعد از یک سیستم دیوار آتش قرار داره. شما دسترسی به این دیوار آتش ندارید و Gateway اصلی هم در اختیار شما نیست. حالا شما با سیستم لینوکس خودتون دچار مشکلاتی هستید و هر چفدر ازدوستان در سایت technotux سوال کردید همه گفتند که باید سیستم شما را از نزدیک ببیند تا بتونند کار را مستقیما خودشون انجام بدن.
در اینجا یک راهی وجود دارد که شما می تونید برای دوستتون یک تونل ssh باز کنید تا اینکه اون بتونه بر روی سیستم شما login کنه و مشکلات شما را حل کنه.
-فرض کنیم که سیستم شما اسمش هست thinkpad و شما مثلا در مورد تنظیمات apache مشکل داری. ولی ssh شما کار میکنه.
- لازم است سیستم دوست شما دارای یک ssh server فعال باشه که شما بتونید بر روی اون login کنید و لازمه که دوست شما مثلا از dyndns برای حل کردن اسم سیستمش استفاده کنه و یا اینکه دارای اسم و IP ثابتی باشه. اگر دوست شما از IP های دینامیک استفاده میکنه میشه با استفاده از سرویس سایت های مثل dyndns.org که سرویس مجانی حل کردی نامها را دارند استفاده کنه .
بعد از داشتن این موارد لازم کار تونل زدن را شروع می کنیم
۱. دوست شما برای شما یک نام کاربری معمولی درست میکنه و اسم رمز اون را با تلفن به شما میگه مثلا
[ltr]
کد :
# User name and password on irani.linuxhome.org
username: kiat
password: xxxxxx
[/ltr]
اسم سیستم دوست شما هم هست irani.linuxhome.org
۲. حالا شما برای سیستم دوستتون یک درگاه بخصوص را آزاد میکنید تا اینکه دوست شما بتونه به thinkpad شما وصل بشه به اینصورت
[ltr]
کد :
ssh [email protected] -R 2003:thinkpad:22
[/ltr]
و بعدش یک اتصال ssh باز میشه که شما نباید آن را ببندید تا اینکه دوست شما بتونه از اون استفاده کرد.
۳. اکنون دوست شما میتونه بر روی irani.linuxhome.org این دستور را اجرا کنه و به سیستم شما وصل بشه ولی حالا اون نیاز داره که یک نام کار بری و اسم رمزش را بر روی سیستم شما بدونه که شما با تلفن بهش میگید. مثلا شما براش نام کاربری مهرداد را ساختید
[ltr]
کد :
ssh mehrdad@localhost -p 2003
[/ltr]
خوب از حالا به بعد اون رو سیستم شماست. اگر خواستید که دسترسی root هم داشته باشه بهش با تلفن اسم رمز را میدید. و اگر هم خواستید که اتصالشو قطع کنید کافی است که اون اتصال باز شده که در مورد ۲ باز کردید قطع کنید و یا process مربوط را از بین ببرید.
توضیحات اضافی:
- این کار در همه جا اصلا توصیه نمیشه و اگر از این تونل استفاده میکنید باید مواظب باشد و بخوصص اگر در شرکت ها یک تونل می زنید حتما از مدیریت شبکه اجازه بگیرید چرا که ممکن است بقیمت از دست دادن کارتون تمام بشه.
- در مورد ۲ اگر نخواستید که این دستور باز بمونه میشه که از f- استفاده کنید تا دستور بصورت background اجرا بشه و N- میگه که در طرف سرور دستوری نمیخواد که اجرا بشه برای اطلاعات کامل تر manpage را مطالعه کنید
- اگر در شبکه شما در گاه مربوطه بسته است میشه که مثلا از ۸۰ استفاده کرد.
این روش را توضیح دادم تا اینکه بتونیم به همدیگر از راه دور در حل مشکلات کمک کنیم. البته اگر تونستید با مودم امتحانش کنید ولی فکر کنم که خیلی آهسته کار کنه و باید در دادن دستورات خیلی دقت کرد.
[ltr]

Image from <!-- m --><a class="postlink" href="http://www.linux-magazin.de/Artikel/ausgabe/2002/07/ssh2">http://www.linux-magazin.de/Artikel/aus ... 02/07/ssh2</a><!-- m -->
[عکس : abb6_s.jpg]
[/ltr]
جستجوی تمامی ارسال های کاربر
نقل قول این ارسال در یک پاسخ
2005-07-20, 08:01 PM,
ارسال : #2
 
سلام
جدا ممنون kiat جان. من که جدا لذت بردم از این دوتا مطلب آخری که گذاشتی روی سایت و از اون مهمتر بیشتر از قبل دستگیرم شد چقدر بیسوادم. رفتم که امتحان کنم ببینم چی میشه.

[ltr] Home: Arch Linux, AMD X2 4600, 2 GB, 250 GB, [/ltr]
مشاهده تارنمای کاربر جستجوی تمامی ارسال های کاربر
نقل قول این ارسال در یک پاسخ
2005-07-21, 01:57 AM,
ارسال : #3
 
چقدر جالب ممنون
جستجوی تمامی ارسال های کاربر
نقل قول این ارسال در یک پاسخ
2005-07-21, 08:10 AM,
ارسال : #4
 
خیلی عالی بود! :-)
این رو هم ببینید بد نیست:
<!-- m --><a class="postlink" href="http://www.ssh.com/support/documentation/online/ssh/winhelp/32/Tunneling_Explained.html">http://www.ssh.com/support/documentatio ... ained.html</a><!-- m -->

[ltr]Life *free = new Life(const long OpenSource);[/ltr]
مشاهده تارنمای کاربر جستجوی تمامی ارسال های کاربر
نقل قول این ارسال در یک پاسخ
2005-07-21, 10:22 AM,
ارسال : #5
 
با سلام ...

میشه یه کم توضیح بیشتر بدید مطلب بسیار جالب و به درد به خوردی است (( خواهشمندم که این موضع را برای تازه کاران واضح بیان کنید ))
نقل قول این ارسال در یک پاسخ
2005-07-21, 04:23 PM,
ارسال : #6
 
سلام دوست عزیز
کاری که در اینجا انجام میشه اسمش هست Remote Port Forwarding در واقع شما یک پورت سیستم خودتون را بر روی پورت اون سیستم دیگه می چسبانید و آزاد می کنید. تا اینکه طرف دیگه بتونه ازش استفاده کنه. در داخل manpage مربوط به ssh این توضیحات داده شده.
[ltr]
کد :
-R far-port:local-address:local-port
[/ltr]
[ltr]
From "man ssh":

-R port:host:hostport specifies that the given port on the remote (server) host is to be forwarded to the given host and port on the local side. This works by allocating a socket to listen to port on the remote side, and whenever a connection is made to this port, the connection is forwarded over the secure channel, and a connection is made to host port hostport from the local machine. Port forwarding can also be specified in the configuration file.
[/ltr]

با این تونل ssh و عمل فرستادن پورت ها خیلی کار های دیگه هم میشه کرد مثلا این سناریو را در نظر بگیرید

شما بر روی سیستم خودتون در یک شبکه داخلی Intranet یک homepagae دارید و apache در حال کار است و شما بر روی سیستم خودنون یعنی localhost می تونید این صفحه ای homepage را ببیند. حالا یکی از همکاران پروژه شما در یکی جای دیگه هست و مثلا میخواد که این صفحه Homepage که شما طراحی کردید را مشاهده کنه همکار شما بر روی سیستم خودش یک ssh server فعال داره که شما می تونید روی اون login کنید. حالا میشه یک تونل ssh باز کرد و صفحه homepage شما که بر روی پورت ۸۰ در حال اجراست را براش فرستاد تا اون بتونه از طریق این تونل باز شده صفحه اینترنت شما را بگیره و تماشا کنه .
به این صورت
[ltr]
کد :
Remote host: friend.example.com
Remote port: 8080
Web server in your Intranet: 192.168.0.2 port 80.

you@yourlinuxbox: ssh [email protected] -R 8080:192.168.0.2:80
[/ltr]

بعد اون میتونه که روی پورت ۸۰۸۰ خودش صفحه اینترنت شما را ببینه
جستجوی تمامی ارسال های کاربر
نقل قول این ارسال در یک پاسخ
2007-01-02, 03:25 AM,
ارسال : #7
 
سلام
چطور میشه با ssh درخواستهایمان را از تونل ssh کنیم مثلا من یک اکانت مجانی روی sdf.lonestar.org دارم که اینطور به ان وصل میشوم
ssh <!-- e --><a href="mailto:[email protected]">[email protected]</a><!-- e -->
چطور درخواستهای اینترنتم مربوط به برنامه firefox را از طریق این تونل ایجاد شده بین کامپیوتر من و sdf.lonestar.org بفرستم؟
برای دوستانی که یک اکانت مجانی میخواهند دستور زیر را اجرا کنند.و مرحله به مرحله بروید جلو.
telnet sdf.lonestar.org
نقل قول این ارسال در یک پاسخ
2007-01-02, 03:29 AM,
ارسال : #8
 
سلام
چطور میشه درخواستهایمان را از تونل ssh رد کنیم مثلا من یک اکانت مجانی روی sdf.lonestar.org دارم که اینطور به ان وصل میشوم
[ltr]
ssh <!-- e --><a href="mailto:[email protected]">[email protected]</a><!-- e -->
[/ltr]

چطور درخواستهای اینترنتم مربوط به برنامه firefox را از طریق این تونل ایجاد شده بین کامپیوتر من و sdf.lonestar.org به سایتهای دیگر مثلا technotux بفرستم؟
دوستانی که یک اکانت مجانی میخواهند دستور زیر را اجرا کنند.و مرحله به مرحله جلو بروید.
[ltr]
telnet sdf.lonestar.org
[/ltr]
نقل قول این ارسال در یک پاسخ
2007-01-02, 03:31 AM,
ارسال : #9
 
یکی پست اولی را که من دادم پاک کنه.
نقل قول این ارسال در یک پاسخ
2007-01-02, 02:08 PM,
ارسال : #10
 
سوالی که من پرسیدم ۲ چند کاربرد داره
۱-امنیت بیشتر انتقال اطلاعات
۲-دور زدن موانع دسترسی به سایتها
۳-فرض کنید که روی یک شبکه داخلی lan هستید و شخص شما دسترسی به اینترنت ندارد ولی دوست شما دسترسی به اینترنت دارد و حال میخواهید با ssh به کامپیوتر دوستتان وصل شوید و از اینترنت استفاده کنید چه کار باید کرد؟بقیه راهای دسترسی به اینترنت را نمیخواهیم استفاده کنیم فقط میخواهیم از ssh استفاده کنیم.
نقل قول این ارسال در یک پاسخ
2007-01-02, 02:26 PM,
ارسال : #11
 
عالی است کاشکی می شد این howto کوچولو در سایت در یک جمع کرد تا همیشه به آن دسترسی داشته باشیم نه اینکه در انجمن ها دنبالش بگردیم.


در راه لینوکس موفق باشید
فریدی

LinuX and FreeBSD are LovE and LifE
we must chooose best love when we want best life
So FreeBSD is great
<!-- m --><a class="postlink" href="http://www.mfaridi.com">http://www.mfaridi.com</a><!-- m -->
مشاهده تارنمای کاربر جستجوی تمامی ارسال های کاربر
نقل قول این ارسال در یک پاسخ
2008-02-03, 06:51 PM,
ارسال : #12
 
خلاصه مطلب:

کد :
we assume that:
    there are 2 computers with these names: mf, ahmad
    ahmad has an INVALID ip and is behind a firewall and no one can access it! but he can access outside
    mf has a VALID ip, and anyone can access it (including ahmad)



mf must install sshd on his computer
mf must create a user for ahmad and give him the password (username: aa)

-----------------------------------------------------------------------------------------------
web server tunneling
-----------------------------------------------------------------------------------------------
1. ahmad must run this command:
    ssh aa@mf -R 8080:ahmad:80
2. mf must open a browser and type this url:
    http://localhost:8080



-----------------------------------------------------------------------------------------------
ssh server tunneling
-----------------------------------------------------------------------------------------------
1. ahmad must install sshd on his computer
2. ahmad must create a user for mf and give him the password (username: mf417)
2. ahmad must run this command:
    ssh aa@mf -R 12345:ahmad:22
3. mf must run this command:
    ssh mf417@localhost -p 12345


-----------------------------------------------------------------------------------------------
other ssh options
-----------------------------------------------------------------------------------------------
-N    do not open a ssh session of remote computer(mf in our example)
-f    to run in background

انا و جمیع من فوق التراب
فداء تراب نعل ابی تراب (ع)
مشاهده تارنمای کاربر جستجوی تمامی ارسال های کاربر
نقل قول این ارسال در یک پاسخ


رفتن به انجمن :


کاربران در حال مشاهده موضوع : 1 مهمان