سرور OpenVPN ابزاری است که برای محافظت از سرور لینوکس دبیان 10 در برابر فعالیتهای خرابکارانه به کار شما میآید. در این مطلب قصد داریم که شما را با نحوه تنظیم OpenVPN در دبیان 10 آشنا کنیم. به این وسیله میتوانید امنیت سرورهای خود را در شبکههای عمومی وایفای افزایش دهید. OpenVPN یک شبکه مجازی...
1398/11/192964 بازدید
سرور OpenVPN ابزاری است که برای محافظت از سرور لینوکس دبیان 10 در برابر فعالیتهای خرابکارانه به کار شما میآید. در این مطلب قصد داریم که شما را با نحوه تنظیم OpenVPN در دبیان 10 آشنا کنیم. به این وسیله میتوانید امنیت سرورهای خود را در شبکههای عمومی وایفای افزایش دهید.
OpenVPN یک شبکه مجازی اختصاصی یا SSL VPN کامل است. این شبکه با استفاده از پروتکل SSL/TLS دو یا سه لایه امنیتی ایجاد میکند. در همین حال، یک نرمافزار متنباز محسوب میشود و تحت مجوز GNU GPL منتشر شده است. یک VPN امکانی را برای شما فراهم میآورد که به یک شبکه غیرایمن مانند شبکه وایفای در هتل یا فرودگاه، یک اتصال امن داشته باشید. همچنین VPN برای دسترسی به منابع سرور خانگی یا شرکتی موردنیاز خواهد بود. شما میتوانید با این ابزار فیلترهایی را که بر اساس منطقه جغرافیایی عمل میکنند، دور بزنید و ایمنی و محرمانگی ارتباطات آنلاین خود را افزایش دهید. این مطلب آموزش برای شما راهنمایی قدم به قدم برای تنظیم یک سرور OpenVPN در سرور دبیان لینوکس 10 خواهد بود.
دستورالعمل تنظیم سرور OpenVPN در دبیان 10 در پنج دقیقه
مراحل کار به شرح زیر هستند:
گام ۱) سیستم خود را بروزرسانی کنید.
برای این منظور، فرمان apt را به صورت زیر اجرا نمایید:
بسیاری از سرورهای ابری دارای دو نوع آدرس IP هستند:
۱) آدرس IP استاتیک عمومی که مستقیماً به سیستم و باکس شما مرتبط است و ریشه در اینترنت دارد. به عنوان نمونه، درنظر بگیرید که Linode، Digital Ocean و دیگر ابزارهای اینترنتی به شما مستقیماً آدرسهای IP عمومی را نتیجه میدهند.
۲) آدرس IP استاتیک اختصاصی که مستقیماً به سرور شما مرتبط است و سرور شما از طریق در پسزمینه آدرس IP عمومی قرار میگیرد. به عنوان مثال، ابزار AWS EC2/Lightsail به نوعی آدرس IP عمومی NAT در اختیار شما قرار میدهد.
این کدها به صورت اتوماتیک تنظیمات شبکه شما را تشخیص میدهند. تنها کاری که میبایست انجام دهید این است که در مواقع لازم، آدرس IP درست را وارد کنید.
دریافت اسکریپت debian10-vpn.sh برای تنظیم OpenVPN در عرض پنج دقیقه در دبیان 10
مجوزهای نصب با استفاده از فرمان chmod
php
1{vivek@deb10:~ }$ chmod +x debian10-vpn.sh
در همین حال، امکان رؤیت اسکریپت با استفاده از یک ویرایشگر متنی مانند vim/vi وجود خواهد داشت:
php
1{vivek@deb10:~ }$ vi debian10-vpn.sh
اجرای debian10-vpn.sh به منظور نصب سرور OpenVPN
حالا فقط این کار را باید انجام دهید:
php
1{vivek@deb10:~ }$ sudo ./debian10-vpn.sh
نمونه عملکرد ابزار AWS EC2/Lightsail هنگامی که سرور ابری به صورت behind NAT است:
تنظیم سرور OpenVPN در دبیان 10 در پنج دقیقه
نمونه عملکرد سرور Linode/DO وقتی که سرور ابری دارای آدرس IPv4 مستقیم عمومی است:
بخش اول ورودی اسکریپت
برای جلوگیری از بروز مشکل، همیشه DNS را به صورت 1.1.1.1 یا Google DNS انتخاب کنید؛ چرا که اینها سرورهای DNS بسیار سریعی هستند و از هر جای اینترنت قابلدسترسیاند. تا اینجا، تمام اسکریپتهای موردنیاز را دریافت کردهایم. حالا برای تنظیم سرور OpenVPN آماده خواهیم بود. شما میتوانید در پایان نصب، به صورت زیر یک کلاینت تولید کنید:
بخش دوم ورودی اسکریپت
نحوه راهاندازی، توقف و راهاندازی دوباره سرور OpenVPN در دبیان 10
گام ۴) وصلکردن یک سرور OpenVPN با استفاده کلاینت iOS، اندروید، لینوکس یا ویندوز
بر روی سرور میتوانید فایلی با نام ~/linuxDesktop.ovpn پیدا کنید. تنها کاری که باید انجام دهید این است که این فایل را با استفاده از فرمان scp به روی دسکتاپ محلیتان کپی کنید:
پس از اتصال به سرور OpenVPN از طریق دسکتاپ لینوکس، فرمانهای زیر را اجرا نمایید:
php
1{vivek@deb10:~ }$ ping 10.8.0.1 #Ping to the OpenVPN server gateway23{vivek@deb10:~ }$ ip route #Make sure routing setup working45{vivek@deb10:~ }$ dig TXT +short o-o.myaddr.l.google.com @ns1.google.com #Must return public IP address of OpenVPN server
php
1172.105.51.63
نکاتی در مورد عیبیابی سرور OpenVPN و مشکلات کلاینت
برای بررسی خطاهای سرور OpenVPN میتوانید از فرمان زیر استفاده کنید:
فایل تاریخچه و خطاهای سرور OpenVPN
آیا تنظیمات فایروال بهدرستی بر روی سرور شما انجام شدهاند؟ برای پاسخ به این موضوع و تأیید تنظیمات NAT سرور از فرمانهای iptables و sysctl کمک بگیرید:
تأیید تنظیمات فایروال OpenVPN
در صورتی که قوانین از /etc/rc.local وارد نشده بودند، فرمان زیر را اجرا نمایید:
php
1{vivek@deb10:~ }$ sudo sh /etc/rc.local23{vivek@deb10:~ }$ sudo sysctl -w net.ipv4.ip_forward=1
آیا سرور OpenVPN در حال اجراست و پورت باز است؟ برای فهم این موضع میتوانید از فرمان ss یا netstat و فرمانهای pidof و ps استفاده کنید:
php
1{vivek@deb10:~ }$ netstat -tulpn | grep :1194 ## 1194 is the openvpn server port ##23{vivek@deb10:~ }$ ss -tulpn | grep :1194 ## 1194 is the openvpn server port ##45{vivek@deb10:~ }$ ps aux | grep openvpn ## is the openvpn server running? ##67{vivek@deb10:~ }$ ps -C openvpn ## is the openvpn server running? ##89{vivek@deb10:~ }$ pidof openvpn ## find the openvpn server PID ##
بررسی اجرای سرور OpenVPN و باز بودن پورت در لینوکس دبیان
در صورتی که سرور OpenVPN در حال اجرا نبود، آن را دوباره راهاندازی کنید:
1{vivek@deb10:~ }$ sudo systemctl status openvpn@server
آیا کلاینت لینوکس دسکتاپ میتواند به سیستم سرور OpenVPN متصل شود؟ برای این منظور ابتدا باید یک تست ساده انجام دهید تا مطمئن شوید که پورت سرور OpenVPN یا UDP 1194 اتصال را قبول میکند یا خیر:
php
1{vivek@deb10:~ }$ nc -vu 119423Connection to 1194 port [udp/openvpn] succeeded!
اگر چنین اتصالی برقرار نشد، به معنای آن است که فایروال لینوکس دسکتاپ یا روتر، یکی از آنها دسترسی به سرور را محدود میکنند. در نتیجه، مطمئن شوید که هم سرور و هم کلاینت دارای پروتکل و پورت یکسانی هستند.
جمعبندی
تبریک میگوییم! شما موفق شدید که یک سرور OpenVPN را بر روی دبیان لینوکس 10 در فضای ابری راهاندازی کنید. در همین حال، میتوانید برای کسب اطلاعات بیشتر به وبسایت OpenVPN و صفحه اسکریپت آن مراجعه نمایید.