همان طور که از اسم این مقاله پیداست این مقاله از دو قسمت تشکیل شده است:

  1. راه اندازی سرویس PPTP با استفاده از mpd
  2. راه اندازی سرویس L2TP با استفاده از mpd

که هر یک به تفصیل توضیح داده خواهد شد.

راه اندازی سرویس PPTP با استفاده از mpd

اول باید ببینیم برای راه اندازی PPTP به چه چیزهایی نیاز داریم.

  • کرنل FreeBSD که قابلیت پشتیبانی از pseudo–device tun را داشته باشد.
  • فعال سازی net.inet.ip.forwarding=1 در sysctl یا قرار دادن عبارت زیر در فایل در /etc/rc.conf
gateway_enable=“YES”
  • نصب mpd به عنوان سرویس دهنده
  • باز کردن پورت ۱۷۲۳ روی TCP و پروتکل ۴۷ بر روی فایروال شما

ابتدا با استفاده از دستورات زیر سرویس mpd را با استفاده از پورت‌ها بر روی سیستم خود نصب می کنیم

# cd /usr/ports/net/mpd5
# make install clean

بعد از اتمام مرحله نصب نوبت به تنظیمات می رسد.

نکته:
به صورت پیش فرض بعد از نصب فایل‌های تنظیمات در مسیر /usr/local/etc/mpd قرار دارد و برای شروع به کار کردن سرویس باید از اسکریپت /usr/local/etc/rc.d/mpd.sh را اجرا کنیم.

تنظیمات PPTP

برای اینکه سرویس دهنده برای ارایه سرویس PPTP آماده شود به مسیر /usr/local/etc/mpd می‌رویم و فایل mpd.conf را به صورت زیر ویرایش می کنیم.

default:
       load pptp

pptp:
       new -i ng0 pptp pptp                     ## create a new interface of ng0 for the pptp connection
       set iface disable on-demand              ## disable on-deman dialing for this connection
       set iface enable proxy-arp                       ## enable the arp proxy for the created interface
       set bundle disable multilink                     ## disable multi link options
       set bundle authname Fred                 ## define the username for this connection
       set bundle enable encryption                     ## enable encryption for this connection
       set link yes acfcomp protocomp                   ## address control and protocol field compression
       set link disable pap                             ## disable PAP authentication for this link
       set link enable chap                             ## enable CHAP authentication for this link
       set link keep-alive 10 60                        ## keep alive settings for idle links
       set ipcp enable vjcomp                           ## enables header compression for the link
       set ipcp ranges 10.0.0.2/32 10.0.0.101/32        ## sets IP of PPTP server as well as initial link
       set ipcp dns 10.0.0.1                            ## sets IP of DNS server to be given to client
       set ipcp nbns 10.0.0.20                          ## sets IP of the WINS server to be given out
       set bundle enable compression                    ## enables tunnel compression
       set ccp enable mppc                              ## enables microsoft point-to-point compression
       set ccp enable mpp-e40                           ## 40-bit MPP encryption
       set ccp enable mpp-e128                          ## 128-bit MPP encryption
       set ccp yes mpp-stateless                        ## enables stateless mode for faster recovery
       set bundle enable crypt-reqd             ## require client to have encryption or drop link

توضیح اینکه بخش اول به mpd می گوید که اتصالات برقرار شده توسط PPTP را بارگذاری کند و بخش دوم تنظیمات مربوط به اتصالات PPTP را برای mpd تعریف می کند.

ساختن mpd link ها

برای این منظور فایل mpd.links را به صورت زیر ویرایش می کنیم.

pptp:
set link type pptp      ## define the link type protocol as PPTP
set pptp self 10.0.0.2        ## define the IP address  on which MPD will run
set pptp enable incoming      ## define the connection as Incoming
set pptp enable originate     ## enables PPTP connection for communication with the client

توضیح اینکه تنظیمات Link که در بالا آورده شده برای اتصال PPTP تعریف شده در mpd.conf می باشد.

نکته:
شما باید برای هر اتصال خود یک PPTP در mpd.conf و همچنین یک تنظیمات link در mpd.links ایجاد کنید.(مانند pptp1 و pptp2 و …)

خوب کار ما با تنظیمات مربوط به سرویس دهنده PPTP تمام شده و در مرحله بعدی به چگونگی ایجاد username و password ها می پردازیم.

ساختن username و پسورد

برای ایجاد username و password ها شما باید فایل mpd.secret را که حاوی آنها می باشد را ویرایش کنید.

توجه: تنظیمات مربوط به اتصال هر کاربر به سرویس دهنده در فایل تنظیمات mpd.conf و در سطری که حاوی عبارت authname می باشد آماده است.

نمونه‌ای از این فایل در زیر آمده است.

Fred    password_for_fred
Joe     password_for_joe
Bob     password_for_bob

در اینجا تنظیمات مربوط به سرویس دهنده PPTP انجام شده است و به قسمت بعدی مقاله می رویم.

راه اندازی سرویس L2TP با استفاده از mpd

راه اندازی سرویس mpd بعد از اعمال تنظیمات

بعد از اتمام تنظیمات مربوط به سرویس دهنده ها نوبت به اجرای سرویس دهنده می رسد. برای اینکار کافی است دستور زیر را اجرا کنید

/usr/local/etc/rc.d/mpd.sh start