در این مقاله نصب و راه اندازی (Openvpn(server, client بر روی MyPBX نشان داده شده است.
در این مقاله فرض میشود شخص آشنایی نسبی با لینوکس و دستورات آن را دارد.
1- نصب Openvpn
2- تنظیم MyPBX به عنوان vpn client
3- تنظیم MyPBX به عنوان vpn server
ابتدا سورس Openvpn را دریافت کرده و آن را در مسیر /usr/src/ قرار دهید و سپس دستورات زیر را به ترتیب اجرا کنید.
برای دریافت openvpn ورژن 2.2.1 میتوانید آن را از اینجا دانلود کنید: دانلود openvpn
$ ./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=" این آدرس ایمیل توسط spambots حفاظت می شود. برای دیدن شما نیاز به جاوا اسکریپت دارید"
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 MyPBX
حال کار ایجاد فایلها تمام شده است و تمامی آنها در زیر دایرکتوری 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 مناسب برای ارتباط بین سرور و کلاینت ها را معرفی نمایید. (مقدار پیش فرض برابر 1194 است) در بخش server شماره IP و Subnet کامپیوتر یا دستگاه MyPBX ای را که میخواهید بعنوان سرور 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 MyPBX.crt
key MyPBX.key
comp-lzo
verb 3
برای راه اندازی openvpn در mode سرور بر روی سرورهای linux دستور زیر را اجرا کنید.
# openvpn --config server.conf
حال فایلهای {MyPBX.crt, MyPBX.key, dh1024.pem, ca.crt, client.conf } را که در مرحله قبل آماده کردهاید باید به صورت tar فایل در آورده و در MyPBX آن را import کنید.
# tar -cvf vpn.tar client.conf MyPBX.crt MyPBX.key dh1024.pem ca.crt
آدرس MyPBX را در browser وارد کرده و به قسمت VPN Settings رفته و فایل ساخته شده را در آن import کنید و بعد سیستم را ریستارت کنید.
همان طور که در شکل زیر مشاهده میشود MyPBX به محض بالا آمدن به سرور vpn میزند
برای تست کردن برقراری ارتباط بین Client و server نیز IP گرفته شده توسط MyPBX را از روی سرور ping کنید
برای تعریف MyPBX به عنوان vpn server نیز مراحل گفته شده در بخش یک را اجرا کرده و فایلهای
{server.crt, server.key, ca.crt, dh1024.pem, server.conf } را به صورت یک tar فایل در آورده و در دستگاه MyPBX مطابق شکل زیر import کنید.
نکته مهم: در بخش server.conf بایستی اطلاعات مربوط به MyPBX ای که میخواهید بعنوان سرور OpenVPN قرار بگیرد را وارد نمایید.
# tar -cvf server.crt server.key ca.crt dh1024.pem server.conf
آدرس MyPBX را در browser وارد کرده و به قسمت VPN Settings رفته و فایل ساخته شده را در آن import کنید و بعد سیستم را ریستارت کنید.
برای تنظیم هر client در دستگاههای MyPBX بایستی اقدامات زیر جداگانه انجام شود:
1- در خط فرمان لینوکس فایل key مربوط به هر Client بصورت زیر ایجاد شود:
./build-key MyPBX_C1
2- فایل client.conf را در ازای هر یک از client ها بازنویسی کنید:
نکته مهم: در بخش Remote اطلاعات IP هر یک از MyPBX ها را وارد کنید. نام فایلها در بخش cert و key باید متناسب با نام انتخاب شده در دستور بالا باشد.
client
dev tun
proto udp
remote 192.168.1.230 1194
resolv-retry infinite
nobind
persist-key
persist-tun
ca ca.crt
cert MyPBX_C1.crt
key MyPBX_C1.key
comp-lzo
verb 3
3- حال فایلهای {MyPBX_C1.crt, MyPBX_C1.key, dh1024.pem, ca.crt, client.conf } را که در مرحله قبل آماده کردهاید باید به صورت tar فایل در آورده و در دستگاه MyPBX مورد نظر خود آن را import کنید.
# tar -cvf vpn.tar client.conf MyPBX_C1.crt MyPBX_C1.key dh1024.pem ca.crt
4- همین عملیات را برای سایر Client ها تکرار کنید.