در این مقاله نصب و راه اندازی (Openvpn(server, client بر روی MyPBX نشان داده شده است. در این مقاله فرض می شود شخص آشنایی نسبی با لینوکس و دستورات آن را دارد.
1- نصب Openvpn
2- تنظیم MyPBX به عنوان vpn client
3- تنظیم MyPBX به عنوان vpn server
ابتدا سورس Openvpn را دریافت کرده و آن را در مسیر /usr/src/ قرار دهید و سپس دستورات زیر را به ترتیب اجرا کنید.
برای دریافت openvpn ورژن 2.2.1 می توانید آن را از اینجا دانلود کنید :
سپس یک دایرکتوری ساخته و فایل های زیر را در آن کپی کنید.
در این مسیر فایل vars را مطابق با مشخصات خودتان تغییر دهید. (نمونه ای از مشخصات به شرح زیر آورده شده است).
دستور زیر را در کنسول خود اجرا کنید تا تغییرات اعمال شوند. برای ساخت کلیدهای مناسب برای سرور و کلاینت دستورات زیر را همانند شکل به ترتیب وارد کنید.
حال کار ایجاد فایل ها تمام شده است و تمامی آنها در زیر دایرکتوری keys قابل دسترسی می باشند.
در مسیر /etc/openvpn/ فایل server.conf را ایجاد کرده و محتویات زیر را در آن ذخیره کنید.
در بخش port بایستی port مناسب برای ارتباط بین سرور و کلاینت ها را معرفی نمایید. (مقدار پیش فرض برابر 1194 است) در بخش server شماره IP و Subnet کامپیوتر یا دستگاه MyPBX ای را که می خواهید بعنوان سرور Openvpn قرار دهید، وارد نمایید.
فایل client.conf را نیز همانند شکل زیر ایجاد کنید.
نکته مهم: در قسمت remote آدرس IP سرور openvpn را وارد کنید و بعد از یک فاصله شماره پورتی را که ارتباط با سرور از طریق آن برقرار می شود (و در فایل server.conf تعریف شده است) را وارد نمایید.
برای راه اندازی openvpn در mode سرور بر روی سرورهای linux دستور زیر را اجرا کنید.
حال فایل های {MyPBX.crt, MyPBX.key, dh1024.pem, ca.crt, client.conf } را که در مرحله قبل آماده کرده اید باید به صورت tar فایل در آورده و در MyPBX آن را import کنید.
آدرس MyPBX را در browser وارد کرده و به قسمت VPN Settings رفته و فایل ساخته شده را در آن import کنید و بعد سیستم را ریستارت کنید.
همان طور که در شکل زیر مشاهده می شود MyPBX به محض بالا آمدن به سرور vpn می زند.
برای تست کردن برقراری ارتباط بین Client و server نیز IP گرفته شده توسط MyPBX را از روی سرور ping کنید.
برای تعریف MyPBX به عنوان vpn server نیز مراحل گفته شده در بخش یک را اجرا کرده و فایل های :
نکته مهم: در بخش server.conf بایستی اطلاعات مربوط به MyPBX ای که می خواهید بعنوان سرور OpenVPN قرار بگیرد را وارد نمایید.
آدرس MyPBX را در browser وارد کرده و به قسمت VPN Settings رفته و فایل ساخته شده را در آن import کنید و بعد سیستم را ریستارت کنید.
برای تنظیم هر client در دستگاه های MyPBX بایستی اقدامات زیر جداگانه انجام شود :
1- در خط فرمان لینوکس فایل key مربوط به هر Client بصورت زیر ایجاد شود :
2- فایل client.conf را در ازای هر یک از client ها بازنویسی کنید :
نکته مهم: در بخش Remote اطلاعات IP هر یک از MyPBX ها را وارد کنید. نام فایل ها در بخش cert و key باید متناسب با نام انتخاب شده در دستور بالا باشد.
3- حال فایل های {MyPBX_C1.crt, MyPBX_C1.key, dh1024.pem, ca.crt, client.conf } را که در مرحله قبل آماده کرده اید باید به صورت tar فایل در آورده و در دستگاه MyPBX مورد نظر خود آن را import کنید.
4- همین عملیات را برای سایر Client ها تکرار کنید.
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