vpnراه اندازی
موضوعات داغ

راه‌اندازی سرویس PPTP بر روی سرور لینوکس Ubuntu

نکته: این سرویس، سرویس ناامنی می‌باشد! از سال ۲۰۰۵ با استفاده از تکنیک‌های نسبتا ساده‌ای قابلیت Hack شدن وجود دارد! لذا با مسئولیت خودتان این سرویس را بر روی Server نصب نمایید!

فرض: در این مقاله فرض بر آن است که IP سرور 1.2.3.4 می‌باشد.

تعریف: سرویس PPTP مخفف Point-to-Point Tunneling Protocol می‌باشد.

پس از ورود به ترمینال سرور، از طریق برنامه Putty، به ترتیب دستورات ذیل را اجرا می‌کنیم:

1234sudo -i
apt update -y
apt upgrade -y
apt install -y nano

مراحل نصب و راه‌اندازی سرویس PPTP را به ترتیب ذیل و با دقت انجام می‌دهیم:

1apt-get install -y pptpd

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

1nano /etc/pptpd.conf

محتوای این فایل شامل دو قسمت Local IP و نیز Remote IP می‌باشد. در قسمت Local IP، آی‌پی مربوط به سرور (1.2.3.4) را نوشته و در قسمت Remote IP نیز Range آی‌پی که می‌خواهیم سرویس PPTP به کاربران (Client ها) اختصاص دهد را می‌نویسیم:

12localip 1.2.3.4
remoteip 10.10.0.2-200

فایل مذکور را ذخیره کرده و از محیط ویرایشگر Nano به روش ذیل خارج می‌شویم:

1CTRL + X -> y -> ENTER

برای پیکربندی سرویس PPTP، مجددا از طریق ویرایشگر Nano، وارد فایل pptpd-options شده:

1nano /etc/ppp/pptpd-options

و محتوای فایل را به محتوای ذیل تغییر (تکمیل) می‌کنیم:

1234567891011121314151617181920212223name 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

novj
nologfd

mtu 1490
mru 1490

معمولا محتوای فایل، مشابه محتوای فوق می‌باشد، ولی باید حواسمان باشد که دو قسمت ذیل را اصلاح کرده و از Comment خارج نماییم:

12ms-dns 8.8.8.8
ms-dns 8.8.4.4

و نیز دو قسمت ذیل را به انتهای این فایل اضافه نماییم:

12mtu 1490
mru 1490

فایل مذکور را ذخیره کرده و از محیط ویرایشگر Nano به روش ذیل خارج می‌شویم:

1CTRL + X -> y -> ENTER

برای تعریف کردن شناسه‌های کاربری و گذرواژه‌های آنها، باید فایل chap-secrets را با استفاده از ویرایشگر Nano باز کرده:

1nano /etc/ppp/chap-secrets

و محتوای آن را با توجه به نیاز خود تغییر دهیم:

12user1 pptpd 12345 *
user2 pptpd 12345 *

فایل مذکور را ذخیره کرده و از محیط ویرایشگر Nano به روش ذیل خارج می‌شویم:

1CTRL + X -> y -> ENTER

نکته: در هر سطر، به ترتیب، موارد ذیل را نوشته و بین آن‌ها TAB می‌زنیم:

  • شناسه‌کاربری
  • نام سرویس (pptpd)
  • گذرواژه
  • *

نکته: در نمونه فوق، ما دو کاربر به نام‌های user1 و user2 و با گذرواژه یکسان 12345 تعریف کرده‌ایم. * نیز بدان معنا است که کاربران (Client ها) می‌توانند با هر IP به این سرور متصل شوند. در صورتی که بخواهیم یک کاربر (Client) فقط با IP شماره 4.5.6.7 به این سرور متصل گردد، به جای * شماره 4.5.6.7 را وارد می‌کنیم.

نکته: در صورتی که کاربر user1 به این سرور متصل گردد، از IP Pool تعریف شده، سرویس pptpd، یک IP‌ بین 10.10.0.2 الی 10.10.0.200 به وی اختصاص می‌دهد.

برای Packet (IPv4) Forwarding، با استفاده از ویرایشگر Nano، فایل sysctl.conf را ویرایش کرده:

1nano /etc/sysctl.conf

و دستور ذیل را از Comment خارج کرده و یا به محتوای فایل اضافه می‌کنیم:

1net.ipv4.ip_forward=1

فایل مذکور را ذخیره کرده و از محیط ویرایشگر Nano به روش ذیل خارج می‌شویم:

1CTRL + X -> y -> ENTER

برای مشاهده تغییرات، دستور ذیل را اجرا می‌کنیم:

1sysctl -p

اجرای دستور فوق، باید چنین خروجی را به ما نمایش دهد:

net.ipv4.ip_forward = 1

حال باید یک IPTables Rule برای ایجاد NAT بین دو Interface کارت شبکه ETH0 و PPP ایجاد نماییم.

برای این منظور باید دستورات ذیل را به ترتیب اجرا نماییم:

123iptables -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

نکته: در صورتی که Server به هر دلیلی Reboot گردد، دستورات فوق، به طور خودکار عمل نخواهند کرد! برای این منظور، دستورات فوق را در داخل فایلی به نام rc.local و به شکل ذیل می‌نویسیم:

1234567#!/bin/sh -e

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

exit 0

برای این منظور، با استفاده از ویرایشگر Nano، فایل rc.local را باز کرده و ویرایش می‌کنیم.

1nano /etc/rc.local

نکته: البته توصیه می‌گردد که از ابتدای این فایل e- را حذف نماییم!

فایل مذکور را ذخیره کرده و از محیط ویرایشگر Nano به روش ذیل خارج می‌شویم:

1CTRL + X -> y -> ENTER

با استفاده از دستور ذیل، سرویس PPTP فعال می‌شود. این بدان معنا است که اگر Server را Reboot نموده و یا به هر شکل Reboot گردد، سرویس PPTP به صورت خودکار، در هنگام Boot‌ شدن Server راه‌اندازی می‌گردد:

1systemctl enable pptpd

برای راه‌اندازی سرویس PPTP از دستور ذیل استفاده می‌کنیم:

1service pptpd start

در صورتی که سرویس راه‌اندازی شده باشد و تغییراتی را در فایل‌های پیکربندی (Config) آن اعمال نماییم، باید سرویس مذکور را Stop و سپس Start کرده و یا با استفاده از دستور ذیل Restart نماییم:

1service pptpd restart

برای این‌که از وضعیت سرویس pptpd مطلع شویم، می‌توانیم از دستور ذیل استفاده نماییم:

1service pptpd status

در صورتی که همه چیز با موفقیت انجام شده باشد، باید در متن نمایش داده شده، به رنگ سبز، عبارت active running ظاهر گردد.

نکته: سرویس PPTP به طور پیش‌فرض از دو پورت ۱۷۲۳ (TCP) و ۴۷ استفاده می‌کنند، و متاسفانه بعضی از ISP ها مانند مبین‌نت، یکی یا هر دو پورت مذکور را فیلتر کرده‌اند! در صورتی که در هنگام اتصال به سرور دچار مشکل شدیم، می‌توانیم با استفاده از دستور telnet چک کنیم که آیا اتصال به این دو پورت از دستگاه ما امکان‌پذیر است یا خیر؟

12telnet [SERVER_IP] 47
telnet [SERVER_IP] 1723

برای مشاهده کسانی که از بر روی Server از این پروتکل استفاده کرده‌اند از دستور ذیل استفاده می‌کنیم:

1last | grep ppp

پایان

ali

12 سالم را جهت یادگیری گذاشتم دیگر وقت کسب درامد هس I left 17 healthy to learn, now is the time to earn money

دیدگاهتان را بنویسید

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *

*

code

دکمه بازگشت به بالا