یکی از راه های امن کردن ارتباط تلفنی بین شعبهها و جلوگیری از شنود مکالمات در تماس های IP آوردن تماس بر روی یک بستر امن است.
یکی از راه حل های موجود ارتباط VPN بین دفاتر است. برای راه اندازی vpn سرور بر روی لینوکس، شما میتوانید از پروتکل های مختلف استفاه کنید، اما با توحه به این که بعضی از device ها پروتکل خاصی را support میکنند در این مقاله به نصب pptp, l2tp و openvpn خواهیم پرداخت.
نصب pptp :
ابتدا بستههای مورد نیاز زیر را نصب کنید.
rpm -Uvh http://poptop.sourceforge.net/yum/stable/rhel5/pptp-release-current.noarch.rpm yum install ppp pptpd
فایل etc/pptpd.conf/ را باز کنید.
در انتهای این فایل میتوانید آدرس local و رنج آدرس کاربران را تعریف کنید
localip 192.168.1.138 remoteip 192.168.1.240-250
برای تغییر تنظیمات authentication و encryption میتوانید از فایل etc/ppp/options.pptpd/ استفاده کنید. برای مثال برای فعال کردن MS-CHAPv2 – authentication و “MPPE 128-bit encryption” خطهای زیر را اضافه کنید.
require-mschap-v2 require-mppe-128
برای تعریف کاربران خود نیز از فایل etc/ppp/chap-secrets/ به فرمت زیر استفاده کنید.
vpnuser pptpd vpnpass *
فیلد اول:نام کاربری
فیلد دوم: سرویس استفاده کننده از این نام کاربری
فیلد سوم: پسورد
فیلد چهارم: آدرس IP
به منظور استفاده تمامی سرویس ها (l2tp, pptp, pptpd ) از این نام کاربری و پسورد میتوانید به جای فیلد دوم نیز از * استفاده کنید.
جهت دادن آدرس IP به صورت دستی میتوانید آن را در فیلد آخر وارد کنید.
در صورتی که میخواهید کاربران VPN با شبکه داخلی سرور در ارتباط باشند گزینه proxyarp در فایل options.pptpd فعال کنید
برای فعال کردن IP forwarding نیز میتوانید مقدار net.ipv4.ip_forward را در فایل etc/sysctl.conf/ برابر ۱ قرار دهید.
در پایان سرویس pptpd را start کنید و سرویس آن را جزو سرویس های پیش فرض خود قرار دهید.
service pptpd restart chkconfig pptpd on
نصب L2TP :
ابتدا xl2tpd را بر روی سیستم خود نصب کنید.
yum install xl2tpd
برای انجام تنظیمات کلی همانند تعریف کردن local ip و رنج آدرس ip برای کاربران از فایل etc/xl2tpd/xl2tpd.conf/ اسفاده کنید.
تمامی تنظیمات مربوط به تعریف داخلی و گرینه های مریوط به authentication و encryption همانند تنظیمات pptp میباشد.
نصب OpenVPN :
ابتدا سورس openvpn را دریافت کرده و آن را در مسیر /usr/src/ قرار دهید و سپس دستورات زیر را به ترتیب اجرا کنید.
./configure --prefix=/usr make make install
سپس یک دایرکتوری ساخته و فایل های زیر را در آن کپی کنید.
mkdir /etc/openvpn cp -r easy-rsa /etc/openvpn cd /etc/openvpn/easy-rsa/2.0
در این مسیر فایل vars را مطابق با مشخصات خودتان تغییر دهید. (نمونه ای از مشخصات به شرح زیر آورده شده است).
export PKCS11_PIN=1234 export KEY_EMAIL="support@senatelecom.ir" export KEY_ORG="SENA" export KEY_CITY="Tehran" export KEY_PROVINCE="TE" export KEY_COUNTRY="IR" export KEY_SIZE=1024 export KEY_DIR="$EASY_RSA/keys" export KEY_CONFIG=`$EASY_RSA/whichopensslcnf $EASY_RSA` export GREP="grep" export OPENSSL="openssl" export EASY_RSA="`pwd`"
دستور زیر را اجرا کنید تا متغیر های بالا ثبت شوند.
. vars
برای ساخت کلید های مناسب برای سرور و کلاینت دستورات زیر را به ترتیب اجرا کنید.
./clean-all ./build-ca ./build-dh ./build-key-server server ./build-key client
حال کار ایجاد فایل ها تمام شده است و تمامی آنها در زیر دایرکتوری keys قابل دسترس می باشند.
در مسیر /etc/openvpn/ فایل server.conf را ایجاد کرده و محتویات زیر را در آن ذخیره کنید.
dev tun proto udp port 1194 dh dh1024.pem key server.key # This file should be kept secret cert server.crt ca ca.crt verb 3 persist-tun persist-key comp-lzo keepalive 10 120 server 10.8.0.0 255.255.255.0
در بخش port بایستی port مناسب برای ارتباط بین سرور و کلاینت ها را معرفی نمایید. (مقدار پیش فرض برابر ۱۱۹۴ است). در بخش server آدرس شبکه و Subnet سرور Openvpn قرار دهید.
فایل client.conf را نیز همانند شکل زیر ایجاد کنید.
نکته مهم : در قسمت remote آدرس IP سرور openvpn را وارد کنید و بعد از یک فاصله شماره پورتی را که ارتباط با سرور از طریق آن برقرار می شود (و در فایل server.conf تعریف شده است) را وارد نمایید.
client dev tun proto udp remote 192.168.1.230 1194 resolv-retry infinite nobind persist-key persist-tun ca ca.crt cert client.crt key client.key comp-lzo verb 3
برای راه اندازی openvpn در mode سرور بر روی سرورهای linux دستور زیر را اجرا کنید.
openvpn --config server.conf
پایان