PPPd Ras (poptop)

از ویکی پارس پویش
پرش به: ناوبری, جستجو


Installation Related Documents

محتویات


vpn در یک تعریف کوتاه شبکه ای از مدارهای مجازی برای انتقال ترافیک شخصی است در واقع پیاده سازی شبکه خصوصی یک شرکت یا سازمان روی یک شبکه عمومی را میگویند



مزایای VPN

‫● ﮔسترش محدوده ﺟﻐﺮاﻓﻴﺎﺋﻲ ارﺗﺒﺎﻃﻲ‬ ‫● ﺑﻬﺒﻮد وﺿﻌﻴﺖ اﻣﻨﻴﺖ‬ ● کاهﺶ هزﻳﻨﻪ های ﻋﻤﻠﻴﺎتی در ﻣﻘﺎﻳسه ﺑﺎ روش های سنتی ﻧﻈﻴﺮ ‪WAN‬‬ ●کاهش زﻣﺎن ارﺳﺎل و حمل اﻃﻼﻋﺎت ﺑﺮاي کارﺑﺮان از راﻩ دور‬ ‫● ﺑﻬﺒﻮد ﺑﻬﺮﻩ وری‬ ‫● ﺗﻮﭘﻮﻟﻮژی ﺁﺳﺎن ،... ‬


تذکر:در سرور vpnمقدار IP packet forwarding باید ۱ باشد

تنظیم Ras pppd برای ارتباط با IBSng در حالتیکه ras pppd روی سرور IBSng باشد

تذکر:در سرور vpnمقدار IP packet forwarding باید ۱ باشد.

در فایل etc/sysctl.conf/ وارد شده، خط زیر را اضافه نمایید:

net/ipv4/ip_forward=1

تذکر:راهنمای نصبی که در ادامه آورده شده با این پیش فرض تهیه شده که شما از fedora core 4 استفاده می کنید

download و نصب packet های زیر بسته به ورژن لینوکس

Fedora

pptpd,dkms,ppp,kernel_ppp_mppe
از سایت http://poptop.org/ می توانید packetهای فوق را download نمایید

#wget http://ovh.dl.sourceforge.net/sourceforge/poptop/dkms-2.0.6-1.noarch.rpm
#wget http://kent.dl.sourceforge.net/sourceforge/poptop/kernel_ppp_mppe-1.0.2-3dkms.noarch.rpm
#wget http://jaist.dl.sourceforge.net/sourceforge/poptop/ppp-2.4.3-5.fc4.i386.rpm
#wget http://surfnet.dl.sourceforge.net/sourceforge/poptop/pptpd-1.3.0-0.i386.rpm


Ubuntu

apt-get install pptpd

کپی نمودن فایل option.pptpd ازusr/local/IBSng/addons/poptop/options.pptpd/ در /etc/ppp/

# cp /usr/local/IBSng/addons/poptop/options.pptpd /etc/ppp/

ویرایش فایلetc/ppp/options.pptpd/

برای تنظیم ms-dns که ip dns server را می دهیم مثال:اگر ip سرور dns نیز 192.168.0.1 باشد بصورت زیر فایل را تنظیم می کنیم

# nano /etc/ppp/options.pptpd
lock
debug
name pptpd
proxyarp
nobsdcomp
nodeflate
#+mschap
#-chap
#-pap
+mschap-v2
require-mppe-128
ms-dns 192.168.0.1
plugin radius.so
lcp-echo-interval 20
lcp-echo-failure 6
nologfd
#mtu 1496
#nomppe-lower-mtu
#connect-delay 5000

download نمودن پوشه radiusclient در مسیر etc/

توجه:در صورتی که می خواهید از این سرور برای vpn هم استفاده کنید فایل radiusclient را نیز از مسیر زیر دانلود نمایید:

wget http://www.parspooyesh.com/support/index.php?_m=downloads&_a=viewdownload&downloaditemid=10&nav=0

این فایل به صورت tar شده است، لطفا ابتدا آن را Extract نموده و سپس در مسیر etc/ قرار دهید.

ویرایش فایل etc/radiusclient/servers/ برای تنظیم Key برای ارتباط با IBSng

ویرایش فایل etc/pptpd.conf/

  • در این فایل option را به صورت زیر می نویسیم:
option /etc/ppp/options.pptpd
  • localip را به ip کارت شبکه سرور set می کنیم

add نمودن pool_vpn در IBSng

add نمودن ras_vpn در IBSng با ip سرور (127.0.0.1) ویکی نمودن Radius Secret با key که در etc/radiusclient/servers/ تنظیم کرده ایم و type pppd و add کردن pool_vpn در قسمت Ras ip pools

on کردن سرویس pptpd بعد از هر با reset شدن سرور chkconfig pptpd on

تنظیم iptables

iptables -t filter -I FORWARD -p tcp -m tcp --tcp-flags SYN,RST SYN -m tcpmss --mss 1300:8000 -j TCPMSS --set-mss 1300

تظیم routing لازم برای pool_vpn در رفت و برگشت (توضیحات مفصل در بخش routing می باشد)



تنظیم Ras pppd برای ارتباط با IBSng در حالتیکهras pppd روی سرور IBSng نباشد

تذکر:در سرور vpnمقدار IP packet forwarding باید ۱ باشد.

در فایل etc/sysctl.conf/ وارد شده، خط زیر را اضافه نمایید:

net/ipv4/ip_forward=1

download و نصب packet های زیر بسته به ورژن لینوکس

pptpd,dkms,ppp,kernel_ppp_mppe
از سایت http://poptop.org/ می توانید packetهای فوق را download نمایید

ایجاد مسیر/usr/local/IBSng/addons/ بر روی سرور vpn

#mkdir /usr/local/IBSng/addons/ -p


کپی نمودن /usr/local/IBSng/addons/pppd/ از روی سرور IBSng بر روی سرور vpn در مسیر فوق

#scp -r  /usr/local/IBSng/addons/pppd/ root@vpn:/usr/local/IBSng/addons/

کپی نمودن فایل options.pptpd ازusr/local/IBSng/addons/poptop/options.pptpd/ در /etc/ppp/

# cp /usr/local/IBSng/addons/poptop/options.pptpd /etc/ppp/  

ویرایش فایلetc/ppp/options.pptpd/

برای تنظیم ms-dns که ip dns server را می دهیم

download نمودن پوشه radiusclient در مسیر etc/

پوشه ی radiusclient را می توانید به طور zip شده از آدرس زیر دانلود و سپس extract نمایید:

wget http://www.parspooyesh.com/support/index.php?_m=downloads&_a=viewdownload&downloaditemid=10&nav=0

ویرایش فایل etc/radiusclient/servers/ برای تنظیم Key برای ارتباط با IBSng

ویرایش فایل etc/pptpd.conf/

در این فایل option را به صورت زیر می نویسیم:

option /etc/ppp/options.pptpd

تنظیم iptables

iptables -t filter -I FORWARD -p tcp -m tcp --tcp-flags SYN,RST SYN -m tcpmss --mss 1300:8000 -j TCPMSS --set-mss 1300

ip سرور IBSng و key را تنظیم می کنیم

#Server Name or Client/Server pair      Key
#----------------               ---------------
#portmaster.elemental.net           hardlyasecret
#portmaster2.elemental.net              donttellanyone
#<IBSngServerIP>  <secretKey>
192.168.2.1     manamana

ویرایش فایلetc/radiusclient/radiusclient.conf/

در این فایل authserver)radiusserver )بطور پیش فرض localhost می باشد که در اینجا به ip سرور IBSng تغییر می دهیم

add نمودن pool_vpn در IBSng

اضافه نمو دن ras pppd در IBSng

Option های زیر را در قسمت Attribute به این ترتیب تغییر می دهیم:

pppd_apply_bandwidth_limit :	ssh <vpn ip> /usr/local/IBSng/addons/pppd/apply_bw_limit	
pppd_inouts_command :	        ssh <vpn ip> /usr/local/IBSng/addons/pppd/inouts	
pppd_kill_port_command :	ssh <vpn ip> /usr/local/IBSng/addons/pppd/kill	
pppd_mac_script :	        ssh <vpn ip> /usr/local/IBSng/addons/pppd/get_mac	
pppd_remove_bandwidth_limit :	ssh <vpn ip> /usr/local/IBSng/addons/pppd/remove_bw_limit

ایجاد trust ما بین دو سرور IBSng و vpn

دو سرور IBSng و vpn باید بتوانند بدون پسورد به هم وصل شوند به این منظور باید بین دو سرورtrust ایجاد شود برای ایجاد trust باید مراحل زیر را انجام دهیم بر روی هر سرور در فایلetc/hosts/ نیز سرور مقایل تعریف می کنیم مثال:اگر ip سرور IBSng :217.219.1.1 و ip سرور vpn :217.219.1.2 باشد بروی سرور vpn بصورت زیر تعریف می کنیم

# nano /etc/hosts
# Do not remove the following line, or various programs
# that require network functionality will fail.
127.0.0.1              vpn.localdomain asal localhost.localdomain localhost
217.219.1.1          IBSng

و بر روی سرور IBSng به صورت زیر تعریف می کنیم

# nano /etc/hosts
# Do not remove the following line, or various programs
# that require network functionality will fail.
127.0.0.1               IBSng.localdomain asal localhost.localdomain localhost
217.219.1.2           vpn

بر روی هر دو سرور کامند ssh-keygen -t dsa را به صورت زیر اجرا می کنیم

# ssh-keygen -t dsa
Generating public/private dsa key pair.
Enter file in which to save the key (/root/.ssh/id_dsa):
Enter passphrase (empty for no passphrase):
Enter same passphrase again:
Your identification has been saved in /root/.ssh/id_dsa.
Your public key has been saved in /root/.ssh/id_dsa.pub.
The key fingerprint is:
61:bb:a6:5d:8e:64:c4:27:b7:8a:10:88:d8:8f:19:08 root@vpn.localdomain

باا جرای کامندفوق یک key public در مسیر /root/.ssh / نیز ایجاد می شود به نام id_dsa.pub که اگر این key را در سرور مقابلش در مسیر /root/.ssh/ در فایل authorized_keys2 کپی نمایید و این کار را بر روی هر دو انجام دهید بین دو سرور trust ایجاد می شود

با اجرای کامند فوق بر روی هر سرور مسیر /root/.ssh/ ایجاد می شود در مسیر فوق فایل authorized_keys2 را می سازیم

#touch  /root/.ssh/authorized_keys2

فایل id_dsa.pub هر سرور بر روی authorized_keys2 سرور مقابل کپی می کنیم

#scp root@<ip bw_manager>:/root/.ssh/id_dsa.pub /root
#cat /root/id_dsa.pub >> /root/.ssh/ authorized_keys2 

on کردن سرویس pptpd بعد از هر با reset شدن سرور chkconfig pptpd on

از روی هر سرور به سرور مقابل حتما یکبا ر دستی ssh می کنیم برای مطمپن شدن از درست کپی شدن key ها در این حالت بدون پسورد باید بتوانیم به سرور مقابل ssh کنیم


نکته

زمانی که از pptpd-1.3.3-1 یا بالاتر از آن استفاده می کنید و به طور کلی زمانی که با ubuntu کار می کنید، باید برای کار کردن VPN, در قسمت/etc/pptpd.conf , سه تغییر زیر را اعمال نمایید:

۱- قسمت logwtmp را comment نمایید.
۲- comment مربوط به delegate را بردارید و در صورتی که عبارت delegate در فایل وجود نداشت آن را در یک خط اضافه کنید.
۳- در انتهای این فایل عبارت زیر را وارد کنید:
<localip <vpn server ip address

توجه: IP که در قسمت localip وارد می شود، باید آدرس IP VPN server باشد که سرور VPN server از طریق آن با IBSng ارتباط دارد.

خط زیر را نیز در فایل /etc/ppp/options.pptpd وارد کنید:

:<vpn server ip address>
ابزارهای شخصی

گویش‌ها
فضاهای نام
عملکردها
گشتن
جعبه‌ابزار