جهش به محتوا
ورود کاربران
سرور مجازی و اختصاصی

مقاله از کانفیگ OpenVPN و اتصال به آن

هر زمان نیاز به کمک داشتید، در کنار شما هستیم . با ما تماس بگیرید ( 031-3626 0000 ) یا درخواست خود را به صورت آنلاین ثبت نمایید.

کانفیگ OpenVPN و اتصال به آن

در این مقاله قصد داریم با هم پروتکل ‌های VPN و کاربرد آن و کانفیگ OpenVPN آشنا شویم. علاوه بر این مزیّت‌ها و معایب رایج‌ترین پروتکل‌های VPN که شامل OpenVPN، WireGuard، IKEv2، PPTP و L2TP هستند را با یکدیگر مقایسه ‌کنیم.

قبل از از متصل شدن و استفاده کردن از VPN باید از امنیت آن مطمئن شویم. یکی از موارد امنیت VPN نوع پروتکل آن می‌باشد. هر چند ارزیابی جنبه‌های فنی امنیت VPN برای کاربران معمولی می‌تواند دشوار باشد. این مقاله می‌تواند به کاربرانی که در این زمینه قصد فعالیت دارند کمک کند.

پروتکل VPN چیست؟ 

VPN با برقرار نمودن یک تونل(Tunnel)، یک اتصال شبکه خصوصی بین دو دستگاه (سرور یا کامپیوتر) در اینترنت ایجاد می‌کند. پروتکل VPN به عنوان قرارداد تونل‌زنی هم شناخته می‌شود، مجموعه‌ای از دستورالعمل‌‌هایی است که دستگاه اول برای برقرای ارتباط امن (شبکه بین دستگاه اول و کامپیوترهای دیگر) از آن استفاده می‌کند.

پروتکل VPN معمولا از دو کانال ساخته می‌شود: کانال Data و کانال Control کانال کنترل مسئول تبادل کلید، احراز هویت (Authentication) و تبادل (Communication) پارامترهاست. کانال Data مسئول انتقال دیتای ترافیک اینترنت شماست. این دو کانال با همدیگر، یک تونل VPN  امن را ایجاد و حفظ می‌کنند. با اینحال دیتای ترافیک اینترنت شما برای عبور از این تونل باید کپسوله (encapsulation) شوند.

کپسوله‌سازی (encapsulation) زمانی اتفاق می‌افتد که پروتکل VPN بیت‌‌های data ترافیک اینترنت شما را درون packet دیگر قرار می‌دهد. این لایه اضافی از آنجایی ضروری است که پروتکل تنظیماتی که VPN شما درون کانال داده استفاده می‌کند الزاماً با پروتکل اینترنت عادی یکی نیست.

به طور اختصار زمانی که شما به سرور VPN وصل می‌شوید، VPN از طریق کانال کنترلی که دارد کلیدهای مشترک را ایجاد کرده و سپس یک ارتباط بین دستگاه شما و سرور برقرار می‌کند. هنگامی که اتصال برقرار شد کانال data شروع به انتقال ترافیک اینترنت دستگاه شما می‌کند. هنگامی که درباره مزیّت‌ها و معایب و یا بهتر بگوییم درباره موضوع امنیت VPN مطرح می‌شود، در واقع صحبت درباره کانال داده VPN است. هنگامی که اتصال برقرار بشود، کانال Control وظیفه حفظ ثبات ارتباط را دارد.

مقایسه انواع پروتکل‌های VPN با یکدیگر

PPTP یا قرارداد Tunneling نقطه ‌به ‌نقطه (Point to Point)

رمرگذاری یا Encryption پروتکل PPTP : پروتکل رمزگذاری نقطه به نقطه (Point to Point) مایکروسافت (MPPE)  که از الگوریتم RSA RC4 استفاده می‌کند برای رمزگذاری استفاده می‌کند. حداکثر توان MPPE کلیدهای ۱۲۸ بیتی است، یعنی Data‌ها را با کلید ۱۲۸ بیت رمزگذاری (Point to point) می‌کند.

سرعت:  به دلیل اینکه پروتکل رمزگذاری آن نیازی به سرعت و قدرت محاسباتی‌ زیادی ندارد، از سرعت خوبی برخوردار است.

Portهای Firewall : این پروتکل از پورت TCP 1723 و GRE استفاده می‌کند. استفاده PPTP از GRE به این معنی است که این پروتکل نمی‌تواند فایروال NAT را هدایت کند و به سرعت مسدود(Block) می‌شود.

پایداری (stability) : ثبات مناسبی ندارد.

در نتیجه اگر امنیت داده‌هایتان از اهمیت بالایی برخوردار است، از PPTP استفاده نکنید.

 

L2TP/IPSec  قرارداد Tunneling لایه ۲

رمرگذاری یا Encryption پروتکل L2TP: پروتکل L2TP از رمزنگاری 3DES یا AES استفاده می‌کند. هر چند DES سه‌گانه بلاک رمز ضعیفی(weak) است و به ندرت از آن استفاده می‌شود.

سرعت:  در مقایسه با OpenVPN، سرعت L2TP کمتر است.

Portهای Firewall: این پروتکل ازپورت UDP 500 برای مبادله کلید، از UDP 5500 برای NAT  traversal و از UDP 1701 برای ترافیک L2TP استفاده می‌کند. پروتکل L2TP/IPSec به دلیل اینکه از پورت‌های ثابتی استفاده می‌کند، ‌به راحتی Block می‌شود.

پایداری (stability): به دلیل پیچیدگی‌های این پروتکل، از پایداری خوبی برخوردار نیست.

در نتیجه مطمئنا از PPTP امن‌تر است اما از داده‌های شما در برابر هکرهای پیشرفته محافظت نمی‌کند. از آنجاییکه سرعت و پایداری خوبی هم ندارد تنها زمانی که گزینه‌های دیگر وجود نداشته باشند، برای استفاده مناسب است.

 

IKEv2/IPSec

رمرگذاری یا Encryption پروتکل IKEv2 : پروتکل IKEv2/IPSec  می‌تواند از الگوریتم‌های رمزنگاری مختلفی از جمله AES، Blowfish و Camellia استفاده کند. این پروتکل از رمزگذاری 256 بیت پشتیبانی می‌کند.

سرعت: سرعت این پروتکل نسبت به سایر گزینه‌ها خوب است.

Portهای Firewall: این پروتکل از پورت UDP 500 برای مبادله کلید، از پورت UDP 4500 برای NAT traversal استفاده می‌کند. به دلیل اینکه همیشه از این پورت‌ها استفاده می‌کند، به راحتی می‌تواند Block شود.

پایداری (stability): به دلیل پشتیبانی از پروتکل Mobility and Multihoming، نسبت به سایر پروتکل‌های VPN از پایداری خوبی برخوردار است.

در نتیجه با توجه به امنیت، سرعت و پایداری بالا و خوبی که دارد یکی از گزینه‌های خوب است.

OpenVPN

رمزگذاری : پروتکل OpenVPN می‌تواند از الگوریتم‌های رمزنگاری مختلف موجود در کتابخانه OpenSSL از جمله AES، Blowfish و RC5 استفاده کند. این پروتکل از رمزگذاری 256 بیت پشتیبانی می‌کند.

سرعت: هنگام استفاده از UDP، پروتکل OpenVPN سرعت خوبی دارد. امّا سرعت IKEv2/IPSec بالاتر است.

Portهای Firewall: این پروتکل می‌تواند از هر دو درگاه TCP و  UDP استفاده کند. برای مثال می‌تواند از درگاه TCP 443 که برای ترافیک https است نیز استفاده کند. بدین ترتیب مسدود کردن آن سخت می‌شود.

پایداری (stability): پروتکل OpenVPN بسیار پایدار است.

در نتیجه با توجه به امنیت و پایداری خوبی که دارد یکی از بهترین پروتکل‌ها برای افرادی است که امنیت داده‌هایشان از اهمیت بالایی برخوردار است. می‌توان تنها ایراد OpenVPN را سرعت آن در نظر گرفت زیرا همانطور که گفته شد IKEv2/IPSec سرعت بهتری دارد.

 

کانفیگ OpenVPN

جهت نصب و کانفیگ OpenVPN نیاز به یک سرور مجازی لینوکسی داریم. پیش‌تر در مورد اینکه سرور مجازی چیست و کانفیگ سرور لینوکسی و نحوه اتصال به آن صحبت کردیم اکنون قصد داریم مراحلی که می‌بایست نصب و کانفیگ OpenVPN انجام شود را با هم طی کنیم، در ابتدا می‌بایست سرور

در ابتدا به ssh سرور متصل می‌شویم و کامند زیر را اجرا می‌کنیم

wget https://git.io/vpn -O openvpn-install.sh && bash openvpn-install.sh

open vpn command

 

با نوشتن عدد 1، پروتکل UDP را برای استفاده VPN انتخاب کنید و Enter کنید

UDP Protocol

 

بطور پیش‌فرض پورت 1194 نصب می‌گردد، عدد 1194 را تایپ نموده و سپس Enter کنید

Port

 

در این قسمت از شما می‌خواهد یک DNS server برای VPN Server انتخاب کنید، شما بطور پیش‌فرض عدد 1 را برای Current System Resolvers انتخاب نمائید

DNS Server

 

در این مرحله Enter a name for the first client ، از شما می‌خواهد یک نام برای اولین Connection ای که برای VPN ساخته می‌شود، در نظر بگیرید، یک نام که مدنظرتان هست مثلا Client تایپ و سپس Enter کنید

 

در این مرحله نیز، Enter بزنید تا مراحل نصب آغاز گردد.

Press Enter

 

پس از اتمام مراحل نصب، مانند تصویر زیر دو پیغام ظاهر می‌گردد؛ پیغام اول به صورت

The client configuration is available in: /root/Connection name

به این معنی که Connection اولی که ایجاد کردید، در مسیر root/ سرور ایجاد شده است.

و پیغام دوم به صورت

New Clients can be adde by running this script again

به این معنی که اگر بخواهید Connectionهای دیگری ایجاد کنید، همین کامند را مجدداً اجرا نمائید

 

 

حال می‌خواهیم Connection دیگری در OpenVPN سرور ایجاد کنیم، مطابق با تصویر زیر مجدداً کامند زیر را اجرا می‌کنیم

wget https://git.io/vpn -O openvpn-install.sh && bash openvpn-install.sh

again

 

در مرحله‌ی Select an options عدد 1 را که معادل Add new Client است را تایپ نموده و Enter کنید

 add client

 

در این مرحله‌ برای Connection دوم یک نام در نظر بگیرید و تایپ و سپس Enter کنید

Connection name

 

با مشاهده این پیغام، Connection در مسیر root/ ایجاد شده است

 added

 

حال FTP سرور را باز می‌کنیم (در نظر داشته باشید گزینه‌ی FTP یا SFTP تنها در نرم افزارهای Bitvise و WinSCP قرار دارد، و مسیر root/ را مشاهده می‌کنیم

connections

 

 

اتصال به OpenVPN از طریق PC

جهت اتصال به OpenVPN Connection از روی کامپیوتر یا لپ تاپ، ابتدا از طریق این لینک، نرم افزار OpenVPN Connect را دانلود و روی سیستم‌تان نصب کنید، سپس آن را اجرا نمائید؛ (در نظر داشته باشید که می‌بایست ابتدا، دو Connectionای که در مرحله‌ی قبل ایجاد کرده بودید را روی سیستم‌تان دانلود کرده باشید)، و روی تب File کلیک کنید

OpenVPN Client

 

سپس فایل Ovpn را می‌توانید به دو صورت در نرم افزار OpenVPN Connect ایمپورت کنید، مثلاً مانند تصویر زیر بصورت drag & drop فایل را به درون نرم افزار بکشید و رها کنید

Drag & Drop

 

یا می‌توانید روی Brows کلیک بکنید، و فایل Ovpn را انتخاب و سپس Ok کنید

Select file

 

حال با پیغام Profile successfully imported مواجه می‌شوید، تیک گزینه‌ی Connect after import را بزنید و سپس روی Add کلیک کنید

import successfully

 

اکنون مشاهده می‌کنید که VPN در حال اتصال (Connecting) می‌باشد

Connecting

 

اکنون مشاهده می‌شود که VPN Connection متصل شده است و آی‌پی اینترنتی سیستم شما، همان آی‌پی سرور مجازی شماست

IP

 

اتصال به OpenVPN از طریق موبایل

در ابتدا، آن Connection ای که برای موبایل با نام Mobile-client.ovpn ایجاد کرده بودیم را دانلود کرده و در file manager موبایل منتقل می‌کنیم، سپس اپلیکیشن OpenVPN Connect اندروید و یا نسخه آیفون OpenVPN را دانلود و نصب نمائید و سپس آن را اجرا نمائید.

openvpn connect

 

سپس روی Files کلیک کنید و فولدری که فایل ovpn در آن قرار دارد را باز کنید

select file

 

و سپس فایل ovpn ساخته شده را انتخاب نمائید و روی دکمه‌ی Import بزنید

select ovpn file

 

حال با پیغام Profile successfully imported مواجه می‌شوید، تیک گزینه‌ی Connect after import را بزنید و سپس روی Add کلیک کنید

 

حال مشاهده می‌کنید که VPN متصل شده و آی‌پی اینترنتی دستگاه شما، آی‌پی سرور مجازی می‌باشد

 

این مقاله برای شما مفید بود؟
بلهخیر