نصب و تنظیم OpenVPN بر روی سرور های دبیان و ابونتو

نصب و تنظیم OpenVPN بر روی سرور های دبیان و ابونتوReviewed by معین ایرانشاهی on Sep 24Rating: 4.5نصب و تنظیم OpenVPN بر روی سرور های لینوکس دبیان و ابونتوOpenvpn سرویس VPN ای است که برای ایجاد مسیر اتباط امن و رمزنگاری شده VPN از پروتکل های رمز نگاری SSL/TLS استفاده میکند تا از دزدی اطلاعات ارسالی و دریافتی شما در مسیری که تا رسیدن به سرور مورد نظر دارد جلوگیری نماید . OpenVPN قادر است به سادگی از انواع فایروال عبور کند . همچنین در صورت نیاز این امکان وجود دارد که OpenVPN بر روی پورت 80 TCP و یا 443 TCP سرویس دهی کند که در این صورت امکان مسدود سازی آن عملا ممکن نیست . و کاربران سازمان بدون نگرانی از دزدی اطلاعات میتوانند از هرجایی در جهان به تبادل اطلاعات مهم ساززمانشان بپردازند .

Openvpn چیست ؟

Openvpn سرویس VPN ای است که برای ایجاد مسیر اتباط امن و رمزنگاری شده VPN از پروتکل های رمز نگاری SSL/TLS استفاده میکند تا از دزدی اطلاعات ارسالی و دریافتی شما در مسیری که تا رسیدن به سرور مورد نظر دارد جلوگیری نماید . OpenVPN قادر است به سادگی از انواع فایروال عبور کند . همچنین در صورت نیاز این امکان وجود دارد که OpenVPN بر روی پورت ۸۰ TCP و یا ۴۴۳ TCP سرویس دهی کند که در این صورت امکان مسدود سازی آن عملا ممکن نیست . و کاربران سازمان بدون نگرانی از دزدی اطلاعات میتوانند از هرجایی در جهان به تبادل اطلاعات مهم سازمانشان بپردازند .

این برنامه برای تشخیص هویت میتواند امکان استفاده از  pre-shared secret keys ، certificates و همچنین نام کاربری و رمز عبور را به استفاده کنندگان بدهد تا کارمندان یا کسانی که قصد اتصال به شبکه خصوصی خود را از این طریق دارند به این صورت احراز هویت شوند.

OpenVPN با استفاده از پروتکل OpenSSL ، امکان پیاده سازی قابلیت های امنیتی و کنترولی بسیاری را در اختیار مصرف کنندگان قرار میدهد، مانند challenge response authentication ، ورود با دریافت امضا ، ایجاد load balancing و امکان failover را فراهم میسازد.

 

برای چه از OpenVPN استفاده میکنیم ؟

زمانی که صحبت از رد و بدل امن اطلاعات است ، VPN همیشه در سر زبان ها است. اگر شما در شرکت یا سازمانتان ،نیاز به رد و بدل اطلاعات مابین شعب خود هستید و یا اینکه از جایی دیگر نیاز به برقرای ارتباط و تبادل اطلاعات با دفاتر خود را دارید ، به منظور جلوگیری از امکان شنود اطلاعاتتان بهترین گزینه استفاده از یک تونل ارتباطی امن از نوع  VPN است که OpenVPN با دارا بودن امکانات مسیریابی و رمزنگاری فراوان ، بهترین گزینه برای ایجاد این ارتباط امن میباشد .

همچنین زمانی که در مکان های عمومی مانند رستوران و یا فرودگاه به اینترنت WiFi آن مکان متصل میشوید ، هیچ اطمینانی از عدم شنود اطلاعات شما وجود ندارد. پس بهتر است اطلاعات خود را از کانال دیگری مانند VPN رد و بدل نماییم .

 

سیستم مورد نیاز :

OpenVPN یک ابزار بسیار سبک است و با حداقل منابع سخت افزاری به خوبی اجرا میشود. یک سیستم با ۶۴ مگابایت رم و ۱گیگابایت فضای ذخیره سازی برای اجرای آن کافی میباشد. همچنین امکان نصب آن بر روی تمامی سیستم  عامل های معتبر امکان پذیر است .

 

نصب و تنظیم OpenVPN بر روی سرور های لینوکس  Debian و Ubuntu :

این آموزش کاملا از طریق ترمینال یا خط فرمان لینوکس انجام گرفته و به از ابزار های گرافیکی استفاده نمیشود. پس بهتر است سرور شما به صورت Minimal نصب شود تا از نصب بسته های اضافه و کاهش سرعت و کارایی سرورتان جلوگیری شود.
حال وارد محیط ترمینال سرور خود شوید و مراحل زیر را طی نمایید.

بهتر است در ابتدا دسترسی root از سیستم بگیرید تا در تمامی مراحل مجبور به استفاده از sudo نباشید.

بعد از اجرا دستور زیر از شما کلمه عبور اکانت root را میپرسد ، بعذ از وارد کردن و فشردن Enter شما دیگر تمامی اختیارات را دارا میباشید.

نصب OpenVPN و ابزار مورد نیاز :

اولین و ساده ترین روش نصب استفاده از Package manager های اتوماتیک میباشد مانند apt-get (debian) و yum (CentOS) :

در ابتدا اقدام به نصب OpenVPN میکنیم و به همراه آن ویراشگر متن nano و ابزار chkconfig که در ادامه در باره ی آن توضیح خواهیم داد را نصب می نماییم:

اگر در این روش موفق به نصب OpenVPN نشدید میتوانید آخرین نسخه بسته ی نصبی آن را از سایت مرجعش دریافت کنید و به سادگی نصب نمایید :

ابتدا وارد آدرس زیر شده و توضیع مورد نظر خود را انتخاب و لینک دانلود آن را بدست بیاورید :


Software Packages

سپس به صورت زیر آن را نصب می نماییم :

حالا مراحل نصب تمام شده و نوبت به کانفیگ میرسد .
ساخت کلید ها و گواهینامه ها :

همانطور که میدانید سیستم هایی که از SSL برای امن کردن ارتباط استفاده میکنند ، اطلاعات را توسط گواهینامه ها یا (Certificate) ها رمزنگاری میکنند. پس در ابتدا باید کلید ها و گواهی نامه ها را ایجا نماییم، بدین منظور مراحل زیر را طی نمایید :

همراه نصب OpenVPN نرم افزار کلید ساز easy-rsa نیز به طور خودکار نصب میشود. حال نیاز داریم که یه کپی از این کلید ساز ها را در محلی دلخواه کپی کرده و کلید ها و گواهی نامه های مورد نیازمان را ایجاد نماییم.

خوب حالا وارد مسیر  کلید ساز میشویم :

در بین این فایل ها یک فایل متنی وجود دارد که بسیاری از متغیر هایی که در ساخت گواهینامه و کلید ها  از آن ها استفاده میشود در این فایل قرار دارد. مانند مشخصات صاحب گواهینامه ای که قرار است صادر شود و حتی چند بیتی بودن رمزنگاری . شما میتوانید با دستور زیر این فایل را ویرایش و اطلاعات خود را وارد نمایید  :

همچنین در این فایل به دنبال خط زیر بگردید و آن را با مسیر فایل کانفیگ openssl که در همان پوشه قرار دارد جایگزین کنید:

حالا نوبت ساخت کلید ها و گواهینامه هاست . این دستورات را به صورت جداگانه پشت سر هم اجرا کنید :

بعد از اجرای آخرین دستور از شما ورودی میخواهد که میبایست همه موارد را با کلید Enter رد نمایید.

server نام دلخواهی است که فایل های کلید و گواهینامه سرور با آن نامگذاری میشود که به صورت پیفرض آن را server نام نهاده ایم.

ساخت گواهی نامه Diffie Hellman PEM :

ساخت کلید ها و گواهی نامه های متعلق به کلاینت :

در اینجا ساخت کلید ها و گواهینامه ها به ‍پایان رسید و فایل ایجاد شده را میتوان در پوشه keys مشاهده نمود.

تنها لازم است فایل های مربوط به سرور را در مسیر /etc/openvpn قرار میدهیم :

 

تنظیمات سمت سرور:

فایل حاوی تنظیمات را با دستور زیر  ایجاد کرده و در ویرایشگر قرار خواهیم گرفت :

مهمترین قسمت کار دایرکتیو هایی است که در این فایل قرار میگیرد و وجه تمایز انواع وی پی ان سرور ها در این قسمت است.

حال Directive های زیر را در آن کپی کنید و با کلید های Ctr+o تغییرات را ذخیره و با Ctr+x از آن خارج شوید:

* پورت پیشفرضی که توسط OpenVPN استفاده میشود ۱۱۹۴ است اما شما میتوانید آن را به هر پورتی که بخواهید تغییر دهید مانند پورت ۸۰ .

* در صورت تمایل میتوانید به جای udp از tcp استفاده نمایید که بسته ها به صورت گارانتی شده منتقل میگردد ،‌ اما در این صورت باید شاهد کاهش سرعت نیز باشید .

 

حالا برای اینکه در شبکه NAT انجام شود میبایست IP Forwarding  قعال شود.

فایل زیر را در ویرایشگر باز نمایید :

به دنبال خط زیر بگردید و علامت # اول آن را حذف نمایید :

برای اعمال تغییر دستور زیر را وارد نمایید :

Nat کردن :

برای اتصال کاربران متصل شده با OpenVPN به شبکه داخلی و حتی شبکه های خارجی متصل در دفتر ، باید دستورات زیر را اعمال نمایید (به غیر از مجازی ساز OpenVZ) :

اگر سرور شما به صورت مجازی میباشد و از مجازی ساز OpenVZ استفاده میکند دستوات Nat متفاوت است :

* به جای ServerIP آی پی سرور خود را وارد نمایید.

برای همیشگی شدن این تنظیمات لازم است برنامه iptables-persistent را نصب نمایید :

حالا میتوانید سرویس openvpn را Restart کنید تا تنظیمات سمت سرور به پایان برسد:

این دستور رو هم میزنید تا هر بار که سرور ریبوت شد ،سرویس OpenVPN اتوماتیک Start بشه:

 

تنظیمات سمت کلاینت (کاربر) :

یک فایل متنی با پسوند ovpn بسازید مانند office.ovpn و خطوط زیر را در آن ذخیره نمایید :

* توجه نمایید که تنظیمات در سرور و کلاینت بایستی هماهنگ باشند. یعنی اگر از پورتی غیر از ۱۱۹۴ استفاده میکنید یا اگر از tcp استفاده میکنید باید در فایل کانفیگ سمت کلاینت همانها ذکر شوند.

حالا از کلید ها و گواهی نامه هایی که قبلا ایجاد نمودید موارد زیر را در کنار این فایل قرار دهید :

البته این امکان نیز وجود دارد که کلید و گواهینامه های سمت کلاینت را در یک فایل به صورت Embedded جاسازی نمایید که در این صورت محتویات فایل ovpn  به صورت زیر میباشد:

حالا میتوانید بر روی هر سیستم عاملی و هرجایی که دسترسی به اینترنت دارید ، ارتباط خود را امن نمایید.

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

برای اتصال در اندروید برنامه OpenVPN Connect پیشنهاد میشود.

* توجه کنید که برای اتصال باید فایل کانفیگ را در داخل برنامه import کنید.

 

    پاسخگو
    arsam در جمعه ۰۵ آذر ۱۳۹۵ :

    ممنونم از زحمتتمن… فقط اگه بگید که با easy-rsa3 تنظیماتش به چه صورت میشه که دیگه عالی میشه… باز هم ممنون