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

کمک و پشتیبانی => شبکه و سرویس‌ دهنده‌ها => نویسنده: علیرضا طالقانی در 09 اردیبهشت 1387، 12:28 ق‌ظ

عنوان: راهنمای ایجاد تونل بین دو سیستم راه دور
ارسال شده توسط: علیرضا طالقانی در 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
حالا هر چیزی که در سمت کلاینت بنویسید و اینتر کنید رو باید در ترمینال سرور اتون مشاهده کنید.

:)‌ امید وارم که براتون جالب و البته مفید بوده باشه.
عنوان: پاسخ به: راهنمای ایجاد تونل بین دو سیستم راه
ارسال شده توسط: iqson716 در 09 اردیبهشت 1387، 01:04 ق‌ظ
مرسی خیلی جالب و کاربردی بود :D
عنوان: پاسخ به: راهنمای ایجاد تونل بین دو سیستم راه دور
ارسال شده توسط: علیرضا طالقانی در 09 اردیبهشت 1387، 01:33 ق‌ظ
:)  خواهش میشه.
عنوان: پاسخ به: راهنمای ایجاد تونل بین دو سیستم راه دور
ارسال شده توسط: dalton1 در 03 امرداد 1387، 11:54 ق‌ظ
با سلام
ممکنه قدم به قدم بگی ما که مبتدی هستیم بفهمیم
عنوان: پاسخ به: راهنمای ایجاد تونل بین دو سیستم راه دور
ارسال شده توسط: علیرضا طالقانی در 03 امرداد 1387، 04:59 ب‌ظ
با سلام
ممکنه قدم به قدم بگی ما که مبتدی هستیم بفهمیم
  :oops:
عنوان: پاسخ به: راهنمای ایجاد تونل بین دو سیستم راه دور
ارسال شده توسط: Behnam Golds در 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:45 ب‌ظ
آره بهنام جان!  راستش خیلی خوب نیست این روش ای ک قبلا نوشته بودم.

الان از pptpd استفاده می کنم ! البته هنوز روش اتصال کلاینت لینوکسی رو بهم راه اندازی نکردم و فقط برای کلاینت های ویندوزی تست کردم اش!
خیلی ساده تره! البته این قابلیت های Encryption رو نداره! (یا هنوز من گیر نیاوردم) اما بی درد سر هستش!
اگه نتونستی راش بی اندازی!‌بگو تا ی روهنمای سریع براش بنویسم. ;)
عنوان: پاسخ به: راهنمای ایجاد تونل بین دو سیستم راه دور
ارسال شده توسط: Behnam Golds در 03 امرداد 1387، 08:10 ب‌ظ
دستت   درد نکنه   اگر  کلاینت  رو  هم   راه  اندازی  کردی   یه  چند  خطی   در  مورد  کارکرد   کلی  برنامه  بنویسی  ازت  ممنون   میشم...
عنوان: پاسخ به: راهنمای ایجاد تونل بین دو سیستم راه دور
ارسال شده توسط: علیرضا طالقانی در 03 امرداد 1387، 08:15 ب‌ظ
دستت   درد نکنه   اگر  کلاینت  رو  هم   راه  اندازی  کردی   یه  چند  خطی   در  مورد  کارکرد   کلی  برنامه  بنویسی  ازت  ممنون   میشم...
چشم! فقط اگه تا ی هفته دیگه خبری نشد! یادم بنداز  ;)
عنوان: پاسخ به: راهنمای ایجاد تونل بین دو سیستم راه دور
ارسال شده توسط: Behnam Golds در 03 امرداد 1387، 08:16 ب‌ظ
حتما   ;D
عنوان: پاسخ به: راهنمای ایجاد تونل بین دو سیستم راه دور
ارسال شده توسط: ناربه در 03 امرداد 1387، 08:30 ب‌ظ
آقا علیرضا جان خیییلی ممنونم. اگه میشه ویکی کن که دمه دست باشه  \\:D/
عنوان: پاسخ به: راهنمای ایجاد تونل بین دو سیستم راه دور
ارسال شده توسط: علیرضا طالقانی در 03 امرداد 1387، 08:57 ب‌ظ
آقا علیرضا جان خیییلی ممنونم. اگه میشه ویکی کن که دمه دست باشه  \\:D/
فردا که کنکور ات رو  دادی! ویکی ی اینم می نویسی! ب اضافه ی اون قبلی ی که قرار شد بنویسی! :P  OpenDNS
عنوان: پاسخ به: راهنمای ایجاد تونل بین دو سیستم راه دور
ارسال شده توسط: علیرضا طالقانی در 13 آبان 1387، 10:18 ب‌ظ
فعلا این رو داشته باشید تا انشاالله سر فرصت ویکی بشه!
***نکته::  آخه یکی بگه ویکی که بلد باشه  ](*,)
تست شده و اوکی هستش!
کلاینت و سرور با 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
عنوان: پاسخ به: راهنمای ایجاد تونل بین دو سیستم راه دور
ارسال شده توسط: کسری کشاورز در 13 آبان 1387، 10:44 ب‌ظ
+1
عنوان: پاسخ به: راهنمای ایجاد تونل بین دو سیستم راه دور
ارسال شده توسط: Farshid در 14 آبان 1387، 12:23 ق‌ظ

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

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

منتظرم...
عنوان: پاسخ به: راهنمای ایجاد تونل بین دو سیستم راه دور
ارسال شده توسط: علیرضا طالقانی در 14 آبان 1387، 06:53 ق‌ظ

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

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

منتظرم...
VPN
pptpd => server
pptp-linux => Client
;)
عنوان: پاسخ به: راهنمای ایجاد تونل بین دو سیستم راه دور
ارسال شده توسط: netsaba در 14 آبان 1387، 02:26 ب‌ظ
 به نام خدا
سلام آقا خیلی متشکر از این پست به راحتی کار می کنه به دوستان هم می گم اگه می خواهند روی سیستم بیشتری نصب کنند بهتره از vmvare استفاده کنند من که جواب گرفتم.
عنوان: پاسخ به: راهنمای ایجاد تونل بین دو سیستم راه دور
ارسال شده توسط: netsaba در 14 آبان 1387، 06:04 ب‌ظ
به نام خدا
سلام
من یه دوتا سئوال داشتم.

1: آیا روش دوم هم همون امنیت روش اول رو داره یا نه یعنی اون هم فایل رمز نگار/گشا به همون وسعت اولی داره.

2: در این روشها حالا هر کدام که باشه آیا میشه یکسری کار کرد. برای مثال شما می تونید به سرور vpn  اینترنت را داده و طوری تنظیم کنید که کلاینت ها بتونند وقتی به vpn وصل شدند اینترنت را بگیرند.  شما فرض کن توی یه شبکه  داخلی ما به یکی از سیستم ها اینترنت را با یک ip  ولید  داده که سیستم عاملش هم  اوبونتو سرور است و  صورت سرور vpn هم تعریف شده حال می خواهیم به کاربران دیگه که توی شبکه ما هستند و سیستم عامل ویندوز را دارند  از طریق vpn  اینترنت بدهیم.

لطفا اگر میشه طرز راه اندازی اونو بگید.
متشکرم.
عنوان: پاسخ به: راهنمای ایجاد تونل بین دو سیستم راه دور
ارسال شده توسط: علیرضا طالقانی در 14 آبان 1387، 09:34 ب‌ظ
۱ـ اگر هم داشته باشه!‌من بلد نیستم :)
۲ـ در این خصوص هم یکسری امکانات داره! یک بار هم موفق شدم راه اندازی کنم این حالت رو که بر میگرده به دو-سه ماه قبل. اما این دفعه .... متاسفانه موفق نشدم.

***
اما میشه! اون قسمت اول رو اگه در سمت سرور دقت کنید ( بخش تنظیمات portForwaring ) ناظر ب همین مسئله هست.
عنوان: پاسخ به: راهنمای ایجاد تونل بین دو سیستم راه دور
ارسال شده توسط: netsaba در 16 آبان 1387، 10:53 ق‌ظ
به نام خدا
سلام  ;D   ;)

من روی اون مورد دوم یعنی بردن اینترنت از  طریق vpn  کار کردم.
من اومدم توی فایل پیکربندی pptpd اون رنج ip رو تغییر دادم .این طور که،  گفتم کلاینت من وقتی ip  می گیره یک ip اینترنت دار توی همون رنجی که روی سرور vpn  است بگیرد برای مثال:
remoteip 77.237.172.21,77.237.172.245   
 بعد اومدم گفتم سرور هم ip  یکی از روتر ها رو بهش دادم که یه اسکویید است که خودم راه انداختم مثل:
localip 77.237.172.31
خوب تا اینجای کار درست.  :'(  ::)   در آخر هم روی کارت شبکه کلاینت یک ip توی رنج ip های اینترنت دار سرور vpn  بدون dns و   gateway دادم.

من تا vpn  رو کانکت نکردم ping  ندارم ولی به محض اینکه  vpn  کانکت می شه ping 4.2.2.4 می آید  و حتی  tracert  هم که می کنم دقیقا اینترنت رو می بینم. :o  :D
فقط یک مسئوله اونم اینکه من صفحه باز نمی کنم.احتمال دادم به خاطر dns باشه. اومدم توی اون سرورم (همونکه ip ش تو پیکربندی vpn داده بودمlocalip) که میشد اسکوییدم  dns رو چک کردم درسته ولی ...  ](*,)   :-X   :'( 
به نظر شما مشکل کجاست؟
عنوان: پاسخ به: راهنمای ایجاد تونل بین دو سیستم راه دور
ارسال شده توسط: علیرضا طالقانی در 16 آبان 1387، 02:22 ب‌ظ
 ::)
با توجه ب اینکه ping بیرون رو دارید! یعنی در مسیر یابی مشکل ای نیست و DNS رو هم گفتید که بررسی شده. ی کاری کن! برای اطمینان بیشتر یک ssh یا telnet رو به یک سیستم راه دور تست کن! ببین میشه یا نه...
اگه شد که باید دنبال DNS برید و اگه نشد در مسیر یابی ممکنه مشکل باشه!
ولی   با توجه ب موارد ای که گفتید!‌باید راه افتاده باشه.
عنوان: پاسخ به: راهنمای ایجاد تونل بین دو سیستم راه دور
ارسال شده توسط: netsaba در 20 آبان 1387، 08:39 ق‌ظ
به نام خدا
سلام
آقا جان این حل شد. ما باید dns رو در فایل option ست کنیم اون موقع به راحتی کار می کنه.
 ما باید برویم به این فایل به این آدرس
etc/ppp/options

و این کد را می زنیم.

ms-dns ipaddressDNS

عنوان: پاسخ به: راهنمای ایجاد تونل بین دو سیستم راه دور
ارسال شده توسط: علیرضا طالقانی در 20 آبان 1387، 08:42 ق‌ظ
 :o
یعنی اگر DNS هات رو در etc/resolv.conf وارد کنی! فایده نداره؟
عنوان: پاسخ به: راهنمای ایجاد تونل بین دو سیستم راه دور
ارسال شده توسط: netsaba در 20 آبان 1387، 08:49 ق‌ظ
به نام خدا
سلام

ببینید این vpn  چون خودش یه فایل پیکر بندی مخصوص خودش رو داره و ip address و gateway رو از اون می گیره خوب بدیهی است دیگه نمیره برای dns  از جایی دیگه بیاره از کانفیگ خودش استفاده می کنه.
 من کاملا جواب گرفتم.

این لینک خیلی کمک می کنه

http://fixunix.com/bsd/87629-pptp-client-not-using-vpn-dns-servers-set.html
عنوان: پاسخ به: راهنمای ایجاد تونل بین دو سیستم راه دور
ارسال شده توسط: علیرضا طالقانی در 20 آبان 1387، 11:56 ق‌ظ
آهان! فهمیدم @}:-
۱+
میسی میسی
عنوان: پاسخ به: راهنمای ایجاد تونل بین دو سیستم راه
ارسال شده توسط: Farshid در 04 آذر 1387، 12:50 ق‌ظ

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

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

منتظرم...
VPN
pptpd => server
pptp-linux => Client
;)

درود

آقا علیرضا اینم که قول داده بودم درست شد. ببخشید اگه دیر شد.

ویکی‌ِ (http://wiki.ubuntu.ir/P2PTunnelWithOpenVPNHowto) راه‌نمای شما... ;)

لطفا ی دور بخونیدش که کم و کسر نشده باشه چون من محاوره رو به کتابی تبدیل کردم :(
عنوان: پاسخ به: راهنمای ایجاد تونل بین دو سیستم راه دور
ارسال شده توسط: علیرضا طالقانی در 04 آذر 1387، 08:42 ق‌ظ
HowToMakeOpenVPN
HowToMakePPTP

اولی رو بالا خیلی کامل تر گفتم. دومی رو یکی دوتا پست بالا تر... درد سر دومی کمتره! اولی حرفه یی تره!
@};-
فرشید:: میسی میسی :-*
عنوان: پاسخ به: راهنمای ایجاد تونل بین دو سیستم راه دور
ارسال شده توسط: Alinn در 13 دی 1387، 11:06 ق‌ظ
چه سخت!جادوگری؟!!
عنوان: پاسخ به: راهنمای ایجاد تونل بین دو سیستم راه دور
ارسال شده توسط: shabgard در 23 دی 1387، 12:28 ب‌ظ
یه سوال برای من پیش اومده...کدوم یکی از این ip ها باید حتما ip public باشند؟یا اگر ip private هم باشند میشه؟...منظورم سمت سرور و کلاینته... \\:D/
عنوان: پاسخ به: راهنمای ایجاد تونل بین دو سیستم راه دور
ارسال شده توسط: netsaba در 24 دی 1387، 09:02 ق‌ظ
به نام خدا
سلام
ip ولید شما باید روی سرور vpn قرار گیرد