پیکربندی openvpn در centos7
این مقاله در مورد پیکربندی openvpn در centos7 میباشد که به موارد زیر اشاره دارد.
open vpn چیست؟
open vpn مشهورترین پروتکل vpn است که در اکثر سایت ها و شرکت های بزرگ داخلی و خارجی مورد استفاده قرار میگیرد و گاها این پروتکل به تنهایی قابل اکتفا است که به چرا های این ضمینه خواهیم پرداخت.
به دلیل اینکه در کشور عزیزمان ایران فیلترینگ وجود دارد مانند سایر کشور های مختلف دنیا کاربران زیادی برای دور زدن آن از وی پی ان استفاده میکنند که صحیح یا غلط بودن آن به شخص استفاده کننده مربوط میشود.
ما در این مقاله قصد آموزش راه کار دور زدن فیلترینگ و… را آموزش نخواهیم داد .
نکته: این آموزش جنبه دور زدن فیلترینگ و … را ندارد و هدف از تولید این محتوا آشنایی با پروتکل openvpn و استفاده درست آن برای امنیت است. برفرض مثال دسترسی به اینترنت بانک شما محدود است به ۱ آیپی تعریف شده و شما در سفر یا در منزل در حال استراحت هستید و نیاز شدیدی دارید به پرداخت فاکتور یا امور مالی که با استفاده از این پروتکل به سادگی میتوانید آیپی خود را به آیپی مد نظری که تعریف و نصب کردید و مجوز استفاده از آن را دارید تغییر و به امور خود برسید.
open vpn
Openvpn برخلاف سایر پروتکلهای تونل سازی مبتنی بر IPSec ( مانند L2tp )، برای تأیید اعتبار و رمزنگاری اطلاعات، به SSL / TLS تکیه میکند.
این فناوری امنیتی استاندارد، برای ایجاد اتصالات ایمن و از راه دور از مکانی به مکان دیگر یا از نقطهای به نقطه دیگر است. استفاده ازSSL برای محافظت از معاملات مالی، انتقال دادهها، ایمیل و موارد دیگر بسیار معروف و شناخته شده است.
OpenVPN تقریبا با تمامی سیستمعاملهای اصلی مانند ویندوز، اندروید، IOS، مک و لینوکس سازگار است.
این VPN، استانداردهای قدرتمند رمزنگاری را ارائه میدهد و برای شکستن محدودیتهای جغرافیایی بسیار عالی عمل میکند.
Openvpn اوپن سورس (Open Source) است و از رمزگذاری حداکثر ۲۵۶ بیتی پشتیبانی میکند.
پیکربندی openvpn در centos7
یک شبکه خصوصی مجازی (VPN) به شما امکان می دهد شبکه های غیرقابل اعتماد را مثل اینکه در یک شبکه خصوصی هستید مرور کنید. این امکان را برای شما فراهم می کند که با اتصال ایمن و ایمن از تلفن هوشمند یا لپ تاپ خود هنگام اتصال به یک شبکه غیر قابل اعتماد ، مانند WiFi در هتل یا کافی شاپ ، به اینترنت و ایمن دسترسی داشته باشید.
در هنگام اتصال با اتصالات HTTPS ، این تنظیم به شما امکان می دهد ورود و معاملات بی سیم خود را ایمن کنید. و هرگونه ترافیک HTTP بدون رمزگذاری را از شبکه غیر قابل اعتماد محافظت کنید.
OpenVPN یک راه حل کامل VPN با منبع آزاد و امن با منبع آزاد (SSL) است که شامل طیف گسترده ای از تنظیمات است. در این آموزش OpenVPN را روی سرور CentOS 7 تنظیم می کنید و سپس پیکربندی می کنید تا از یک دستگاه مشتری قابل دسترسی باشد.
پیش نیاز ها
۱- سرور مجازی
۲-سیستم عامل centos7
۳- نرم افزار putty جهت اتصال به کنسول سرور یا نرم افزار های مشابه جهت اجرای دستورات
۴- در صورت نیاز یک دامنه با dns رکورد های اختصاصی برای آیپی مد نظر شما با یک A record از سایر دامنه ها که آیپی آن با آیپی سرور برابری داشته باشد.
۵- یک سیستم کلاینت که میتواند تلفن هوشمند یا یک کامپیوتر ساده جهت تست پروتکل
در صورتی که سرور مجازی ندارید میتوانید با نرم افزار های شبیه ساز سرور یا مجازی ساز های مختلف در سیستم خود این آموزش را دنبال کنید یا با خرید از فاما سرور سرور مجازی و سرور اختصاصی خود را تهیه کنید و در صورت نیاز بصورت رایگان اپلکیشن ها و… را با هماهنگی با پشتیبانی برای شما فعال کنید.
نصب OpenVPN
برای شروع ، OpenVPN را روی سرور نصب خواهیم کرد. همچنین Easy RSA را نصب خواهیم کرد ، یک ابزار مدیریت زیرساخت اصلی کلید که به ما کمک می کند تا مجوز داخلی داخلی (CA) را برای استفاده با VPN خود تنظیم کنیم. ما همچنین از Easy RSA برای ایجاد اتصالات VPN بعداً برای ایجاد جفت های کلیدی SSL استفاده خواهیم کرد.
به عنوان کاربر sudo غیر ریشه به سرور وارد شوید و لیست های بسته را به روز کنید تا مطمئن شوید که آخرین نسخه ها را دارید.
sudo yum update -y
مخازن اضافی برای انبار Enterprise Linux (EPEL) یک مخزن اضافی است که توسط پروژه فدورا حاوی بسته های غیر استاندارد اما محبوب است. OpenVPN در مخازن پیش فرض CentOS موجود نیست اما در EPEL موجود است ، بنابراین EPEL را نصب کنید:
sudo yum install epel-release -y
سپس لیست های بسته خود را یک بار دیگر به روز کنید:
sudo yum update -y
بعد ، OpenVPN و wget را نصب کنید ، که ما برای نصب Easy RSA استفاده خواهیم کرد:
sudo yum install -y openvpn wget
نکته: در صورتی که با ارور مواجه شدید احتمال میرود که دستور wget در سرور شما نصب نیست که میتوانید با دستور زیر wget را نصب کنید.
yum install wget -y
با استفاده از wget ، Easy RSA را بارگیری کنید. برای اهداف این آموزش ، توصیه می کنیم از easy-rsa-2 استفاده کنید زیرا مستندات بیشتری برای این نسخه موجود است. می توانید لینک بارگیری آخرین نسخه آسان-rsa-2 را در صفحه انتشار پروژه مشاهده کنید:
wget -O /tmp/easyrsa https://github.com/OpenVPN/easy-rsa-old/archive/2.3.3.tar.gz
بعد ، فایل فشرده شده را با تار استخراج کنید:
tar xfz /tmp/easyrsa
با این کار دایرکتوری جدیدی به نام easy-rsa-old-2.3.3 ایجاد می شود. یک زیرشاخه جدید زیر / etc / openvpn بسازید و نام آنرا ساده (rsa) دهید:
sudo mkdir /etc/openvpn/easy-rsa
پرونده های Easy RSA استخراج شده را در فهرست جدید کپی کنید:
sudo cp -rf easy-rsa-old-2.3.3/easy-rsa/2.0/* /etc/openvpn/easy-rsa
سپس مالک دایرکتوری را به کاربر sudo غیر root خود تغییر دهید:
sudo chown sammy /etc/openvpn/easy-rsa/
پس از نصب این برنامه ها و انتقال به مکان های مناسب در سیستم شما ، مرحله بعدی سفارشی سازی پیکربندی سمت سرور OpenVPN است.
پیکربندی OpenVPN
برای پیکربندی openvpn در centos7 مانند بسیاری دیگر از ابزارهای منبع باز گسترده ، ده ها گزینه پیکربندی در دسترس شما هستند. در این بخش دستورالعمل هایی در مورد نحوه تنظیم پیکربندی اولیه سرور OpenVPN ارائه خواهیم داد.
OpenVPN چندین پرونده پیکربندی نمونه را در فهرست اسناد خود دارد. ابتدا پرونده server.conf را به عنوان نقطه شروع برای فایل پیکربندی خود کپی کنید.
sudo cp /usr/share/doc/openvpn-2.4.4/sample/sample-config-files/server.conf /etc/openvpn
پرونده جدید را برای ویرایش با ویرایشگر متن مورد نظر خود باز کنید. در مثال خود از نانو استفاده خواهیم کرد که اگر در حال حاضر آن را در سرور خود ندارید می توانید با دستور yum install nano بارگیری کنید:
sudo nano /etc/openvpn/server.conf
نکته: اگر با خطا مواجه شدید احتمالا ویرایشگر nano در سرور نصب نیست که با دستور زیر میتوانید آن را نصب کنید و با با مراجعه به آموزش دستورات لینوکس دستور مد نظر خود را پیدا کنید.
برای نصب ویرایشگر nano از دستور زیر استفاده کنید.
yum install nano -y
چند سطر وجود دارد که ما باید در این پرونده تغییر دهیم ، که اکثر آنها فقط با برداشتن نقطه محکم ، باید بدون نظر باشند ، ؛ ؛ در ابتدای خط. کارکردهای این خطوط ، و سایر سطرهایی که در این آموزش ذکر نشده است ، در نظرات فوق هر یک به تفصیل توضیح داده شده است.
برای شروع کار ، خط حاوی “push "redirect-gateway def1 bypass-dhcp"
” را پیدا کرده و غیر فعال کنید. انجام این کار به مشتری شما می گوید که کلیه ترافیک خود را از طریق سرور OpenVPN شما هدایت کند. آگاه باشید که فعال کردن این قابلیت باعث ایجاد مشکلات اتصال با سایر خدمات شبکه مانند SSH می شود:
این خط را پیدا کنید:
push "redirect-gateway def1 bypass-dhcp"
از آنجا که مشتری شما قادر به استفاده از سرورهای DNS پیش فرض ارائه شده توسط ISP شما نخواهد بود (زیرا ترافیک آن تغییر مسیر خواهد یافت) ، باید به آن بگویید که از کدام سرورهای DNS می تواند برای اتصال به OpenVPN استفاده کند. می توانید سرورهای DNS مختلفی را انتخاب کنید ، اما در اینجا ما از سرورهای DNS عمومی Google استفاده خواهیم کرد که دارای IP های 8.8.8.8 و 8.8.4.4 هستند.
این کار را با عدم رعایت هر دو خط “dhcp-option DNS …” و به روز کردن آدرس های IP تنظیم کنید:
push "dhcp-option DNS 8.8.8.8" push "dhcp-option DNS 8.8.4.4"
ما می خواهیم OpenVPN پس از شروع کار ، هیچ امتیازی را اجرا کند ، بنابراین باید به آن بگوییم که با یک کاربر و گروه هیچ کس اجرا شود. برای فعال کردن این امر ، خطوط کاربر و گروه را از کسی جدا نکنید:
user nobody group nobody
بعد ، خط زیر topology subnet
را لغو کنید. این به همراه خط server 10.8.0.0 255.255.255.0
در زیر آن ، نصب OpenVPN شما را پیکربندی می کند تا به عنوان یک کار فرعی عمل کند و به دستگاه مشتری می گوید که از چه آدرس IP استفاده کند. در این حالت ، سرور ۱۰٫۸٫۰٫۱ و مشتری اول ۱۰٫۸٫۰٫۲
تبدیل می شود:
topology subnet
همچنین توصیه می شود خط زیر را به پرونده پیکربندی سرور خود اضافه کنید. این دو مورد بررسی می کند که واقعا هر گواهینامه مشتری ورودی از مشتری دریافت می کند ، پارامترهای امنیتی را که در مراحل بعدی ایجاد خواهیم کرد سخت تر می کند:
remote-cert-eku "TLS Web Client Authentication"
سرانجام ، OpenVPN اکیداً توصیه می کند که کاربران بتوانند تأیید هویت TLS را انجام دهند ، یک پروتکل رمزنگاری شده که ارتباطات ایمن را از طریق شبکه رایانه ای تضمین می کند. برای انجام این کار ، شما باید یک کلید رمزگذاری استاتیک (که در مثال ما به عنوان myvpn.tlsauth
نامگذاری شده است ، ایجاد کنید ، اگرچه می توانید هر نامی را که دوست دارید انتخاب کنید). قبل از ایجاد این کلید ، خط را در پرونده پیکربندی حاوی tls-auth ta.key 0
با آمادگی آن با یک جمع رنگ اظهار نظر کنید. سپس tls-crypt myvpn.tlsauth
را به خط زیر آن اضافه کنید:
;tls-auth ta.key 0 tls-crypt myvpn.tlsauth
فایل پیکربندی سرور OpenVPN را ذخیره کرده و از آن خارج شوید (در نانو ، CTRL – X ، Y را فشار دهید ، سپس ENTER را انجام دهید) و سپس کلید رمزگذاری استاتیک را با دستور زیر تولید کنید:
sudo openvpn --genkey --secret /etc/openvpn/myvpn.tlsauth
اکنون که سرور شما پیکربندی شده است ، می توانید کلیدهای SSL و گواهی های لازم برای اتصال ایمن به اتصال VPN خود را تنظیم کنید.
تولید کلیدها و گواهینامه ها
برای تولید کلیدها و گواهی نامه ها از مجموعه ای از اسکریپت هایی که با برنامه نصب شده اند استفاده می کند. به منظور جلوگیری از پیکربندی مجدد در هر بار نیاز به تولید گواهی ، می توانید پیکربندی Easy RSA را تغییر دهید تا مقادیر پیش فرض مورد استفاده برای زمینه های گواهی ، از جمله کشور ، شهر و آدرس ایمیل مورد نظر خود را تعریف کنید.
ما فرآیند تولید کلیدها و گواهینامه ها را با ایجاد دایرکتوری که Easy RSA در آن کلیدها و مجوزهای تولید شده شما را ذخیره می کند ، آغاز خواهیم کرد:
sudo mkdir /etc/openvpn/easy-rsa/keys
متغیرهای پیش فرض گواهی در پرونده vars در /etc/openvpn/easy-rsa
تنظیم شده اند ، بنابراین آن پرونده را برای ویرایش باز کنید:
sudo nano /etc/openvpn/easy-rsa/vars
به پایین فایل بروید و مقادیر آغاز شده با صادرات KEY_ را برای مطابقت با اطلاعات خود تغییر دهید. مواردی که بیشترین اهمیت را دارند:
KEY_CN
: در اینجا دامنه یا زیر دامنه ای را که برای سرور شما حل می شود ، وارد کنید.
KEY_NAME
: شما باید سرور را اینجا وارد کنید. اگر چیز دیگری را وارد کنید ، باید فایلهای پیکربندی مربوط به server.key
و server.crt
را نیز به روز کنید.
متغیرهای دیگر در این پرونده که ممکن است بخواهید تغییر دهید:
KEY_COUNTRY
:برای این متغیر ، مخفف دو حرفی از کشور محل اقامت خود را وارد کنید.
KEY_PROVINCE
:این باید نام یا مخفف وضعیت سکونت شما باشد.
KEY_CITY
:در اینجا ، نام شهری را که در آن زندگی می کنید ، وارد کنید.
KEY_ORG
: این باید نام سازمان یا شرکت شما باشد.
KEY_EMAIL
: آدرس ایمیلی را که می خواهید به گواهی امنیتی وصل شوید ، وارد کنید.
KEY_OU
: این باید نام “واحد سازمانی” باشد که متعلق به شماست ، به طور معمول یا نام گروه یا تیم شما.
بقیه متغیرها می توانند با اطمینان از خارج از موارد استفاده خاص نادیده گرفته شوند. پس از انجام تغییرات خود ، پرونده باید به این صورت باشد:
# These are the default values for fields # which will be placed in the certificate. # Don't leave any of these fields blank. export KEY_COUNTRY="US" export KEY_PROVINCE="NY" export KEY_CITY="New York" export KEY_ORG="Famaserver.com" export KEY_EMAIL="sammy@example.com" export KEY_EMAIL=sammy@example.com export KEY_CN=openvpn.example.com export KEY_NAME="server" export KEY_OU="Community" . . .
ذخیره کنید و فایل را ببندید.
برای شروع تولید کلیدها و گواهینامه ها ، به متغیرهای جدیدی که در پرونده vars تنظیم کرده اید ، وارد پوشه و منبع ساده rsa شوید:
cd /etc/openvpn/easy-rsa source ./vars
اسکریپت تمیز RSA آسان را اجرا کنید تا کلیدها و گواهینامه های موجود در این پوشه را حذف کرده و مجوز مجوز تولید کنید:
./clean-all
بعد ، مجوز گواهینامه را با اسکریپت build-ca بسازید. از شما خواسته می شود مقادیر مربوط به فیلدهای گواهی را وارد کنید ، اما اگر متغیرها را در پرونده وارس تنظیم کنید ، تمام گزینه های شما قبلاً به صورت پیش فرض تنظیم می شوند. برای پذیرش پیش فرض هرکدام می توانید ENTER را فشار دهید:
./build-ca
این اسکریپت پرونده ای به نام ca.key ایجاد می کند. این کلید خصوصی است که برای امضای گواهینامه های سرور و مشتری شما استفاده می شود. در صورت گم شدن ، دیگر نمی توانید به هیچ گواهی نامه ای از این مرجع صدور گواهینامه اعتماد کنید ، و اگر کسی قادر به دسترسی به این پرونده باشد ، می تواند گواهی های جدید را امضا کند و بدون اطلاع شما به VPN شما دسترسی پیدا کند. به همین دلیل ، OpenVPN توصیه می کند تا ca.key را در محلی ذخیره کنید که ممکن است آفلاین باشد و فقط باید هنگام ایجاد گواهینامه های جدید فعال شود.
بعد ، با استفاده از اسکریپت build-key-server سرور یک کلید و مجوز ایجاد کنید:
./build-key-server server
مانند ساخت CA ، مقادیر تعیین شده را به عنوان پیش فرض مشاهده خواهید کرد تا بتوانید در این قسمت ها وارد ENTER شوید. علاوه بر این ، از شما خواسته می شود که رمز عبور چالش و نام شرکت اختیاری را وارد کنید. اگر رمز عبور چالشی را وارد کنید ، هنگام اتصال به VPN از طرف مشتری ، از شما خواسته می شود. اگر نمی خواهید یک رمز عبور چالش تعیین کنید ، فقط این خط را خالی بگذارید و ENTER را فشار دهید. در پایان ، Y را وارد کنید تا تغییرات را انجام دهید.
آخرین قسمت ایجاد کلیدها و گواهینامه های سرور ، تولید فایل تبادل کلید Diffie-Hellman است. برای این کار از اسکریپت build-dh استفاده کنید:
./build-dh
این ممکن است چند دقیقه طول بکشد.
پس از اتمام تولید سرور خود با ایجاد فایل تبادل کلید ، کلیدهای سرور و گواهینامه ها را از فهرست کلیدهای میانبرها در فهرست openvpn کپی کنید:
cd /etc/openvpn/easy-rsa/keys sudo cp dh2048.pem ca.crt server.crt server.key /etc/openvpn
همچنین به هر مشتری برای احراز هویت سرور OpenVPN ، به یک گواهی نیاز دارد. این کلیدها و گواهینامه ها روی سرور ایجاد می شوند و سپس مجبور خواهید بود که آنها را برای مشتری خود کپی کنید ، که ما در مرحله بعدی انجام خواهیم داد. توصیه می شود برای هر مشتری که قصد اتصال به VPN خود را دارید ، کلیدها و مجوزهای جداگانه تولید کنید.
از آنجا که ما فقط یک مشتری را در اینجا مستقر خواهیم کرد ، ما آنرا مشتری نامیدیم ، اما اگر دوست دارید می توانید آن را به نام توصیفی تری تغییر دهید:
cd /etc/openvpn/easy-rsa ./build-key client
در آخر ، فایل پیکربندی OpenSSL نسخه باز شده ، Opensl-1.0.0.cnf را به یک نام نسخه ای ، opensl.cnf کپی کنید. عدم انجام این کار می تواند به خطایی منجر شود که OpenSSL نتواند پیکربندی را بارگیری کند زیرا نمی تواند نسخه خود را تشخیص دهد:
cp /etc/openvpn/easy-rsa/openssl-1.0.0.cnf /etc/openvpn/easy-rsa/openssl.cnf
اکنون که تمام کلیدها و گواهینامه های لازم برای سرور و مشتری شما ایجاد شده است ، می توانید به سمت تنظیم مسیریابی بین دو دستگاه بروید.
مسیریابی
تاکنون OpenVPN را بر روی سرور خود نصب کرده اید ، آن را پیکربندی کرده اید و کلیدها و گواهینامه های مورد نیاز مشتری خود را برای دسترسی به VPN ایجاد کرده اید. با این حال ، شما هنوز هیچ دستورالعملی درمورد ارسال ترافیک وب ورودی از مشتری ، به OpenVPN ارائه نداده اید. شما می توانید با ایجاد برخی از قوانین فایروال و تنظیمات مسیریابی ، سرور را چگونه باید با ترافیک مشتری مقابله کنید.
با فرض اینکه در ابتدای این آموزش شرایط لازم را رعایت کرده باشید ، باید از قبل firewalld را روی سرور خود نصب و اجرا کنید. برای اینکه OpenVPN را از طریق فایروال مجاز کنید ، باید بدانید منطقه فعال فایروال شما چیست. با دستور زیر این کار را پیدا کنید:
sudo firewall-cmd --get-active-zones
خروجی
trusted
Interfaces: tun0
در مرحله بعد ، سرویس openvpn را به لیست سرویسهای مجاز توسط firewalld در منطقه فعال خود اضافه کنید و سپس با اجرای مجدد دستور ، آن تنظیم را دائمی کنید اما با گزینه –permanent اضافه کرد:
sudo firewall-cmd --zone=trusted --add-service openvpn sudo firewall-cmd --zone=trusted --add-service openvpn --permanent
می توانید بررسی کنید که این سرویس با دستور زیر به درستی اضافه شده است:
sudo firewall-cmd --list-services --zone=trusted
خروجی
openvpn
در مرحله بعد ، یک نمونه نقاب دار را به نمونه زمان اجرا فعلی اضافه کنید ، و سپس با گزینه --permanent
مجدداً آن را به آن اضافه کنید تا نقاب به تمام موارد بعدی اضافه شود:
sudo firewall-cmd --add-masquerade sudo firewall-cmd --permanent --add-masquerade
می توانید بررسی کنید که با این دستور به درستی اضافه شده است:
sudo firewall-cmd --query-masquerade
خروجی
yes
در مرحله بعد ، مسیریابی را به زیر شبکه OpenVPN خود هدایت کنید. می توانید این کار را با ایجاد یک متغیر انجام دهید (SHARK در مثال ما) که نشان دهنده رابط شبکه اصلی مورد استفاده توسط سرور شما و سپس با استفاده از آن متغیر برای اضافه کردن دائم قانون مسیریابی است:
SHARK=$(ip route get 8.8.8.8 | awk 'NR==1 {print $(NF-2)}')
sudo firewall-cmd --permanent --direct --passthrough ipv4 -t nat -A POSTROUTING -s 10.8.0.0/24 -o $SHARK -j MASQUERADE
مطمئن باشید که این تغییرات را در قوانین فایروال خود با بارگذاری مجدد فایروال اجرا می کنید:
sudo firewall-cmd --reload
در مرحله بعد ، انتقال IP را فعال کنید. با این کار همه ترافیک وب از مشتری شما به آدرس IP سرور شما منتقل می شود ، و آدرس IP عمومی مشتری شما به طور موثر پنهان می شود.
sysctl.conf
را برای ویرایش باز کنید:
sudo nano /etc/sysctl.conf
سپس خط زیر را در بالای پرونده اضافه کنید:
net.ipv4.ip_forward = 1
سرانجام ، سرویس شبکه را مجدداً راه اندازی کنید تا انتقال IP به اجرا درآید:
sudo systemctl restart network.service
با استفاده از قوانین مسیریابی و فایروال ، می توانیم سرویس OpenVPN را روی سرور شروع کنیم.
پیکربندی openvpn در centos7
شروع OpenVPN
OpenVPN به عنوان یک سرویس سیستمی با استفاده از systemctl اداره می شود. ما OpenVPN را برای راه اندازی در بوت پیکربندی می کنیم تا بتوانید هر زمان که سرور شما در حال اجرا است به VPN خود متصل شوید. برای این کار ، سرور OpenVPN را با افزودن آن به systemctl فعال کنید:
sudo systemctl -f enable openvpn@server.service
سپس سرویس OpenVPN را شروع کنید:
sudo systemctl start openvpn@server.service
دوبار بررسی کنید که سرویس OpenVPN با دستور زیر فعال است. در خروجی باید فعال (در حال اجرا) را مشاهده کنید:
sudo systemctl status openvpn@server.service
خروجی
●
openvpn@server.service - OpenVPN Robust And Highly Flexible Tunneling Application On server Loaded: loaded (/usr/lib/systemd/system/openvpn@.service; enabled; vendor preset: disabled) Active: **active (running)** since Wed 2018-03-14 15:20:11 EDT; 7s ago Main PID: 2824 (openvpn) Status: "Initialization Sequence Completed" CGroup: /system.slice/system-openvpn.slice/openvpn@server.service └─۲۸۲۴ /usr/sbin/openvpn --cd /etc/openvpn/ --config server.conf . . .
اکنون پیکربندی سمت سرور را برای OpenVPN تکمیل کرده ایم. در مرحله بعد ، دستگاه مشتری خود را پیکربندی کرده و به سرور OpenVPN متصل می شوید.
پیکربندی openvpn در centos7
پیکربندی مشتری
صرف نظر از سیستم عامل دستگاه مشتری شما ، به یک نسخه محلی ذخیره شده از گواهی CA و کلید مشتری و گواهی تولید شده در مرحله ۳ ، و همچنین کلید رمزگذاری استاتیک که در انتهای مرحله ۲ ایجاد کرده اید ، نیاز دارید.
پرونده های زیر را در سرور خود پیدا کنید. اگر چندین کلید مشتری با نامهای توصیفی و منحصر به فرد ایجاد کرده اید ، نامهای کلیدی و گواهی متفاوت خواهد بود. در این مقاله از مشتری استفاده کرده ایم.
/etc/openvpn/easy-rsa/keys/ca.crt /etc/openvpn/easy-rsa/keys/client.crt /etc/openvpn/easy-rsa/keys/client.key /etc/openvpn/myvpn.tlsauth
این فایلها را در دستگاه مشتری خود کپی کنید. می توانید از SFTP یا روش مورد نظر خود استفاده کنید. حتی می توانید پرونده ها را در ویرایشگر متن خود باز کنید و محتویات را در پرونده های جدید در دستگاه مشتری خود کپی و چسباندن کنید. صرفنظر از کدام روش استفاده می کنید ، حتماً توجه داشته باشید که این فایلها را در کجا ذخیره می کنید.
در مرحله بعدی ، یک فایل با نام client.ovpn در دستگاه مشتری خود ایجاد کنید. این یک پرونده پیکربندی برای یک سرویس دهنده OpenVPN است و به آن می گوید چگونه به سرور وصل شوید:
sudo nano client.ovpn
سپس خطوط زیر را به client.ovpn اضافه کنید. توجه کنید که بسیاری از این خطوط منعکس کننده مواردی هستند که ما آنها را بدون نظر اضافه نکردیم یا به پرونده server.conf اضافه نکردیم ، یا به طور پیش فرض در آن قرار داشتیم:
client tls-client ca /path/to/ca.crt cert /path/to/client.crt key /path/to/client.key tls-crypt /path/to/myvpn.tlsauth remote-cert-eku "TLS Web Client Authentication" proto udp remote your_server_ip 1194 udp dev tun topology subnet pull user nobody group nobody
هنگام افزودن این خطوط ، موارد زیر را توجه کنید:
برای بازتاب نامی که به مشتری در کلید و گواهی خود داده اید ، باید خط اول را تغییر دهید. در مورد ما ، این فقط مشتری است
همچنین باید آدرس IP را از آدرس__verver_ip به آدرس IP سرور خود به روز کنید. بندر ۱۱۹۴ می تواند یکسان باشد
اطمینان حاصل کنید که مسیرهای مربوط به پرونده های کلید و گواهینامه شما صحیح است
این پرونده اکنون می تواند توسط هر مشتری OpenVPN برای اتصال به سرور شما استفاده شود. در زیر دستورالعمل های خاص سیستم عامل برای نحوه اتصال مشتری خود آورده شده است:
Windows:
در ویندوز به دونفره های رسمی OpenVPN Community Edition که همراه با یک رابط کاربری گرافیکی (GUI) نیاز دارید ، نیاز دارید. پرونده پیکربندی .ovpn را در فهرست مناسب ، پیکربندی C: \ Program Files \ OpenVPN \ قرار دهید و روی اتصال در GUI کلیک کنید. رابط کاربری گرافیکی OpenVPN در Windows باید با امتیازات اداری اجرا شود.
macOS:
در MacOS ، برنامه منبع باز Tunnelblick رابط کاربری مشابه OpenVPN GUI در ویندوز را ارائه می دهد ، و همراه با OpenVPN و درایورهای مورد نیاز TUN / TAP را ارائه می دهد. همانند ویندوز ، تنها گام مورد نیاز اینست که پرونده پیکربندی .ovpn را در فهرست ~ / Library / Application Support / Tunnelblick / Configurationations قرار دهید. از طرف دیگر ، می توانید بر روی پرونده .ovpn خود دو بار کلیک کنید.
Linux:
در لینوکس ، باید OpenVPN را از مخازن رسمی توزیع خود نصب کنید. سپس می توانید با اجرای موارد زیر OpenVPN را فراخوانی کنید:
sudo openvpn --config ~/path/to/client.ovpn
بعد از برقراری ارتباط موفق مشتری ، می توانید با بررسی گوگل برای آشکار کردن IP عمومی خود ، تأیید کنید که ترافیک شما از طریق VPN انجام می شود.
امیدوارم از مقاله پیکربندی openvpn در centos7 استفاده کرده باشید.
فاما سرور