PPPd Ras (poptop)
(صفحهای جدید حاوی 'Category:Network '''Installation Related Documents''' __TOC__ <div lang=fa dir=rtl> vpn در یک تعریف کوتاه شبکه ا...' ایجاد کرد) |
نسخهٔ کنونی تا ۳۰ اوت ۲۰۱۱، ساعت ۱۵:۲۶
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>