1- نصب Openvpn
2- تنظیم MyPBX به عنوان vpn client
3- تنظیم MyPBX به عنوان vpn server
ابتدا سورس Openvpn را دریافت کرده و آن را در مسیر /usr/src/ قرار دهید و سپس دستورات زیر را به ترتیب اجرا کنید.
برای دریافت openvpn ورژن 2.2.1 می توانید آن را از اینجا دانلود کنید :
کد PHP:
$ ./configure --prefix=/usr
$ make
# make install
کد PHP:
# mkdir /etc/openvpn
# cp -r easy-rsa /etc/openvpn
# cd /etc/openvpn/easy-rsa/2.0
کد PHP:
export PKCS11_PIN=1234
export KEY_EMAIL=" support@linux-zone.org"
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`"
کد PHP:
. vars
./clean-all
./build-ca
./build-dh
./build-key-server server
./build-key MyPBX
در مسیر /etc/openvpn/ فایل server.conf را ایجاد کرده و محتویات زیر را در آن ذخیره کنید.
کد PHP:
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
فایل client.conf را نیز همانند شکل زیر ایجاد کنید.
نکته مهم: در قسمت remote آدرس IP سرور openvpn را وارد کنید و بعد از یک فاصله شماره پورتی را که ارتباط با سرور از طریق آن برقرار می شود (و در فایل server.conf تعریف شده است) را وارد نمایید.
کد PHP:
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
کد PHP:
# openvpn --config server.conf
حال فایل های {MyPBX.crt, MyPBX.key, dh1024.pem, ca.crt, client.conf } را که در مرحله قبل آماده کرده اید باید به صورت tar فایل در آورده و در MyPBX آن را import کنید.
کد PHP:
# tar -cvf vpn.tar client.conf MyPBX.crt MyPBX.key dh1024.pem ca.crt
همان طور که در شکل زیر مشاهده می شود 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 قرار بگیرد را وارد نمایید.
کد PHP:
# tar -cvf server.crt server.key ca.crt dh1024.pem server.conf
برای تنظیم هر client در دستگاه های MyPBX بایستی اقدامات زیر جداگانه انجام شود :
1- در خط فرمان لینوکس فایل key مربوط به هر Client بصورت زیر ایجاد شود :
کد PHP:
./build-key MyPBX_C1
نکته مهم: در بخش Remote اطلاعات IP هر یک از MyPBX ها را وارد کنید. نام فایل ها در بخش cert و key باید متناسب با نام انتخاب شده در دستور بالا باشد.
کد PHP:
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
کد PHP:
# tar -cvf vpn.tar client.conf MyPBX_C1.crt MyPBX_C1.key dh1024.pem ca.crt