در این آموزش با نحوه تنظیم لینوکس بعنوان یک PPTP client برای اتصال به VPN - PPTP سرور آشنا خواهیم شد.

فرض بر این است که شما از محیط متنی استفاده می کنید , از این رو آموزش بر اساس ابزارهای این محیط است ولی شما همچنین قادر خواهید بود تا در محیط گرافیکی هم ازاین روش بهره ببرید.

در گذشته برای استفاده از Encryption می بایست وصله مربوط را به هسته اضافه می کردیم در حالیکه بعد از هسته 2.6.15 دیگر نیازی به افزودن وصله به هسته نیست.ورژن جدید اکثر توزیع ها این ویژگی را بهمراه دارد.

برای بررسی ورژن هسته از دستور uname -a استفاده کنید.

Reza:~# uname -a
Linux debian 2.6.18-4-k7 #1 SMP Mon Mar 26 1715 UTC 2007 i686 GNU/Linux
با آنکه PPTP از لحاظ امنیت نسبت به رقبای دیگر خود نظیر OpenVPN در جایگاه پایین تری قرار دارد ولی نصب آسان و دردسترس بودن در اکثر سیستم عامل ها سبب برتری PPTP در نهایت می شود.

شیوه نصب و تنظیم PPTP client که در این آموزش گفته می شود در اکثر لینوکس ها مشابه می باشد.من این تنظیمات را در دبین , آبانتو و فدورا مورد آزمایش قرار داده ام.لازم به تذکر است که همه این ها از هسته بعد از 2.6.15 استفاده می کردند.

با گوگلی که انجام دادم متوجه شدم که این شیوه در این سیستم عامل ها جوابگوست :
  1. CentOS , RHEL , Fedora همگی با هسته بالاتر از 2.6.15
  2. Debian و Ubuntu با هسته بالاتر از 2.6.15
  3. FreeBSD
همچنین این PPTP client با این سرورها می تواند ارتباط برقرار کند :
  1. Microsoft Windows VPN Server
  2. Linux PPTP Server
  3. Cisco PIX

نصب PPTP client
اول از همه آخرین نسخه PPTP client که در حال حاظر 1.7.1 می باشد را دانلود می کنیم :
سپس
tar xvfz pptp-1.7.1.tar.gz
cd pptp-1.7.1
make
make install
PPTP client نصب شده و آماده تنظیم می باشد.
برای بهره برداری از PPTP client فایل های زیر را مورد استفاده قرار می دهیم :
  1. etc/ppp/chap-secrets/ که نام کاربری و پسورد کانکشن را در خود ذخیره می کند
  2. etc/ppp/peers/tunnel-name/ این فایل را باید بسازیم و تنظیمات مربوط به تانل از قبیل آدرس سرور VPN را در آن قرار می دهیم.این فایل باید در دایرکتوری peers واقع شده باشد.
  3. etc/ppp/options.pptp/ که سعی کنید تنها در صورت نیاز این فایل را ویرایش کنید , چون باعث بروز مشکلات زیادی در صورت عدم آگاهی از تاثیر تغییرات انجام شده خواهد شد.

تنظیمات فایل options.pptp بر تمام ارتباطات اعمال می شود و حداقل باید شامل این تنظیمات باشد :

lock noauth nobsdcomp nodeflate
نکته :
برای استفاده از Encryption می باست ماژول مربوط را لود کنید :

modprobe ppp_mppe
با یک مثال ادامه می دهیم :
فرض کنید می خواهیم به یک VPN سرور با مشخصات زیر ارتباط برقرار کنیم
آدرس سرور : vpn.iranwebwork.com
نام کاربری :ali
پسورد : hiddenboy
نام تانل ارتباطی : iranwebwork
خوب با این مشخصات بدین ترتیب عمل می کنیم :
nano /etc/ppp/chap-secrets
ali * hiddenboy * #Iranwebwork
فایل ازتباطی با نام iranwebwork را می سازیم و تنظیم می کنیم :
nano /etc/ppp/peers/iranwebwork
pty "pptp vpn.iranwebwork.com --nolaunchpppd"
name ali
remotename *
require-mppe-128
file /etc/ppp/options.pptp
ipparam iranwebwork
تنظیمات به پایان رسید و حال میتوانیم با سرور ارتباط برقرار کنیم :
pppd call iranwebwork
و دستور دیگر برای لینوکس های بر پایه دبین
pon iranwebwork
اگر همه چیز به درستی انجام شده باشد ارتباط برقرار می شود و شما می توانید با مشاهده ifconfig ببینید که یک اینترفیس با نام pppX اضافه شده است.

در صورت بروز خطا می توانید با مشاهده خطاها در فایل var/log/messages/ در ردهت و var/log/syslog/ در دبین به حل مشکل بپردازید.



برای قطع ارتباط می توانید ابنگونه عمل کنید :

1-killall pppd که همه ی ارتباطات ppp را قطع خواهد کرد

2- kill pppd-PID برای قطع کردن یک ارتباط خاص با داشتن PID

3- poff tunnel-name برای لینوکس های بر پایه دبین