انجمن‌های فارسی اوبونتو

لطفاً به انجمن‌ها وارد شده و یا جهت ورود ثبت‌نام نمائید

لطفاً جهت ورود نام کاربری و رمز عبورتان را وارد نمائید

نویسنده موضوع: راهنمای ایجاد تونل بین دو سیستم راه دور  (دفعات بازدید: 15412 بار)

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

آفلاین علیرضا طالقانی

  • High Hero Member
  • *
  • ارسال: 2373
  • جنسیت : پسر
  • القدس لنا، والنصر لنا!
    • Take it easy
راهنمای ایجاد تونل بین دو سیستم راه دور
« : 09 اردیبهشت 1387، 12:28 ق‌ظ »
هدف از این کار این هستش که مثلا دوتا سیستم ای رو که از هم دور هستند و در یک شبکه هم قرار ندارند رو ب طور مجازی و در یک شبکه مجازی قرار داد. :)
قدم اول)  نصب بسته ی openvpn
$sudo apt-get install openvpnاین بسته برای هر دو طرف معادل هست و فرقی برای کلاینت و یا سرور نمی کنه.
قدم دوم)‌تنظیم سرور
نکته:: بحث کلاینت و سرور تا قبل از ایجاد ارتباط هستش وبعد از برقراری ی ارتباط بین هیچ کدام از طرفین اخلافی نیستش.
نکته:: از مزایایی تونل مجازی کد کردن داده هاست و این کار توسط ی کد خیلی بزرگ انجام میشه! لذا کشف رمز دیتای ارتباطی نسبتا ناممکن بنظر میرسه. :) چه خوب!
و البته برای دوستانی که ممکنه علت رو ندانند این رو اضافه میکنم: مثل این می ماند که شما می خواهی با دوستت ی روش رمزنگاری داشته باشی!
اولین کار اتون اینه ک ی پایه ی رمز بگذارید!‌مثلا کد اسکی ی هر حرفی رو بگیرید!  پنج واحد بهش اضافه کنید و مجدد به حروف الفبایی برش گردونید! خب حالا همه ی چند تا حرف می بینند که هیچ معنای خاصی نداره و فقط دوست شما با دانستن پایه ی رمز ! یعنی کم کردم پنج واحد از مقدار کد اسکی ی هر حرفی می تونه اطلاعات شما رو کشف رمز کنه و متوجه منظور اصلی ی شما بشه!  :)‌ خب حالا اگه شما داده ی خودتون رو در چند عدد ضرب! ی دو سه باز تقسیم!  ی منهایی! و بعد هم ب توان رسانده باشیم! اون هم با اعداد نجومی!!!!   ;)  خب حق اتون هستش که دارای دادی ای کاملا حفاظت شده باشید.

کار ما هم دقیقا همین هستش! اول ی پایه ی رمز میگذاریم! یا همون کلید رمز گشایی!  و در اختیار دو طرف داستان هم قرار اش می دیدم!  :)‌ حالا این دوتا می تونند زبان هم رو بفهمند.
اوکی! از حاشیه بکاهیم و بر مایه بیفزاییم:)

ی نکته ی خاص داشتم با این روش! حتما از همین ابتدا به دستور $su به حالت root بروید! و از sudo استفاده نکنید! فایده نداره!
اول لازم هستش که ی کد پایه رو توسط سرور ایجاد کنیم::
#openvpn --genkey --secret mykey.keyاگه از شاخه ی جاری ی لیست بگیرید می بینید ی فایل متنی ب اسم mykey.key ایجاد شده که همان رمز کشای ما هستش! حتما یادمون باید باشه که همین فایل رو به سمت کلاینت کپی کنیم! از خودمون یکی دیگه بسازیم فایده نداره!‌ چون اینا ها رو صورت شانسی تولید شده اند.
حالا باید ی فایل هم برای پیکر بندی ی سرور امون داشته باشیم که من اسم اش رو OpenVpnServer.conf می گذارم و محتوای داخل اش هم به این صورت خواهد بودش!
dev tun
ifconfig 10.0.0.1 10.0.0.2
secret mykey.key
توضیحات::  اول که می گه ی وسیله ی تونل بساز ! البته ب سیستم عامل میگه! ;)  و بعد اش هم روی آن تونل شماره ی IP ی ۱۰.۰.۰.۱ رو قرار میده و منتظر وای میشه یا ی کلاینت بهش وصل بشه و اون رو هم با شماره ی IP ی ۱۰.۰.۰.۲ شناسایی خواهد نمود. و البته بعد معین می کنه که برای رمز نگاری از چ کد رمز نگاری/گشایی استفاده کنه!
حالا موژول تونل رو هم لود می کنیم
#modprobe tunو در قسمت بعدی فقط باید ب صورت ی پروسه ی در پشت صحنه اجرا کنیم اش
#openvpn OpenVpnServer.conf & اوکی!
از قدم و مرحله فکر کنم دور شدیم! :D ولی کارمون روی سمت سرور تمام شده! و باید ب سمت کلاینت بریم و ابتدا باید یامون باشه که حتما به حالت root تغییر وضعیت بدیم.
بعد هم ی فایل متنی با اسم mykey.key ایجاد می کنیم و دقیقا همان کد ای رو که در سمت سرور ایجاد شده در این کپی می کنیم!  خواهش میشه: ی موقع از اول تولید نکنید اش! :)  دقیقا محتوای همون فایل سرور رو اینجا هم می خواهیم! خط به خط!  حالا یا همون فایل رو کپی کنید در کلاینت و یا باز اش کنید و محتواش روعینا کپی کنید.

و البته ی فایل هم برای پیکر بندی ی کلاینت نیاز داریم که اسم اش رو می گذاریم  OpenVpnClient.conf و محتوای اون هم ب شرح ذیل خواهد بود::
remote ServerIPaddress
dev tun
ifconfig 10.0.0.2 10.0.0.1
secret mykey.key
:) توضیحات::
خط اول باید ب جای اون عبارت من! شماره ی آی پی ی معتبر از سیستم سرور راه دور اتون رو قرار بدید که روی اون پروسه س سرور رو اجرا کردیم!  البته اگه در ی شبکه باشید که اسمش هم کفایت می کنه و یا آی پی ی نا معتبر داخلی.
بعد هم ک ی ابزار تونل روباز می کنه و بهش می گه که با شماری ی IP ی ۱۰.۰.۰.۲ خودش رو به سیستمی با شماره ی IP ی ۱۰.۰.۰.۱ متصل کنه که البته بالاتر IP ی معتبر اش رو هم ب openvpn معرفی کردیم و در آخر هم کد رمز نگاری/گشایی رو بهش داده.

بازم تاکید! محتوای این کد در هر دو طرف بایستی یکسان باشه.

حالا ماژول رو در این سمت هم بارگذاری و پرپسه رو در پشت صفحه اجرا می کنیم::
#modprobe tun
#openvpn OpenVpnClient.conf &
:) خسته نباشید دیگه! خلاص شد.
برای تست اش هم ی راه خب هستش! پینگ هر دوتا شماری IP ی جدید که بهشون داده اید! یعنی   
#ping 10.0.0.1
#ping 10.0.0.2
بایستی هر دوتا دارای پاسخ باشند ! از هر دو طرف :)

ی راه جالب تر هم هستش! با برنامه ی netcat روی سرور گوش با ایستید و ببنید که می توانید از کلاینت باهاش صحبت کنید یا نه!
این طوری
روی سرور این دستور رو بزنید:
#netcat -l -p 8000و در سمت کلاینت هم این رو
#netcat 10.0.0.1 8000
حالا هر چیزی که در سمت کلاینت بنویسید و اینتر کنید رو باید در ترمینال سرور اتون مشاهده کنید.

:)‌ امید وارم که براتون جالب و البته مفید بوده باشه.
« آخرین ویرایش: 01 خرداد 1387، 12:55 ب‌ظ توسط علیرضا طالقانی »
.ShayneIsTheOneWhoIsAlwaysAlone
terminal@world-server:~$ sudo aptitude remove --purge Israel

آفلاین iqson716

  • High Sr. Member
  • *
  • ارسال: 641
  • جنسیت : پسر
    • اُرِم
پاسخ به: راهنمای ایجاد تونل بین دو سیستم راه
« پاسخ #1 : 09 اردیبهشت 1387، 01:04 ق‌ظ »
مرسی خیلی جالب و کاربردی بود :D

آفلاین علیرضا طالقانی

  • High Hero Member
  • *
  • ارسال: 2373
  • جنسیت : پسر
  • القدس لنا، والنصر لنا!
    • Take it easy
پاسخ به: راهنمای ایجاد تونل بین دو سیستم راه دور
« پاسخ #2 : 09 اردیبهشت 1387، 01:33 ق‌ظ »
:)  خواهش میشه.
.ShayneIsTheOneWhoIsAlwaysAlone
terminal@world-server:~$ sudo aptitude remove --purge Israel

آفلاین dalton1

  • Jr. Member
  • *
  • ارسال: 42
پاسخ به: راهنمای ایجاد تونل بین دو سیستم راه دور
« پاسخ #3 : 03 امرداد 1387، 11:54 ق‌ظ »
با سلام
ممکنه قدم به قدم بگی ما که مبتدی هستیم بفهمیم

آفلاین علیرضا طالقانی

  • High Hero Member
  • *
  • ارسال: 2373
  • جنسیت : پسر
  • القدس لنا، والنصر لنا!
    • Take it easy
پاسخ به: راهنمای ایجاد تونل بین دو سیستم راه دور
« پاسخ #4 : 03 امرداد 1387، 04:59 ب‌ظ »
با سلام
ممکنه قدم به قدم بگی ما که مبتدی هستیم بفهمیم
  :oops:
.ShayneIsTheOneWhoIsAlwaysAlone
terminal@world-server:~$ sudo aptitude remove --purge Israel

آفلاین Behnam Golds

  • High Hero Member
  • *
  • ارسال: 1368
  • جنسیت : پسر
پاسخ به: راهنمای ایجاد تونل بین دو سیستم راه دور
« پاسخ #5 : 03 امرداد 1387، 07:00 ب‌ظ »
خیلی  جالب  بود   ،  همین الان  local    کلاینت  و  سرور  رو   راه اندازی  کردم  ، ارتباط  با   موفقیت برقرار شد   و  بسی  لذت  بردم ...ولی  کاش  یه  سیستم  دیگه هم  داشتم   :'(     بابت  اسباب بازی  جدید  ممنونم  کلی سرگرم  شدم ...

حالا  چند تا  سوال  : 

چطوری   ارتباط  رو  به  صورت  مطمئن   قطع  کنیم   که   سوکت ها  آزاد  بشن ؟
هربار  که   از  openvpn  با  تنظیمات  بالا  استفاده  می کنیم  یه  interface  جدید  به  صورت  *tun اضافه میشه ،  فکر کنم  باید  تنظیماتی  داخل  فایلهای  conf   قرار  داده  بشه   یه  چیزی  مثل دستور  if ...
چطوری میشه  این  interface  های  جدید  رو  حذف  کرد  ؟   ifdown  جواب  نداد !
sudo ifdown tun0
ifdown: interface tun0 not configured


چطور  میشه  این  ماژول  رو   حذف  کرد ؟   

sudo rmmod tun
ERROR: Module tun is in use


فکر  کنم   چند  تا  سوال دیگه هم  داشته باشم
« آخرین ویرایش: 03 امرداد 1387، 07:05 ب‌ظ توسط Behnam Golds »

آفلاین علیرضا طالقانی

  • High Hero Member
  • *
  • ارسال: 2373
  • جنسیت : پسر
  • القدس لنا، والنصر لنا!
    • Take it easy
پاسخ به: راهنمای ایجاد تونل بین دو سیستم راه دور
« پاسخ #6 : 03 امرداد 1387، 07:45 ب‌ظ »
آره بهنام جان!  راستش خیلی خوب نیست این روش ای ک قبلا نوشته بودم.

الان از pptpd استفاده می کنم ! البته هنوز روش اتصال کلاینت لینوکسی رو بهم راه اندازی نکردم و فقط برای کلاینت های ویندوزی تست کردم اش!
خیلی ساده تره! البته این قابلیت های Encryption رو نداره! (یا هنوز من گیر نیاوردم) اما بی درد سر هستش!
اگه نتونستی راش بی اندازی!‌بگو تا ی روهنمای سریع براش بنویسم. ;)
.ShayneIsTheOneWhoIsAlwaysAlone
terminal@world-server:~$ sudo aptitude remove --purge Israel

آفلاین Behnam Golds

  • High Hero Member
  • *
  • ارسال: 1368
  • جنسیت : پسر
پاسخ به: راهنمای ایجاد تونل بین دو سیستم راه دور
« پاسخ #7 : 03 امرداد 1387، 08:10 ب‌ظ »
دستت   درد نکنه   اگر  کلاینت  رو  هم   راه  اندازی  کردی   یه  چند  خطی   در  مورد  کارکرد   کلی  برنامه  بنویسی  ازت  ممنون   میشم...

آفلاین علیرضا طالقانی

  • High Hero Member
  • *
  • ارسال: 2373
  • جنسیت : پسر
  • القدس لنا، والنصر لنا!
    • Take it easy
پاسخ به: راهنمای ایجاد تونل بین دو سیستم راه دور
« پاسخ #8 : 03 امرداد 1387، 08:15 ب‌ظ »
دستت   درد نکنه   اگر  کلاینت  رو  هم   راه  اندازی  کردی   یه  چند  خطی   در  مورد  کارکرد   کلی  برنامه  بنویسی  ازت  ممنون   میشم...
چشم! فقط اگه تا ی هفته دیگه خبری نشد! یادم بنداز  ;)
.ShayneIsTheOneWhoIsAlwaysAlone
terminal@world-server:~$ sudo aptitude remove --purge Israel

آفلاین Behnam Golds

  • High Hero Member
  • *
  • ارسال: 1368
  • جنسیت : پسر
پاسخ به: راهنمای ایجاد تونل بین دو سیستم راه دور
« پاسخ #9 : 03 امرداد 1387، 08:16 ب‌ظ »
حتما   ;D

آفلاین ناربه

  • ناظر انجمن
  • *
  • ارسال: 2033
  • جنسیت : پسر
پاسخ به: راهنمای ایجاد تونل بین دو سیستم راه دور
« پاسخ #10 : 03 امرداد 1387، 08:30 ب‌ظ »
آقا علیرضا جان خیییلی ممنونم. اگه میشه ویکی کن که دمه دست باشه  \\:D/

آفلاین علیرضا طالقانی

  • High Hero Member
  • *
  • ارسال: 2373
  • جنسیت : پسر
  • القدس لنا، والنصر لنا!
    • Take it easy
پاسخ به: راهنمای ایجاد تونل بین دو سیستم راه دور
« پاسخ #11 : 03 امرداد 1387، 08:57 ب‌ظ »
آقا علیرضا جان خیییلی ممنونم. اگه میشه ویکی کن که دمه دست باشه  \\:D/
فردا که کنکور ات رو  دادی! ویکی ی اینم می نویسی! ب اضافه ی اون قبلی ی که قرار شد بنویسی! :P  OpenDNS
.ShayneIsTheOneWhoIsAlwaysAlone
terminal@world-server:~$ sudo aptitude remove --purge Israel

آفلاین علیرضا طالقانی

  • High Hero Member
  • *
  • ارسال: 2373
  • جنسیت : پسر
  • القدس لنا، والنصر لنا!
    • Take it easy
فعلا این رو داشته باشید تا انشاالله سر فرصت ویکی بشه!
***نکته::  آخه یکی بگه ویکی که بلد باشه  ](*,)
تست شده و اوکی هستش!
کلاینت و سرور با pptpd و pptp-linux
کانفیک متنی
pptp/pptpd
On server Side::
$ sudo apt-get install pptpd
$ sudo nano /etc/pptpd.conf
Locate and uncomment to followed line
any Definetion for the VirtualNetworkArea in DoneHere
localip 192.168.0.1
remoteip 192.168.0.234-238,192.168.0.245
Close the file and restatrt the deamon
$ sudo /etc/init.d/pptpd restart
add the username and password for remove users
$ sudo su
# echo "<username> pptpd <password> *" >> /etc/ppp/chap-secrets

to Enable Routing Between Networked Remote Clients do 2 Step
1:
$ sudo nano /etc/sysctl.conf
#net.ipv4.ip_forward=1  ==> net.ipv4.ip_forward=1
2:
$ sudo nano /proc/sys/net/ipv4/ip_forward
0 ==> 1


On Client Side::
Windows Clients
Just use a network Wizard to make the Connection
u need the Valid IP address of the server, username and the proper password of that user.
Linux Clients
$ sudo su
# echo "<username> PPTP <password> *" >> /etc/ppp/chap-secrets
Open the file
$ sudo nano /etc/ppp/peers/localvpn
Add to file
pty "pptp 192.168.1.4 --nolaunchpppd"
name <username>
remotename PPTP
require-mppe-128
file /etc/ppp/options.pptp
ipparam localvpn
Connect
$ sudo pon localvpn
.ShayneIsTheOneWhoIsAlwaysAlone
terminal@world-server:~$ sudo aptitude remove --purge Israel

آفلاین کسری کشاورز

  • High Sr. Member
  • *
  • ارسال: 608
  • جنسیت : پسر
  • Don't Look Back With Linux
+1

آفلاین Farshid

  • High Sr. Member
  • *
  • ارسال: 613
  • جنسیت : پسر

اسم خارجکیش رو بگو من شروع می‌کنم ویکیش کنم ;)

"راهنمای ایجاد تونل بین دو سیستم راه دور" ی جمله دراز می‌شه آخه  :D

منتظرم...
معنای واقعی اوبونتو این است که "آدمی به کمک انسانهای دیگر به گوهر آدمیت میرسد"