منبع اصلی نوشتار زیر در این لینک قرار دارد

سرور اوپن وی پی ان بر روی دبیان

هر چند که امروزه استفاده از openVPN به عنوان روشی برای ایجاد ارتباط امن بین کلاینت و سرویس دهنده ها تقریباً منسوخ شده است اما در بعضی از مواقع می تواند امن ترین روش انتقال داده و اطلاعات باشد برای همین تصمیم گرفتیم در این نوشته کوتاه روش ایجاد یک سرور اوپن وی پی ان بر روی یک سرویس دهنده دبیان را بنویسیم ، این روش کاملاً تست شده است و قابلیت عبور از محدودیت های اینترنتی را نیز داراست

قبل از هر چیزی بسته های مورد نیاز  برای سرور openVPN را نصب می کنیم 
$ aptitude install openvpn
بعد از این که بسته ها نصب شد شروع به کانفیگ می کنیم 
$ cd /etc/openvpn
فایل کانفیگ را با دستور زیر ایجاد می کنیم 
$ touch openvpn.conf
فایل کانفیگ را با ویرایشگر خود باز کرده و خطوط زیر را در آن وارد می کنیم
port 1194
proto udp
dev tun
ca /etc/openvpn/easy-rsa/keys/ca.crt
cert /etc/openvpn/easy-rsa/keys/server.crt
key /etc/openvpn/easy-rsa/keys/server.key
dh /etc/openvpn/easy-rsa/keys/dh1024.pem
server 10.8.0.0 255.255.255.0
ifconfig-pool-persist ipp.txt
push \”redirect-gateway def1\”
push \”dhcp-option DNS 8.8.8.8\”
push \”dhcp-option DNS 8.8.4.4\”
user nobody
group nogroup
keepalive 10 120
comp-lzo
max-clients 50
persist-key
persist-tun
status openvpn-status.log
log-append /var/log/openvpn.log
verb 3
mute 20
client-cert-not-required
username-as-common-name
plugin /usr/lib/openvpn/openvpn-auth-pam.so openvpn
فایل را ذخیره کرده و کار را با ساختن کلیدهای ssl ادامه می دهیم با فرض این که هنوز در دایرکتوری etc/openvpn/ هستید دستور زیر را اجرا کنید 
$ cp -r /usr/share/doc/openvpn/examples/easy-rsa/2.0/ easy-rsa
$ cd easy-rsa
در صورت نیاز فایل vars را ویرایش کنید در غیر این صورت با ما همراه باشید 
$ source ./vars
$ ./clean-all
$ ./build-dh
$ ./pkitool –initca
$ ./pkitool –server server
ساختن کلیدها تمام شده است دستور فایروال زیر را نیز اجرا کنید 
$ iptables -t nat -A POSTROUTING -s 10.8.0.0/24 -o eth0 -j MASQUERADE
سرور اوپن وی پی ان ایجاد شده از سیستم احراز هویت pam استفاده خواهد کرد پس برای اتصال از طرف کلاینت فایل ca.crt در مسیر زیر را به کلاینت انتقال دهید 
/etc/openvpn/easy-rsa/keys/ca.crt
اما پس از انتقال فایل بالا به کلاینت یک فایل کانفیگ به نام client.ovpn ایجاد کرده و خطوط زیر را در آن وارد کنید 
client
dev tun
proto udp
remote vpn.your-domain.com 1194
resolv-retry infinite
nobind
persist-key
persist-tun
ca ca.crt
auth-user-pass
cipher BF-CBC
comp-lzo
verb 4
mute 20
برای اتصال از طریق لینوکس هر دو فایل بالا را به root/ منتقل کرده و با دسترسی روت دستورات زیر را اجرا کنید 
$ openvpn client.ovpn
$ route add default dev tun0
برای اتصال از طریق ویندوز هم می توانید کلاینت openVPN را از اینجا دانلود و نصب کنید بعد از نصب فایل های کانفیگ و ca.crt را به مسیر زیر انتقال دهید 
C:\\Program Files\\OpenVPN\\config
بعد از انتقال برنامه openVPN GUI را اجرا کرده و کانکت را بزنید و از اینترنت امن لذت ببرید

ادامه مطلب