راه اندازی سرور openvpn روی لینوکس دبین

 گام پنجم- پیکربندی و ساخت صدور گواهی

OpenVPN از گواهینامه هایی برای رمزنگاری ترافیک استفاده می کند.
در این بخش،ما صدور گواهینامه خودمان (CA) را در دو مرحله ۱- نصب متغیرها و ۲- ایجاد CA راه اندازی خواهیم کرد.
OpenVPN از احراز هویت دو طرفه مبتنی بر گواهینامه ها پشتیبانی می کند،به این معنی که کلاینت باید گواهینامه سرور را تصدیق کند و سرور باید گواهینامه کلاینت را تصدیق کند ، قبل از اینکه اعتماد متقابل ایجاد شود .ما از اسکریپت Easy RSA برای انجام این کار استفاده خواهیم کرد.
در ابتدا از اسکریپت تولید Easy-RSAکپی کنید.

سپس یک دایرکتوری ایجاد کنید تا کلید را در آن جا دهید.

سپس ما پارامترهایی را برای گواهینامه هایمان تنظیم خواهیم کرد.فایل متغیرها را با استفاده از nano و یا ویرایشگر متن دلخواه خود باز کنید.

متغیرهای زیر که داخل ” ” قرار دارند باید به متغیرهای دلخواه شما تغییر پیدا کنند.

در فایل vars مشابه همچنین این یک خط نشان داده شده در زیر را ویرایش کنید.برای سادگی ، ما از server به عنوان نام کلید استفاده خواهیم کرد.اگر می خواهید از نام متفاوتی استفاده کنید،شما همچنین نیاز خواهید داشت فایل های پیکربندی OpenVPN را که به server.key و server.crt ارجاع می دهند، آپدیت کنید.

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

ذخیره کرده و خارج شوید.

سپس ،ما مقادیر Diffie-Helmanرا با استفاده از ابزار OpenSSL توکار که dhparam نامیده می شود ایجاد خواهیم کرد.این ممکن است چندین دقیقه طول بکشد.
پرچم –out مشخص می کند که مقادیر جدید در کجا ذخیره می شوند.

گواهینامه ما حالا ایجاد شده است و زمان ایجاد کلید است.

در ابتدا، ما به دایرکتوری easy-rsa سوئیچ خواهیم کرد.

حالا ما می توانیم راه اندازی خود CAرا با مقدار دهی اولیه زیر ساخت کلید عمومی (PKI) آغاز کنیم.

به dot (.) وspace در مقابل دستور ./vars توجه کنید.آن بر دایرکتوری کاری جاری (منبع)دلالت می کند.

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

NOTE: If you run ./clean-all, I will be doing a rm -rf on /etc/openvpn/easy-rsa/keys.

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

سرانجام،ما CA را با استفاده از دستور OpenSSLخواهیم ساخت.این دستور شما را به سمت تایید متغیر “Distinguished Name” خواهد برد که قبلا فعال شده است. ENTERرا برای قبول متغیر فعلی فشار دهید.

برای عبور از هر اعلان ENTER را فشار دهید از آنجا که مقادیر آنها را در فایل متغیرها تنظیم کرده اید.

صدور گواهی اکنون نصب شده است.

گام ششم -ایجاد یک گواهینامه و کلید برای سرور

در این بخش، از مسیر /etc/openvpn/easy-rsa کلید خود را با نام سرور بسازید.این قبلا به عنوان KEY_NAME در فایل پیکربندی شما مشخص شده است.پیش فرض برای این مقاله server می باشد.

دوباره،خروجی تایید نام مشخص شده را خواهد خواست ، ENTERرا برای قبول مقادیر پیش فرض معین فشار دهید.این بار،دو اعلان اضافی وجود خواهد داشت.

هر دو باید خالی باقی بمانند،بنابراین فقط ENTER را برای عبور از هر کدام فشار دهید.

دو سوال اضافی در پایان مستلزم جواب (y)هستند.

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

 

گام هفتم-گواهینامه های سرور و کلیدها را انتقال دهید

اکنون گواهینامه و کلید را به /etc/openvpn کپی کنید،از آنجا که OpenVPN در این دایرکتوری به دنبال CA، گواهینامه و کلید سرور خواهد گشت.

شما می توانید تایید کنید که کپی موفقیت آمیز بوده،با:

شما باید گواهینامه و فایل های کلید سرور را ببینید.

در این مرحله، سرور OpenVPNآماده است.آن را Start کنید و status را چک کنید:

دستور status خروجی زیر را برخواهد گرداند:

مهمتر از همه،از خروجی بالا،شما باید Active: active (exited) since… را به جای Active: inactive (dead) since…. پیدا کنید.

سرور OpenVPN شما اکنون قابل استفاده است،اگر پیام status شما بگوید که VPN در حال اجرا نیست در این صورت نگاهی به فایل /var/log/syslog بیندازید برای خطاهایی شبیه به :

آن خطاها نشان می دهند که server.key به /etc/openvpn به صورت صحیح کپی نشده است.فایل را دوباره کپی کرده و مجددا تلاش کنید.

گام هشتم-ایجاد گواهینامه ها و کلیدها برای کلاینت ها

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

ساخت کلید و گواهینامه

برای هر کلاینت در اتصال به VPN مطلوب است که کلید و گواهینامه مخصوص به خود را داشته باشد.این بهتر از این است که یک گواهینامه و کلید عمومی برای استفاده تمام کامپیوترهای کلاینت ایجاد کنید.
نکته:به صورت پیش فرض،OpenVPN به اتصالات هم زمان به سرور توسط کلاینت هایی که از گواهینامه و کلید یکسان استفاده می کنند، اجازه نمی دهد.( duplicate-cnرا در /etc/openvpn/server.conf ببینید.)
برای ایجاد احراز هویت جداگانه برای هر کامپیوتر که قصد اتصال آن به VPN را دارید،شما باید این مرحله را برای هر کامپیوتر تکمیل کنید،اما نام client1 را در زیر به چیز متفاوت مثل client2 و iphone2 تغییر دهید .با اعتبار جداگانه برای هر کامپیوتر،آنها می توانند در سرور بعدا اگر احتیاج باشد به صورت جداگانه غیرفعال شوند.مثال های باقی مانده در این مقاله از client1 به عنوان نام کامپیوتر مثال ما استفاده خواهند کرد.
همانطور که برای کلید سرور انجام دادیم، یکی برای مثال client1 می سازیم.شما هنوز باید توسط /etc/openvpn/easy-rsa کار بکنید.

دوباره از شما خواسته خواهد شد متغیرهای نام مشخص شده را تغییر یا تایید کنید.و این دو مورد باید خالی گذاشته شد و توسط فشار دادن کلید ENTE مقادیر پیش فرض را قبول کنید.

مثل قبل،این دو تایید در پایان عملیات ساخت ،مستلزم جواب (y) می باشند.

شما سپس خروجی زیر را دریافت خواهید کرد، که نشان دهنده ساخت موفقیت آمیز کلید است.

سپس،کلید ایجاد شده را به دایرکتوری Easy-RSA keysکه قبلا ایجاد کرده ایم کپی خواهیم کرد.توجه داشته باشید که ما .conf را به .ovpn تغییر دادیم.این برای مطابقت با قرارداد است.

شما می توانید این بخش را برای هر کامپیوتر تکرار کنید با جاگذاری client1 با نام کلاینت مناسب.

نکته: توجه داشته باشید که نام client.ovpn تکراری ، نیازی نیست که ربطی به کامپیوتر کلاینت داشته باشد.نرم افزار OpenVPNسمت کلاینت ، از نام فایل به عنوان مشخص کننده برای اتصال VPN استفاده خواهد کرد.در عوض،شما باید client.ovpn را تکرار کنید به هر چیزی که می خواهید نام VPN در سیستم عامل شما باشد.برای مثال : work.ovpn به عنوان work, school.ovpn ، school و غیره مشخص خواهد شد.

ما نیاز داریم که هر فایل کلاینت را اصلاح کنیم تا شامل آدرس آی پی سرور OpenVPN باشد تا آن بداند که به چه باید متصل شود. client.ovpn را با استفاده از nano یا ویرایشگر متن دلخواه خود باز کنید.

در ابتدا،خطی را که با remote شروع می شود ویرایش کنید. my-server-1را به your_server_ip تغییر دهید.

سپس،ناحیه ای را که در زیر نشان داده شده را پیدا کنید وuser nobody و group nogroup را از حالت کامنت خارج کنید،همانطور که ما در server.conf در گام ۱ انجام دادیم.توجه : این برای ویندوزها به کار برده نمی شود، بنابراین می توانید از آن رد شوید.وقتی انجام شد باید شبیه زیر باشد:

انتقال گواهینامه ها و کلیدها به کامپیوترهای کلاینت

از مراحل بالا به یاد بیاورید که ما گواهینامه ها و کلیدهای کلاینت را ایجاد کردیم،و اینکه آنها در سرور OpenVPN در دایرکتوری /etc/openvpn/easy-rsa/keys ذخیره شده اند.
برای هر کلاینت، ما باید گواهینامه،کلید و فایل های قالب پروفایل کلاینت را به یک پوشه در کامپیوتر محلی مان یا کامپیوتر کلاینت دیگر انتقال دهیم.
در این مثال، کامپیوتر client1 ما به کلید و گواهینامه خودش احتیاج دارد.که در سرور در اینجا قرار دارد:

فایل های ca.crt و client.ovpn برای همه کلاینت ها مشابه هستند.این دو فایل را هم دانلود کنید.توجه داشته باشید که فایل ca.crt در دایرکتوری متفاوتی از بقیه قرار دارد.

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

در اینجا یک دستور SCP مثال آورده شده که از مثال client1 ما استفاده می کند.آن ، فایل client1.key را داخل دایرکتوری Downloads بر روی کامپیوتر محلی قرار می دهد.

در این جا چندین ابزار و مقاله برای انتقال امن فایل ها از سرور به یک کامپیوتر محلی آورده شده است:

در پایان این بخش،اطمینان حاصل کنید که این چهار فایل را در کامپیوتر محلی خود دارید:

گام نهم-ایجاد یک پروفایل OpenVPN متحد برای کامپیوترهای کلاینت

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

ناحیه ای که در زیر مشخص شده است سه خط نشان داده شده باید به حالت کامنت دربیایند، سپس ما می توانیم گواهینامه و کلید را مستفیم در فایل client.ovpn وارد کنیم.وقتی که انجام شد باید شبیه زیر باشد:

تغییرات را ذخیره کرده و خارج شوید.ما گواهینامه ها را توسط کد اضافه خواهیم کرد.

در ابتدا صدور گواهی را اضافه کنید.

سپس گواهینامه را اضافه کنید.

در آخر کلید را اضافه کنید.

ما می دانیم که یک مشخصات کلاینت واحد داریم.با استفاده از scp،شما می توانید فایل client.ovpn را به سیستم دوم خودتان کپی کنید.

گام دهم- نصب مشخصات کلاینت

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

نتیجه گیری

تبریک! شما اکنون یک سرور OpenVPN در حال کار و فایل کلاینت دارید.
از کلاینت OpenVPN خودتان، می توانید اتصال را با استفاده از گوگل که آی پی عمومی شما را می گوید تست کنید.بر روی کلاینت، آن را لود کنید یکبارقبل و یکبار بعد از اینکه اتصال OpenVPN را آغاز کنید.آدرس آی پی باید تغییر کند.

 

منبع

برگردان:آرزو رنجبرپور

راه اندازی سرور openvpnروی لینوکس(بخش اول)

لینک کوتاه مقاله :