امیرحسین کریم پور
مدیر ارشد توسینسو و متخصص سرویس های مایکروسافت

آموزش راه اندازی VPN سرور لینوکس : سرویس PPTP

اگر تا به حال با سرویس VPN کار کرده باشید و با آن آشنایی داشته باشید حتما میدانید که ساده ترین پروتکل VPN پروتکل PPTP می باشد که نحوه راه اندازی آن در پلتفرم های مختلفی مانند ویندوز ، سیسکو ، میکروتیک و ... تا حدودی شبیه به هم هستند امروز در این مطلب میخواهیم به شما راه اندازی VPN سرور PPTP را در سیستم عامل لینوکس آموزش دهیم. راه اندازی PPTP VPN در لینوکس بسیار ساده است به طور کلی در سه مرحله این VPN سرور PPTP را راه اندازی می کنیم که عبارتند از :

دوره های شبکه، برنامه نویسی، مجازی سازی، امنیت، نفوذ و ... با برترین های ایران
  1. نصب سرویس PPTPD
  2. پیکربندی PPTPD و PPP
  3. فعال سازی Packet Forwarding

نصب سرویس PPTPD

برای نصب سرویس PPTPD دستورات زیر را در ترمینال به ترتیب اجرا کنید :

# apt-get update
# apt-get install pptpd

پیکربندی PPTPD و PPP

با استفاده از ویرایشگری مثل vi یا nano یا هر ویرایشگری که دوست دارید فایل pptpd.conf را با دستور زیر ویرایش کنید :

vi /etc/pptpd.conf

حال Local IP و Remote IP را باید در این فایل وارد کنیم :

localip 10.10.0.1
remoteip 10.10.0.2-10

این که چرا فایل pptpd.conf را ویرایش کردیم دلیلش این است که سرویس PPTPD فایل پیکربندی pptpd.conf را میخواند و با توجه به آن پارامتر های مربوطه را به کلاینت ها اختصاص میدهد. Local IP آدرس VPN سرور لینوکس ما میباشد و کلاینت ها با استفاده از این آدرس به VPN سرور وصل میشوند، در این سناریو آدرس IP سرور لینوکسی مان 10.10.0.1 میباشد. Remote IP هم میتواند رنج آدرسی باشد که کلاینت ها وقتی به VPN سرور متصل شدند از آن رنج آدرس IP دریافت کنند، برای مثال ما در این سناریو رنج آدرس 10.10.0.2 تا 10.10.0.10 برای اختصاص آدرس IP به کلاینت ها در نظر گرفتیم . فایل را ذخیره کنید و از آن خارج شوید. حالا نوبت ویرایش فایل پیکربندی pptpd-options است برای این کار دستور زیر را در ترمینال وارد کنید :

# vi /etc/ppp/pptpd-options

حال عبارات زیر را در انتهای این فایل وارد کنید :

name pptpd
 refuse-pap
 refuse-chap
 refuse-mschap
 require-mschap-v2
 require-mppe-128
 ms-dns 8.8.8.8
 #ms-dns 8.8.4.4
 proxyarp
 nodefaultroute
 lock
 nobsdcomp
 mtu 1490
 mru 1490

خب طبیعتا برای اتصال به VPN سرور ما نیاز به یک Username و Password تعریف شده در VPN سرور داریم، برای تعریف این اطلاعات احرازهویتی بایستی فایل chap-secrets را ویرایش کنیم و پارامتر های زیر را در آن وارد کنیم :

# vi /etc/ppp/chap-secrets
myusername pptpd  10.10.0.2

بدیهی است که به جای myusername باید نام کاربری کلاینت و به جای mypassword باید پسورد اتصال کلاینت به VPN سرور را باید وارد کنید. در این سناریو برای مثال کلاینت ما به محض اتصال به VPN سرور آدرس 10.10.0.2 را از Pool تعریف شده دریافت خواهد کرد.

فعال سازی Packet Forwarding

در این مرحله فایل پیکربندی sysctl.conf را با دستور زیر ویرایش می کنیم و IPv4 Forwarding را فعال می کنیم برای این کار کافیست تا علامت # را حذف کنیم و عبارت زیر را برابر مقدار یک قرار دهیم. به دستور زیر توجه کنید :

# vi /etc/sysctl.conf
net.ipv4.ip_forward=1

همانطور که مشاهده می کنید ما عبارت net.ipv4.ip_forward را برابر مقدار یک قرار دادیم تا IPv4 Forwarding فعال شود. فایل را ذخیره کنید و از آن خارج شوید. حال دستور زیر را اجرا کنید تا تغییرات صورت گرفته را مشاهده کنید :

# sysctl -p

حال باید یک iptables rule را برای ایجاد NAT بین دو اینترفیس eth0 و ppp بنویسیم. دستورات زیر را اجرا کنید :

# iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE
# iptables -A FORWARD -i eth0 -o ppp0 -m state --state RELATED,ESTABLISHED -j ACCEPT
# iptables -A FORWARD -i ppp0 -o eth0 -j ACCEPT

حال با دستور زیر سرویس PPTPD را Restart کنید :

# service pptpd restart

کار تمام است ! حالا میتوانید به VPN سرور متصل شوید و از آن لذت ببرید.


امیرحسین کریم پور
امیرحسین کریم پور

مدیر ارشد توسینسو و متخصص سرویس های مایکروسافت

امیرحسین کریم پور ، مدیر ارشد توسینسو ، متخصص شبکه ، تخصص در حوزه سیستم عامل های کلاینت و سرور مایکروسافت و سرویس های مربوطه ، سیستم عامل لینوکس و... ، سابقه کار با سازمان ها و شرکت های مختلف در زمینه سرویس های مایکروسافت در قالب پروژه ، مشاوره و آموزش. علاقه مند به حوزه امنیت اطلاعات و تست نفوذ سنجی

نظرات