كيفية إنشاء VPN باستخدام OpenVPN على خادم Windows

هل تحتاج إلى طريقة آمنة ومشفرة للوصول إلى الإنترنت الخاص بك؟ لماذا لا تلجأ إلى OpenVPN على نظام ويندوز سيرفر؟ إعداد VPN الأول الخاص بك قد يكون مؤلمًا ، ولكن لقد أتيت إلى المكان الصحيح!

في هذا البرنامج التعليمي ، ستتعرف على كيفية إعداد VPN مجاني والحفاظ على الكيانات الضارة بعيدًا عن ويندوز سيرفر الخاص بك.

هل أنت مستعد لتأمين شبكتك؟ حسنًا ، انطلق على الفور!

المتطلبات الأساسية

سيكون هذا الدرس عرضًا توضيحيًا عمليًا. إذا كنت ترغب في المتابعة ، تأكد من وجود ما يلي:

  • A Windows Server – This tutorial uses Window Server 2019 R2.
  • A client machine to test the VPN server – This demo uses Windows 10 64 bit.
  • الاتصال بسطح المكتب على نظام ويندوز سيرفر باستخدام Remote Desktop (RDP) أو عميل إدارة سطح المكتب المفضل لديك – يستخدم هذا العرض التوضيحي عميل نافذة RDP الافتراضي.

تثبيت OpenVPN على نظام ويندوز سيرفر

يعمل OpenVPN على أنظمة تشغيل مختلفة ، ولكنه لا يأتي مع تثبيت نظام التشغيل الخاص بك. ابدأ هذا البرنامج التعليمي بتثبيت OpenVPN على الخادم الخاص بك.

1. قم بفتح متصفحك المفضل وانتقل إلى صفحة تنزيل OpenVPN. قم بتنزيل حزمة مثبت MSI بتقنية 64 بت لنظام التشغيل Windows إلى خادمك وقم بتشغيل المثبت.

Downloading the Windows 64-bit MSI installer package

2. بعد ذلك، انقر على تخصيص على صفحة المعالج للمثبت كما هو موضح أدناه. الخيار تخصيص يتيح لك تثبيت عناصر إضافية لخادم VPN الخاص بك.

Customizing the OpenVPN installer

3. على صفحة التثبيت المخصص، انقر فوق قائمة السحب خدمة OpenVPN —> سيتم تثبيتها على القرص الصلب المحلي لتثبيت خدمة OpenVPN على نظامك. يُمكنك أيضًا تمكين خدمة OpenVPN عند بدء تشغيل النظام الخاص بك باختيار هذا الخيار.

Enabling the OpenVPN Service

4. الآن، انتقل لأسفل، وانقر على قائمة السحب أدوات OpenSSL —> سيتم تثبيتها على القرص الصلب المحلي. يُمكنك اختيار هذا الخيار لجعل مكتبات OpenSSL وترويسة التطوير متاحة لخدمة OpenVPN والتي تُطلب من خدمة OpenVPN لبعض الوظائف التشفيرية.

انقر على تثبيت الآن لتثبيت OpenVPN على خادمك.

Enabling the OpenSSL Utilities and installing OpenVPN

5. في النهاية، انقر على إغلاق عند اكتمال التثبيت.

Closing the Customization Installation Wizard

توليد الشهادات والمفاتيح للخادم والعملاء

لديك الآن OpenVPN مثبتًا على خادمك، ولكن كيف ستؤمن اتصال الخادم بالعميل(العملاء)؟ ستقوم بتوليد الشهادات والمفاتيح لخادمك والعميل(العملاء).

الشهادات والمفاتيح تستخدم لتوفير اتصال مشفر بين خادمك والعميل (العملاء). تحصل على مفتاح عام وخاص فريد عند إنشاء شهادة.

1. قم بفتح موجه الأوامر كمسؤول. بعض أوامر OpenVPN تتطلب امتيازات مرتفعة للتشغيل.

Opening your Command Prompt as an administrator

2. ثم، قم بتشغيل الأوامر أدناه لبدء easy-rsa shell. يتم استخدام القالب easy-rsa لإدارة الشهادات والمفاتيح والتكوينات.

سيكون EasyRSA واجهة سطر الأوامر الرئيسية لبقية البرنامج التعليمي.

cd C:\Program Files\OpenVPN\easy-rsa
EasyRSA-Start.bat
Accessing the EasyRSA shell

3. قم بتشغيل الأمر ./easyrsa clean-all أدناه لمسح أي مفاتيح وتكوينات موجودة. يضمن هذا الأمر أن تبدأ بتكوين نظيف.

./easyrsa clean-all 
Clearing Existing Keys and Configurations

4. الآن، قم بتشغيل الأمر ./easyrsa init-pki لبدء تهئية البنية التحتية للمفتاح العام (PKI) وإنشاء هيكل مجلد جديد للشهادات والمفاتيح الخاصة بك.

البنية التحتية للمفتاح العام (PKI) هي إطار يتيح لك إنشاء وإدارة المفاتيح العامة والخاصة التي يستخدمها خادمك والعميل (العملاء).

./easyrsa init-pki 

Type نعم واضغط على Enter لتأكيد رغبتك في تدمير أي مفاتيح قائمة وإنشاء نظام مفتوح للمفاتيح جديد، كما هو موضح أدناه.

Initializing the Public Key Infrastructure (PKI)

5. قم بتشغيل الأمر أدناه لإنشاء سلطة الشهادات (CA) (build-ca). CA مسؤولة عن إصدار الشهادات للخوادم والعملاء، وتوقيع تلك الشهادات، وإلغاء الشهادات، وما إلى ذلك.

تُستخدم خيار nopass، لذا لا داعي لإدخال كلمة مرور في كل مرة تقوم فيها بنسخ الشهادات والمفاتيح إلى عملائك. ./easyrsa build-ca nopass

./easyrsa build-ca nopass

عند تكوين شبكة الخاص بك، ستحتاج إلى إنشاء شهادة لخادمك والعميل/العملاء الذين تم توقيع شهادتهم من قبل سلطة الشهادات (CA).

Creating the Certificate Authority (CA)

6. قم بتشغيل الأمر أدناه لإنشاء شهادة ومفتاح الخادم (build-server-full). يقوم هذا الأمر بإنشاء شهادة ومفتاح خادم OpenVPN، ويوقعها باستخدام CA الخاصة بك، ويضع الملفات في الدليل الفرعي keys.

./easyrsa build-server-full server nopass
Building the Server Certificate and Key

7. بعد ذلك، قم بتشغيل الأمر التالي لإنشاء معلمات ديفي هيلمان (gen-dh)، ثم أغلق جلسة easyrsa الخاصة بك.

ديفي هيلمان هو بروتوكول يتيح لمستخدمين اثنين تبادل مفاتيح التشفير عبر اتصال غير آمن. سيتعين استخدام ديفي هيلمان لضمان بقاء شبكة الخاص بك آمنة حتى في حالة سرقة مفاتيح التشفير.

./easyrsa gen-dh
Generating the Diffie-Hellman Parameters

حتى الآن، لديك جميع الملفات الرئيسية لشهادات SSL/TLS اللازمة لخدمة OpenVPN الخاصة بك مدرجة في الجدول أدناه.

Folder Path Content
C:\Program Files\OpenVPN\easy-rsa\pki CA file, DH file, and other OpenSSL-related files like a config file.
C:\Program Files\OpenVPN\easy-rsa\pki\private Include the private key files of CA, Server, and Client certificates.
C:\Program Files\OpenVPN\easy-rsa\pki\issued Contains issued server and client certificates.

8. أخيرًا، قم بفتح مستكشف الملفات الخاص بك، وانسخ الملفات المدرجة أدناه إلى المجلدات C:\Program Files\OpenVPN\config-auto و C:\Program Files\OpenVPN\easy-rsa\pki\private.

C:\Program Files\OpenVPN\easy-rsa\pki\ca.cert
C:\Program Files\OpenVPN\easy-rsa\pki\dh.pem
C:\Program Files\OpenVPN\easy-rsa\pki\issued\server.cert
C:\Program Files\OpenVPN\easy-rsa\pki\private\server.key

تكوين قواعد جدار الحماية الخاص بنظام التشغيل Windows

الآن بعد تكوين خادم OpenVPN الخاص بك، خطوتك التالية هي التأكد من قدرتك على الوصول إلى الخدمة. ستحتاج إلى تكوين جدار الحماية الخاص بنظام التشغيل Windows للسماح بحركة المرور عبر OpenVPN.

1. قم بتشغيل الأمر netsh أدناه للسماح بحركة المرور عبر جدار الحماية الخاص بنظام التشغيل Windows باستخدام الآتي:

  • يقوم بتكوين (advfirewall) جدار الحماية (firewall) الخاص بنظام التشغيل Windows (add rule name="OpenVPN") بإضافة قاعدة تسمى OpenVPN إلى جدار الحماية الخاص بنظام التشغيل Windows.
  • يسمح (action=allow) لجميع عناوين IP المحلية (localip=any) والأجهزة الخارجية (remoteip=any) بالتواصل عبر هذه القاعدة.
  • يخبر الخادم أي منفذ يجب فتحه (localport=1194 remoteport=0-65535) ونوع البروتوكول المستخدم (protocol=UDP).
netsh advfirewall firewall add rule name="OpenVPN" dir=in localport=1194 remoteport=0-65535 protocol=UDP action=allow remoteip=any localip=any
Configuring your Windows Firewall Rules

2. افتح ملف C:\Program Files\OpenVPN\config-auto\server.ovpn في محرر النص المفضل لديك لمعاينة محتواه، كما هو موضح أدناه.

ملف .ovpn هو ملف تكوين OpenVPN. يحتوي على جميع المعلومات التي يحتاجها OpenVPN للاتصال بشبكة VPN، مثل مفاتيح التشفير والمصادقة. لهذا البرنامج التعليمي، ستحتاج إلى ملف .ovpn لتكوين اتصالك بخادم VPN الخاص بك.

Edit your C:\Program Files\OpenVPN\config-auto\server.ovpn file.

أخيرًا، قم بتشغيل الأوامر التالية لإعادة تشغيل خدمة OpenVPN الخاصة بك لتطبيق التغييرات الخاصة بك.

net stop openvpnservice
net start openvpnservice
Restarting your OpenVPN service

تكوين عميلك

بالإضافة إلى تكوين الخادم الخاص بك للسماح بحركة مرور OpenVPN، ستحتاج أيضًا إلى تكوين العميل الخاص بك. في OpenVPN، يُعتبر العميل أي جهاز يتصل بشبكة الـ VPN. يستخدم هذا العرض التوضيحي نظام Windows 10 للاتصال بالخادم.

1. قم بتثبيت OpenVPN على عميلك كما فعلت في قسم “تثبيت OpenVPN على خادمك” ****.

2. انسخ الملفات المدرجة أدناه من خادمك إلى مجلد C:\Program Files\OpenVPN\config على عميلك.

C:\Program Files\OpenVPN\easy-rsa\pki\ca.cert
C:\Program Files\OpenVPN\easy-rsa\pki\issued\client.crt
C:\Program Files\OpenVPN\easy-rsa\pki\issued\client.key

3. أخيرًا، افتح ملف C:\Program Files\OpenVPN\config\client.ovpn واملأ الملف بالمحتوى أدناه. استبدل YOUR_OPENVPN_IP بعنوان IP الفعلي لخادمك ويندوز.

# اسم العميل هو اسم حسابك، لكن يمكنك اختيار الاسم المفضل لديك
client
# dev tun هو نوع اتصال VPN الذي تحتاجه، باستخدام اتصال إيثرنت.
dev tun
# البروتوكول (UDP) المستخدم في هذا الاتصال VPN
proto udp
# قم بتعيين عنوان IP لخادم OpenVPN الخاص بك.
# 1194 هو منفذ خادم OpenVPN الخاص بك.
remote YOUR_OPENVPN_IP 1194
# حل أسماء النطاقات عندما لا يتم العثور عليها،
# حتى لا ترى أخطاء "لم يتم العثور على النطاق".
resolv-retry infinite
# قم بتغيير القيمة من "nobind" إلى "sea" لقطع اتصال الإنترنت 
# عندما يتم قطع اتصال معرف VPN.
nobind
# سيتم حفظ مفتاح التشفير الخاص بك للمرة القادمة 
# التي تتصل فيها بخادم OpenVPN.
persist-key
# سيتم حفظ اتصال VPN الخاص بك للمرة القادمة التي تستخدمه.
persist-tun
# الشهادة التي يستخدمها خادم VPN الخاص بك للتعريف بنفسه لك (العميل).
# يمكنك تحميلها من خادم VPN الخاص بك.
ca ca.crt
# اسم شهادتك.
cert client01.crt
# اسم مفتاح التشفير الخاص بك.
key client01.key
# سيقوم ضغط بيانات LZO بضغط كتل بياناتك 
# قبل الإرسال حتى تكون البيانات أصغر وأسرع.
comp-lzo
# سيتم ضبط مستوى تفصيلية الإخراج الخاص بك إلى الحد الأقصى.
# حتى تحصل على أكبر قدر من المعلومات من اتصالك.
# هذه الميزة مفيدة عند محاولة تصحيح أخطاء اتصالك.
verb 3

اختبار اتصال VPN لعميلك

الآن بعد تثبيت وتكوين كل من الخادم والعميل، حان الوقت لاختبار ما إذا كان الاتصال بينهما يعمل بشكل صحيح.

على عميل Windows 10 الخاص بك، قم بتشغيل واجهة المستخدم الرسومية لـ OpenVPN.

Running the OpenVPN GUI

انقر بزر الماوس الأيمن على أيقونة حالة OpenVPN (شاشة مراقبة بأيقونة قفل) في منطقة الإشعارات، واختر الاتصال للاتصال بالعميل بخادم الـ VPN الخاص بك.

بمجرد أن يتم الاتصال بالعميل، تتحول أيقونة حالة OpenVPN إلى اللون الأخضر، وستتلقى إشعارًا يقول تم الآن الاتصال بالشبكة الافتراضية الخاصة، كما هو موضح أدناه.

Connecting to your VPN

للتحقق مرة أخرى، يمكنك ping خادم VPN الخاص بك باستخدام عنوان الـ IP المخصص (10.8.0.2).

ping [10.8.0.2](<http://10.8.0.2/>)

يؤكد الإخراج أدناه أن VPN الخاص بك يعمل كما هو مقصود.

pinging to your VPN server

الاستنتاج

في هذا البرنامج التعليمي، تعلمت الخطوات الصحيحة لتثبيت OpenVPN على خادم Windows. كما تعلمت تكوين خادم وعميل OpenVPN عبر ملف تكوين OpenVPN (.ovpn). في هذه النقطة، لديك الآن خدمة VPN تعمل بالكامل يمكنك استخدامها لتأمين اتصال الإنترنت الخاص بك لتصفح الويب بأمان.

الآن، لماذا لا توسع اتصال VPN الخاص بك إلى Amazon AWS VPC باستخدام بوابة VPN AWS VPC مع هذه المعرفة الجديدة؟

Source:
https://adamtheautomator.com/openvpn-on-window/