نویسنده: fema co
4 جولای 2020
2 1,741
پیکربندی openvpn در centos7

پیکربندی openvpn در centos7

OpenVPN یکی از محبوب‌ترین و قدرتمندترین ابزارهای متن‌باز برای ایجاد شبکه‌های خصوصی مجازی (VPN) است که به کاربران امکان می‌دهد به‌صورت ایمن به شبکه‌های مختلف متصل شوند. در این مقاله، به پیکربندی openvpn در centos7 میپردازیم و مراحل پیکربندی و فایل های امنیتی را برسی میکنیم.

OpenVPN چیست؟

OpenVPN یک نرم‌افزار متن‌باز برای ایجاد شبکه‌های خصوصی مجازی (VPN) است که به کاربران امکان می‌دهد ارتباطات اینترنتی خود را به‌صورت امن و رمزگذاری شده از طریق یک تونل مجازی انجام دهند. این نرم‌افزار با استفاده از پروتکل‌های SSL/TLS، ارتباطات بین سرور و کلاینت‌ها را ایمن می‌کند و می‌تواند برای دسترسی به شبکه‌های داخلی از راه دور و عبور از محدودیت‌های جغرافیایی استفاده شود.

یکی از ویژگی‌های برجسته OpenVPN انعطاف‌پذیری آن در تنظیمات مختلف است. این نرم‌افزار قادر است با استفاده از پیکربندی‌های مختلف، از پروتکل‌های UDP و TCP استفاده کند و از کلیدهای رمزنگاری 256 بیتی برای افزایش امنیت بهره ببرد. همچنین، OpenVPN از طریق گواهینامه‌ها و کلیدهای امنیتی، احراز هویت قوی را فراهم می‌کند که این امر باعث می‌شود تنها کاربران مجاز به شبکه دسترسی داشته باشند.

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

پیکربندی openvpn

پیکربندی openvpn

پیش نیاز ها

۱- سرور مجازی

۲-سیستم عامل centos7

۳- نرم افزار putty جهت اتصال به کنسول سرور یا نرم افزار های مشابه جهت اجرای دستورات

۴- در صورت نیاز یک دامنه با dns رکورد های اختصاصی برای آیپی مد نظر شما با یک A record از سایر دامنه ها که آیپی آن با آیپی سرور برابری داشته باشد.

۵- یک سیستم کلاینت که میتواند تلفن هوشمند یا یک کامپیوتر ساده جهت تست پروتکل

در صورتی که سرور مجازی ندارید میتوانید با نرم افزار های شبیه ساز سرور یا مجازی ساز های مختلف در سیستم خود این آموزش را دنبال کنید یا با خرید از فاماسرور ,سرور مجازی و سرور اختصاصی خود را تهیه کنید و در صورت نیاز بصورت رایگان اپلکیشن ها و… را با هماهنگی با پشتیبانی برای شما فعال کنید.خرید سرور اختصاصی خرید سرور مجازی

 

بخش 1:

آماده‌سازی سرور و نصب OpenVPN

1.1. به‌روزرسانی سیستم

برای مقاله ( پیکربندی openvpn در centos7 ) داشتن دانش کافی در ضمینه دستورات لینوکسی مورد نیاز است . اگر با دستورات لینوکس آشنایی ندارید از مقاله زیر استفاده کنید. آموزش دستورات لینوکس

قبل از شروع، مطمئن شوید که سیستم شما به‌روز است. برای این کار، دستورات زیر را اجرا کنید:

sudo yum update -y
sudo yum install epel-release -y

1.2. نصب OpenVPN و EasyRSA

EasyRSA ابزاری است که برای مدیریت گواهینامه‌ها و کلیدهای OpenVPN استفاده می‌شود. برای نصب OpenVPN و EasyRSA، از دستورات زیر استفاده کنید:

sudo yum install openvpn easy-rsa -y
بخش 2:

ایجاد گواهینامه‌ها و کلیدها

2.1. تنظیم EasyRSA

ابتدا باید EasyRSA را تنظیم کنیم. یک دایرکتوری جدید ایجاد کنید و فایل‌های EasyRSA را در آن کپی کنید:

mkdir -p ~/easy-rsa
cp -R /usr/share/easy-rsa/3/* ~/easy-rsa/
cd ~/easy-rsa/

2.2. پیکربندی EasyRSA

فایل vars را ویرایش کنید تا پارامترهای گواهینامه‌ها را مشخص کنید:

nano vars

اطمینان حاصل کنید که مقادیر زیر را در فایل vars تنظیم کرده‌اید:

set_var EASYRSA_REQ_COUNTRY    "US"
set_var EASYRSA_REQ_PROVINCE   "California"
set_var EASYRSA_REQ_CITY       "San Francisco"
set_var EASYRSA_REQ_ORG        "MyOrg"
set_var EASYRSA_REQ_EMAIL      "email@example.com"
set_var EASYRSA_REQ_OU         "MyUnit"

2.3. ساخت CA (Certificate Authority)

برای ایجاد یک CA، از دستورات زیر استفاده کنید:

./easyrsa init-pki
./easyrsa build-ca nopass

این دستور یک CA بدون رمز عبور ایجاد می‌کند.

2.4. ایجاد گواهینامه و کلید سرور

حالا، گواهینامه و کلید سرور را ایجاد کنید:

./easyrsa gen-req server nopass
./easyrsa sign-req server server

2.5. ایجاد کلید Diffie-Hellman

کلید Diffie-Hellman برای افزایش امنیت ارتباطات استفاده می‌شود:

./easyrsa gen-dh
بخش 3:

پیکربندی سرور OpenVPN

3.1. کپی فایل‌های مورد نیاز

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

sudo cp pki/ca.crt pki/private/server.key pki/issued/server.crt pki/dh.pem /etc/openvpn/

3.2. ایجاد فایل پیکربندی سرور

فایل پیکربندی OpenVPN را در /etc/openvpn/server.conf ایجاد کنید:

sudo nano /etc/openvpn/server.conf

محتوای زیر را در این فایل قرار دهید:

port 1194
proto udp
dev tun
ca ca.crt
cert server.crt
key server.key
dh dh.pem
server 10.8.0.0 255.255.255.0
ifconfig-pool-persist ipp.txt
push "redirect-gateway def1 bypass-dhcp"
push "dhcp-option DNS 8.8.8.8"
keepalive 10 120
cipher AES-256-CBC
user nobody
group nobody
persist-key
persist-tun
status openvpn-status.log
log-append  /var/log/openvpn.log
verb 3

3.3. تنظیمات فایروال

برای اجازه دادن به ترافیک OpenVPN، باید فایروال را پیکربندی کنید:

sudo firewall-cmd --add-service=openvpn --permanent
sudo firewall-cmd --add-masquerade --permanent
sudo firewall-cmd --reload

3.4. فعال‌سازی و راه‌اندازی سرویس OpenVPN

سرویس OpenVPN را فعال و سپس راه‌اندازی کنید:

sudo systemctl start openvpn@server
sudo systemctl enable openvpn@server
در استفاده از نرم افزار openvpn دقت نمایید تا از سایت رسمی و فایل اورجینال استفاده کنید. مشاهده شده سو استفاده های زیادی در قالب فایل های مشابه به اصلی از کاربران انجام شده. دانلود openvpn اصلی
بخش 4:

پیکربندی کلاینت‌ها

4.1. ایجاد گواهینامه و کلیدهای کلاینت

برای هر کلاینت، باید یک جفت کلید و گواهینامه ایجاد کنید:

cd ~/easy-rsa/
./easyrsa gen-req client1 nopass
./easyrsa sign-req client client1

سپس فایل‌های client1.crt، client1.key و ca.crt را به کلاینت منتقل کنید.

4.2. ایجاد فایل پیکربندی کلاینت

فایل پیکربندی کلاینت باید به شکل زیر باشد:

client
dev tun
proto udp
remote your_server_ip 1194
resolv-retry infinite
nobind
user nobody
group nobody
persist-key
persist-tun
ca ca.crt
cert client1.crt
key client1.key
cipher AES-256-CBC
verb 3

پیکربندی openvpn

بخش 5:

توصیه‌های امنیتی و نگهداری

5.1. به‌روزرسانی مداوم سرور و نرم‌افزارها

5.1. به‌روزرسانی مداوم سرور و نرم‌افزارها

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

sudo yum update -y
همچنین، توصیه می‌شود که به‌روزرسانی‌ها را خودکار کنید تا هیچ‌گاه از تغییرات مهم غافل نشوید.

5.2. استفاده از احراز هویت دو مرحله‌ای (2FA)

احراز هویت دو مرحله‌ای یک لایه امنیتی اضافی برای حفاظت از سیستم شما در برابر دسترسی‌های غیرمجاز است. این روش احراز هویت نیازمند وارد کردن یک کد اضافی است که از طریق یک برنامه موبایل یا دستگاه فیزیکی تولید می‌شود. فعال‌سازی 2FA برای OpenVPN می‌تواند تضمین کند که حتی در صورت به دست آوردن رمز عبور توسط هکرها، دسترسی به سیستم بدون این کد اضافی امکان‌پذیر نخواهد بود.

5.3. استفاده از یک VPN Kill Switch

یکی از خطراتی که در هنگام استفاده از VPN وجود دارد، قطع ناگهانی ارتباط VPN است که می‌تواند منجر به نشت اطلاعات شود. برای جلوگیری از این مشکل، می‌توانید از ویژگی VPN Kill Switch استفاده کنید. این ویژگی به صورت خودکار ترافیک اینترنتی را قطع می‌کند اگر اتصال VPN شما از دست برود، بنابراین هیچ داده‌ای از طریق شبکه ناامن منتقل نخواهد شد. برای پیاده‌سازی این ویژگی، می‌توانید از تنظیمات فایروال یا اسکریپت‌های ویژه استفاده کنید.

5.4. نظارت بر لاگ‌ها و مانیتورینگ سیستم

یکی از بهترین روش‌ها برای اطمینان از عملکرد صحیح و امنیت OpenVPN، نظارت منظم بر لاگ‌ها و مانیتورینگ سیستم است. لاگ‌های OpenVPN می‌توانند اطلاعات ارزشمندی درباره وضعیت ارتباطات، خطاها و فعالیت‌های مشکوک ارائه دهند. با بررسی منظم لاگ‌ها، می‌توانید به سرعت به مشکلات احتمالی پی ببرید و از بروز حملات امنیتی جلوگیری کنید. از ابزارهای مانیتورینگ مانند Nagios یا Zabbix برای نظارت بر عملکرد سیستم و شبکه استفاده کنید.

5.5. پیکربندی فایروال برای افزایش امنیت

پیکربندی صحیح فایروال یکی از مهم‌ترین مراحل در تأمین امنیت OpenVPN است. فایروال باید به گونه‌ای تنظیم شود که تنها ترافیک مجاز از پورت‌های مورد استفاده توسط OpenVPN عبور کند. همچنین، می‌توانید ترافیک مربوط به پروتکل‌های غیرمجاز را مسدود کنید. برای مثال، می‌توانید از iptables برای محدود کردن دسترسی به پورت 1194 که به‌طور پیش‌فرض توسط OpenVPN استفاده می‌شود، استفاده کنید:

sudo iptables -A INPUT -p udp --dport 1194 -j ACCEPT
sudo iptables -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT
sudo iptables -A INPUT -p udp -j DROP

این تنظیمات فایروال تضمین می‌کنند که تنها ترافیک مرتبط با OpenVPN به سرور شما دسترسی دارد.

5.6. استفاده از گواهینامه‌های قوی و محدود کردن دسترسی‌ها

استفاده از گواهینامه‌های قوی و کلیدهای RSA با طول حداقل 2048 بیت برای ارتباطات OpenVPN به شدت توصیه می‌شود. همچنین، مدت زمان انقضای گواهینامه‌ها را محدود کنید تا در صورت سرقت یا نفوذ، اثرات آن به حداقل برسد. می‌توانید گواهینامه‌ها را به صورت دوره‌ای تجدید کرده و کلیدهای جدیدی ایجاد کنید تا امنیت بیشتری برای سیستم خود فراهم کنید.

5.7. به‌کارگیری سیاست‌های امنیتی شبکه (NAC)

سیاست‌های امنیتی شبکه (Network Access Control یا NAC) می‌توانند به شما کمک کنند تا دسترسی کاربران به شبکه را بر اساس معیارهای مشخصی مانند وضعیت به‌روزرسانی دستگاه‌ها یا رعایت سیاست‌های امنیتی محدود کنید. NAC می‌تواند از اتصال دستگاه‌های آسیب‌پذیر یا نامطمئن به شبکه جلوگیری کند و بدین وسیله از نفوذهای احتمالی به سیستم جلوگیری نماید.

 

بعد از برقراری ارتباط موفق مشتری ، می توانید با بررسی گوگل برای آشکار کردن IP عمومی خود ، تأیید کنید که ترافیک شما از طریق VPN انجام می شود.

نتیجه‌گیری

پیکربندی OpenVPN در CentOS 7 با وجود پیچیدگی‌های فنی، یک راهکار قدرتمند برای ایجاد اتصالات امن و پایدار است. این فرآیند به شما امکان می‌دهد تا شبکه‌ای خصوصی و رمزگذاری شده ایجاد کنید که به طور قابل توجهی امنیت اطلاعات شما را افزایش می‌دهد. با استفاده از ابزارهایی مانند EasyRSA، می‌توانید به راحتی گواهینامه‌ها و کلیدهای امنیتی ایجاد کرده و ارتباطات را رمزگذاری کنید.

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

این مقاله تلاش کرد تا به طور جامع تمامی مراحل نصب، پیکربندی و نکات امنیتی مربوط به OpenVPN در CentOS 7 را پوشش دهد. اما مهم‌تر از همه، این است که با در نظر گرفتن نکات امنیتی و پیکربندی‌های صحیح، اطمینان حاصل کنید که ارتباطات شما از هرگونه نفوذ و تهدید محافظت می‌شود.

سرانجام، استفاده از OpenVPN می‌تواند به شما کمک کند تا نه تنها از اطلاعات خود محافظت کنید، بلکه امکان دسترسی امن و مطمئن به منابع شبکه‌ای خود را نیز فراهم آورید. این امر به ویژه برای سازمان‌ها و کسب و کارهایی که با داده‌های حساس کار می‌کنند، از اهمیت بالایی برخوردار است. با تنظیمات و نگهداری منظم، شما می‌توانید از یک سرویس VPN پایدار و امن بهره‌مند شوید که به شما امکان می‌دهد تا به راحتی و با اطمینان در اینترنت حرکت کنید.

OpenVPN یک ابزار بسیار انعطاف‌پذیر و قدرتمند است که با پیکربندی مناسب می‌تواند نیازهای متنوع شبکه‌ای را پاسخ دهد. مهم است که همواره از منابع معتبری استفاده کرده و با دقت به جزئیات پیکربندی، امنیت شبکه خود را تضمین کنید.

پیکربندی openvpn در centos7

اشتراک گذاری
+

چگونه می‌توانم OpenVPN را روی CentOS 7 نصب کنم؟

نصب OpenVPN در CentOS 7 شامل استفاده از yum برای نصب بسته‌های مورد نیاز و سپس پیکربندی آن است.

+

آیا می‌توانم از یک کلید و گواهینامه برای چندین کلاینت استفاده کنم؟

استفاده از یک کلید و گواهینامه مشترک برای چندین کلاینت امکان‌پذیر است، اما از نظر امنیتی توصیه نمی‌شود.

+

چگونه می‌توانم ترافیک اینترنتی کاربران را از طریق VPN هدایت کنم؟

با استفاده از تنظیمات مربوط به push "redirect-gateway def1 bypass-dhcp" در فایل پیکربندی سرور OpenVPN.

+

آیا می‌توانم از OpenVPN با پروتکل TCP به جای UDP استفاده کنم؟

بله، می‌توانید با تغییر proto udp به proto tcp در فایل پیکربندی، از پروتکل TCP استفاده کنید.

+

چگونه می‌توانم دسترسی به شبکه داخلی را برای کلاینت‌های OpenVPN محدود کنم؟

با استفاده از تنظیمات فایروال و پیکربندی صحیح در فایل server.conf می‌توانید دسترسی کلاینت‌ها به شبکه داخلی را محدود کنید.

منابع:

فاماسرور

  1. سلام خسته نباشید
    برای نصب openvpn با ارور
    https://packages.openvpn.net/openvpn3/yum/epel-7-x86_64/repodata/repomd.xml: [Errno 14] curl#7 – “Failed connect to packages.openvpn.net:443; Connection refused”
    مواجه میشم که فک میکنم برای فیلتر بودن لینک هست ، آیا نیاز هست فیلترشکن استفاده کرد برای نصب یا نه؟ ممنون میشم کمکم کنید.

    • سلام و عرض ادب
      Connection refused به دلیل عدم ارتباط با مقصد میباشد.
      بصورت موقتی میتوانید از dns های تحریم شکن استفاده کنید.

مقالات مرتبط این مطلب پیشنهاد می شود

خدمات فاما سرور

  • سرور مجازی

    سرور مجازی

    سرور مجازی یکی از سرویس های پر استفاده و مقرون بصرفه برای کسب و کارهای کوچک و خدمات سایر در ضمینه IT و شبکه میباشد که توان پشتیبانی از 128 هسته و 512 گیگ رم را دارد.

  • سرور اختصاصی

    سرور اختصاصی

    سرور های اختصاصی فاماسرور از دو گروه نسل جدید و پردازش سنگین استفاده میشود که میتوانید تا 155 گیگاهرتز پردازش و تا 1.5 ترابایت رم را در اختیار داشته باشید.

  • بیگ بلوباتن

    بیگ بلوباتن

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

  • هاست لینوکس

    هاست لینوکس

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

  • هاست ویندوز

    هاست ویندوز

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

  • ثبت دامنه

    ثبت دامنه

    ثبت دامنه های بین المللی , دامنه ir و دامنه های با پسوند های مختلف در فاماسرور پشتیبانی میشوند.