1 - تعریف OpenVPN

VPN کوتاه شده Virtual Private Network می‌باشد که برای اهداف گوناگونی مورد استفاده قرار می‌گیرد. ما برای برقراری ارتباط در شبکه از آن استفاده می‌کنیم. روشی برای پیوند زدن بین چند کاربر از طریق ایجاد تانل در اینترنت است، همان‌گونه که می‌دانید تانل معمولاً برای محرمانگی اطلاعات رمزنگاری می‌شود. ابزار و روش‌های بسیاری برای ایجاد VPN وجود دارد که OpenVPN یکی از این راه کارهای مناسب برای راه‌اندازی و نگهداری براساس SSL/TLS می‌باشد. از آن‌جایی که Open Source می‌باشد، مرتب در حال به روزرسانی است با این کار مشکلات و باگ‌های احتمالی آن برطرف خواهد شد. OpenVpn امکان استفاده از دو پروتکل UDP و TCP را در اختیار کاربر قرار می‌دهد تا طبق نیاز خود از آن استفاده کنید (TCP امنیت بالاتر و UDP سرعت بالاتری در اختیار شما قرار می‌دهد).


برخی از مزایای استفاده از تکنولوژی OpenVPN عبارتند از:

  • سرعت بالا
  • بی‌معنی ساختن مسافت
  • کلاینت برای پلتفرم‌های مختلف 
  • افزایش امنیت (جلوگیری از شنود)
  • عدم استفاده از پروتکل‌های متعدد
  • امکان استفاده بر روی انواع سیستم عامل‌ها با کمک Agentهایی که دارد
  • OpenVPN محدود به یک پورت خاص نمی‌باشد و همین موضوع باعث می‌شود که به راحتی بتوانید ترافیک OpenVPN را از ترافیک‌های سایر پورت‌ها متمایز کنید و یا این که شنود اطلاعات را بسیار سخت و چه بسا غیر ممکن کنید.


همان‌گونه که در بالا به نقاط قوت OpenVPN پرداخته شد، لازم به ذکر است که از نقاط ضعف این تکنولوژی نیاز به نصب یک نرم‌افزار در سمت کاربر می‌باشد. سرور نیز دارای config تقریباً پیچیده‌ای می‌باشد اما در این مقاله با روشی آشنا خواهید شد که به راحتی می‌توانید در عرض چند دقیقه OpenVPN را نصب کنید.


2 - نصب OpenVPN:

- اتصال به کنسول لینوکس: در ابتدا لازم به ذکر است که راه و روش‌های مختلفی برای وصل شدن به سرور Linux وجود دارد. ما در این‌جا از برنامه‌ای که از چندین پروتکل SSH ،SCP ،Telnet و … پشتیبانی می‌کند کمک خواهیم گرفت تا از طریق پروتکل ssh به کنسول متصل شویم.


ابتدا از طریق putty وارد کنسول ایزابل شوید: فقط کافی است IP سرور Issabel را به همراه پورت ssh که 22 است وارد کنید و سپس با انتخاب open وارد کنسول شوید.

 در مرحله بعد باید کاربر و پسورد root را وارد نمایید:

حالا در محیط putty  و در قسمت root، ایزابل کامند زیر را وارد کنید:

yum install issabel-easyvpn –nogpgcheck

در ادامه سوالی از شما پرسیده می‌شود که y (yes) را انتخاب کنید:

- تنظیمات OpenVPN از طریق محیط وب Issabel: حال نوبت این است که IP سرور Issabel خود را در محیط وب وارد کنید و وارد وب Issabel شوید. همان طور که در تصویر زیر مشاهده می‌کنید، تا الان ما یکی از ماژول‌های ایزابل OpenVPN (Easy vpn) را نصب کردیم که از قسمت Addons می‌توانیم مشاهده کنیم.

حال وارد قسمت Security شوید و OpenVPN را انتخاب کنید:

 حال در ادامه به کانفیگ OpenVPN می‌پردازیم:

Country Name: نام کشور خود را در دو حرف وارد کنید.

State or Province: وارد کردن ایالت یا استان در دو حروف وارد شود.

Locality: محل سکونت

Organization Name: نام سازمان خود را وارد کنید.

Organization Unit Name: نام واحد سازمان خود را وارد کنید.

Common Name: یک اسم تعیین کنید (نام سرور Issabel)

Name: نام هاست سرور خود را وارد کنید.

Email: ایمیل خود را وارد کنید.

بعد از پر کردن گزینه‌ها گزینه creat vars file را انتخاب کنید تا Vars Exist پر شود و گزینه yes نمایان شود. سپس گزینه next را انتخاب کنید:   

در این‌جا شما می‌توانید کلیه کلیدها، گواهینامه‌ها و فایل‌های پیکربندی قبلی ایجاد شده را حذف کنید. آگاه باشید که با فشار دادن clean all تمام کلیدها، گواهینامه‌ها و فایل‌های تنظیمات سیستم شما حذف خواهد شد. اگر این اولین بار است که کلید ایجاد می‌کنید، می‌توانید دکمه را فشار دهید.


  • نکته: اگر در مسیر انجام مراحل پیش رو، Server keys exists فعال نشد به این مرحله برگردید و دکمه clean all را انتخاب کنید.


دوباره Next را انتخاب کنید و Creat CA را انتخاب کنید تا گواهی یا همان Certificate را تأیید کند تا اجازه عبور از این مرحله را داشته باشید. مجدد Next انتخاب کنید:

 در این‌جا شما می‌توانید server. Key ،server.crt و dh1024.pem ایجاد کنید.


dh1024.pem: به زبان ساده Diffie-Hellman یک پروتکل انتقال کلید است. عملکردش به این‌گونه است که به دو دستگاه کلیدهای خود را روی یک شبکه غیرمطمئن ارسال می‌کنند.

در مرحله بعد شما فیلدهای خالی باید با اطلاعات مناسب پر کنید:


IP or HOST: باید IP یا هاستی را که قرار کلاینت‌های OpenVPN به آن وصل شود را وارد کنید. با فشاردن دکمه IP public ،IP شما به نمایش در خواهد آمد.

Listening Port: پیش‌فرض پورت 1194 است اما شما حتماً تغییر بدهید تا از روی پورت دیفالت مورد حمله (Attack)  قرار نگیرید.

Protocol: دو نوع پروتکل وجود دارد: udp و tcp که هر کدام را شما می‌توانید انتخاب کنید و ما udp را انتخاب می‌کنیم.

Dev: دو حالت دارد: TUN و TAP  


OpenVPN نرم‌افزاری است که برای ایجاد شبکه‌های خصوصی مجازی استفاده می‌شود. راه‌اندازی آن شامل ایجاد رابط‌های شبکه خصوصی روی سرور VPN و کلاینت‌های آن است؛ هر دو رابط TUN برای تونل‌های سطح IP و TAP برای تونل‌های سطح اترنت پشتیبانی می‌شوند. در عمل، رابط‌های TUN اغلب مورد استفاده قرار می‌گیرند زمانی که کلاینت‌های VPN قرار باشد درون شبکه محلی سرور با استفاده از پل اترنت تنظیم گردند.

 

Server Network: در این قسمت شما IP خارج از رنج شبکه انتخاب کنید مثلاً اگر IP شما 192.168.2.1 است شما از رنج دیگر مثل 192.168.80.1 استفاده کنید. این IP  ،IP سرور openvpn شما می‌باشد.

Server Mask :255.255.255.0

Keep Alive: هر ‘n’ ثانیه پینگ صورت می‌گیرد.

Timeout: زمان مورد انتظار

 

دکمه create server configuration را بزنید و در آخر Next:

  

حالا OpenVPN ما بر روی Issabel فعال شد حال شما می‌توانید از تب create client certificates کلاینت ایجاد کنید.

همان‌طور که در شکل بالا مشاهده می‌شود با توجه به نیازی که دارید می‌توانید کلاینت مورد نظرتون رو درست کنید به طور مثال اگر IP Phone شما از ویژگی OpenVPN برخوردار است (به طور مثال گوشی IP Phone گرنداستریم GXP1628). گزینه اول Linux کلاینت (Linux client) را انتخاب کنید تا فایل‌های مورد نیاز شما که باید در IP Phone بارگذاری کنید، به وجود بیاید.



منبع: VOIPIRAN